2013-01-12 100 views
2

下面的代码为我绘制了一个三维球体对象的圆,在x和z坐标平面中。在C++中绘制圆圈

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。

+0

有两种方法可以绘制一个球体的一部分。你想要纵向绘图还是横向绘图?或两者? – user1118321

回答

0
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 
    } 
}