在OpenGL三维坐标中,怎么画圆呀?圆是平面的,但是处于三维空间中,怎么计算x、y、z坐标?
谢谢!

解决方案 »

  1.   

    类似这样的方程组
    (X-x0)^2+(Y-y0)^2 = r^2
    Z=z0
    x0,y0,z0,r都是常数.r是半径..圆心是(x0,y0,z0)空间解析几何.矢量搞明白了作图就不难.
      

  2.   

    拆解成一组三角形来显示也行opengl当中的‘体’同样也是用一组三角形来表示的这样就好理解了,他们都是统一的
      

  3.   

    用公式画出圆,再将圆在OpenGL的三维坐标系中沿X轴旋转30度,x,y,z怎么计算呢?
      

  4.   

    可以先glRotated(),再画xoy平面上的园,园上的点按“wjjssnew(手中无剑,心中有剑..脚趾甲被砸后长了才到一半) ”的公式计算,计算等分圆周的n个点。
    glBegin(GL_LINE_LOOP);
    {
    glNormal3d(?,?,?);
    glVertex3d(?,?,?);
    .............
    }
    glEnd();
      

  5.   

    基本上是像上面大家说的,你可以这样,先glPushMatrix,然后glLoadMatrixf自己的旋转阵,再把你的圆采样成多边形(看你要画多圆了),最后再glPopMatrix。
      

  6.   

    如果不用glRotated()而沿X轴旋转30度,x,y,z怎么计算呢?