我一直试图以递增的半径顺序绘制一个球体网格(上面的图像链接)但是我尝试过的所有循环都失败了。我在下面做了一个循环,因为我想到x的一个值,y值递增并完全绘制,然后x递增,整个过程重复。但那不起作用。我应该做些什么改变?
'一个'是属于类的变量,包含球体的坐标和半径。
a.x = -500, a.y = -500, a.z = 0, a.r=0;
for (int i = 0; i < 500; i++, a.x += 30, a.r++)
for (int j = 0; j < 10; j++, a.y += 30, a.r++)
drawSphere(a.x + (2 * a.r), a.y, a.z, a.r);
答案 0 :(得分:1)
导出值而不是试图操纵某种计数器:
for (int i = 0; i < 500; i++)
for (int j = 0; j < 10; j++)
drawSphere(a.x + i * 30, a.y + j * 30, a.z, a.r + i + j);
“作为函数”是一个数学术语,意味着您需要的x
的最终值可以从a.x
和i
值计算,不需要其他输入。这是有效的:
x = a.x + i * 30