0

c ++とg3dを使用して単純な球を描画していますが、複数のオブジェクト/球を円形に配置する方法がわかりません。

for(i = 0.0f;i<1.4f;i+=0.2f){ 
    sphere->position = (Vector3(2,i,0));
}

どうすればこれを達成できますか?

4

1 に答える 1

1
// num_points is the number of points/objects in 
// the circle and coords is just the center location of where to draw
static void draw_circle_loop(float radius, int num_points, struct vector2d *coords)
{
    int i;
    float x, y;
    float angle;

    for (i = 0; i < num_points; i++)
    {
        angle = i * (2.0f * M_PI / num_points);
        x = coords->x + cosf(angle) * radius;
        y = coords->y + sinf(angle) * radius;
        glVertex2f(x, y);
    }
     glVertex2f(coords->x + radius, coords->y);
}

このようなことを試してください。呼び出す代わりに、glVertex2fそれらの座標を使用して物事を循環的に配置します。

于 2013-01-11T23:00:56.940 に答える