使用 GLU 在 C++ 中绘制四分之一圆
Drawing a quarter circle in c++ using GLU
// baseballField
glColor3f(0.22, 0.36, 0.20);
GLUquadricObj *myobject;
myobject = gluNewQuadric();
glTranslatef(120.0, 655.0, 0.0);
gluDisk(myobject, 0.0, 40.0, 60, 4);
我试图通过创建一个四分之一圆(最好是右上角四分之一)来模拟棒球场的形状。上面的代码成功地绘制了具有正确大小、位置和颜色的圆。但是,它是整个圆圈。如果有人有任何见解,请告诉我。提前致谢!
void gluDisk(
GLUquadric* quad,
GLdouble inner,
GLdouble outer,
GLint slices,
GLint loops);
磁盘围绕 z 轴细分为切片(如披萨切片)
尝试使用切片,我认为 2 表示半圆。
[edit] 也不要忘记循环。"and also about the z axis into rings (as specified by slices and loops, respectively)."
坚持使用 GLU 调用,您正在寻找的是 gluPartialDisk()
。对于四分之一圆:
gluPartialDisk(myobject, 0.0, 40.0, 60, 4, 0.0, 90.0);
最后两个参数指定起始角和扫描角,均以度为单位。
请注意,GLU 已被严重弃用,并且仅适用于旧版本的 OpenGL。有关显示如何使用更新版本的 OpenGL 绘制圆的示例代码,请参见我的回答示例:How to draw a circle using VBO in ES2.0.
// baseballField
glColor3f(0.22, 0.36, 0.20);
GLUquadricObj *myobject;
myobject = gluNewQuadric();
glTranslatef(120.0, 655.0, 0.0);
gluDisk(myobject, 0.0, 40.0, 60, 4);
我试图通过创建一个四分之一圆(最好是右上角四分之一)来模拟棒球场的形状。上面的代码成功地绘制了具有正确大小、位置和颜色的圆。但是,它是整个圆圈。如果有人有任何见解,请告诉我。提前致谢!
void gluDisk(
GLUquadric* quad,
GLdouble inner,
GLdouble outer,
GLint slices,
GLint loops);
磁盘围绕 z 轴细分为切片(如披萨切片)
尝试使用切片,我认为 2 表示半圆。
[edit] 也不要忘记循环。"and also about the z axis into rings (as specified by slices and loops, respectively)."
坚持使用 GLU 调用,您正在寻找的是 gluPartialDisk()
。对于四分之一圆:
gluPartialDisk(myobject, 0.0, 40.0, 60, 4, 0.0, 90.0);
最后两个参数指定起始角和扫描角,均以度为单位。
请注意,GLU 已被严重弃用,并且仅适用于旧版本的 OpenGL。有关显示如何使用更新版本的 OpenGL 绘制圆的示例代码,请参见我的回答示例:How to draw a circle using VBO in ES2.0.