下面的代码在x和z坐标平面中为我绘制了一个3d球形对象的圆。

 double radiusCircle =0.5;
 double i;
 double j;

 for(i = 0.0f;i<6.0f;i+=0.2f){
     sphere1 = new Sphere;
     sphere1->position.x = radiusCircle *cos(i * (2.0 * 3.14) /6)+4;
     sphere1->position.z = radiusCircle *sin(i * (2.0 * 3.14) / 6 )+2;
 }

我也试图将它们堆叠在y轴上,但无法正确处理。我想知道是否有人可以帮助我做到这一点。

基本上,我想上面的代码画一个圆的30 sphere1,但我也想将其设置为4高。

最佳答案

 double radiusCircle =0.5;
 double i;
 double j;


for (y = 0; y < 4; y++) {
     for(i = 0.0f;i<6.0f;i+=0.2f){
         sphere1 = new Sphere;
         sphere1->position.x = radiusCircle *cos(i * (2.0 * 3.14) /6)+4;
         sphere1->position.z = radiusCircle *sin(i * (2.0 * 3.14) / 6 )+2;
         sphere1->position.y = sphere1.radius * 2 * y; // <-- assign position.y to the sphere height
     }
}

08-28 12:27