我正在制作3D太阳能系统&我需要在3D视图中查看2D圆,这实际上是行星在其上移动的轨道。
glBegin(GL_LINE_LOOP);
for(int i =0; i <= 300; i++)
{
double angle = 2 * 3.1416 * i / 300;
double x = .12 * cos(angle);
double y = .12 * sin(angle);
glVertex2d(x,y);
glColor3f(1,1,1);
}
glEnd();
这是我用于查看Orbit的代码。如何在openGL C ++中将其作为3D视图?
答案 0 :(得分:1)
如果您要查找的是在3D坐标空间中创建顶点,则应使用:glVertex3d
或glVertex3f
。请注意,这些函数有3个参数,第一个参数是double
中顶点的xyz坐标,第二个参数是float
。
在您的轨道代码中,您应该生成一个额外的z
坐标以及您正在计算的x
和y
坐标。
答案 1 :(得分:0)
这是一个非常广泛的问题。我建议你看一下NeHe tutorials
设置3D窗口进行渲染后,设置模型视图矩阵以旋转轨道。
如果你真的想要创建点并将它们存储在旋转位置,你可以使用模型矩阵乘以你的3d变换点中的点数。