求围绕原点逐次得到平面坐标系上n个坐标值的算法!

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:23:31
即从原点(0,0)给定一增量例如1,开始依次得到坐标(1,0),(1,1),(0,1),(-1,1),(-1,0),(-1,-1),(0,-1),(1,-1),(2,-1),(2,0),(2,1),(2,2),(1,2)(0,2)依次逆时针下去得到n个节点的坐标值。
我说的是依次得到这些坐标值

我自己编了一个
main()
{
int i,j,n,m;
clrscr();
printf("Please input the increment:\n");
scanf("%d",&n);
printf("Please input the amount of outputing:\n");
scanf("%d",&m);
clrscr();
for(i=n,j=1;j<=m;i=i+n,j++)
{
printf("(%d,0)\t",j);
printf("(%d,%d)\t",j,j);
printf("(0,%d)\t",j);
printf("(-%d,%d)\t",j,j);
printf("(-%d,0)\t",j);
printf("(-%d,-%d)\t",j,j);
printf("(0,%d)\t",j);
printf("(%d,-%d)\n",j,j);
}
getch();
}

首先不管是什么增量都能映射到1上

然后每一圈的个数就是一个等差数列。这样很容易就能知道n在第几圈的第几个

--

每圈都是被平分作单一逻辑的四等份。这个问题整体逻辑非常单一... 于是你卡在哪儿了?