C++ OpenGL半圆旋转和四分之一圆

C++ OpenGL半圆旋转和四分之一圆,c++,opengl,draw,C++,Opengl,Draw,以下代码将使用openGL创建新的半圆形: glPointSize(2); glBegin(GL_POINTS); for (float i = p; i <= (2 * p); i += 0.001) { x = 50.0 * cos(i) + 20; y = 50.0 * sin(i) + 20; glVertex2f(x, y); } glEnd(); glPointSize(2); glBeg

以下代码将使用openGL创建新的半圆形:

    glPointSize(2);
    glBegin(GL_POINTS);
    for (float i = p; i <= (2 * p); i += 0.001) {
        x = 50.0 * cos(i) + 20;
        y = 50.0 * sin(i) + 20;
        glVertex2f(x, y);
    }
    glEnd();
glPointSize(2);
glBegin(总分);

for(float i=p;i这里
i
是角度。循环从π到2π-这是一个半圆(但它的后半部分-定义有点不清楚)

将其从0旋转到π/2。将圆旋转x度,将其转换为弧度并添加到角度

或者,您可以通过简单地定义圆的起点和终点,以角度绘制圆的一部分:

double start_angle = 30;
double stop_angle = 30 + 180;
for (double a = start_angle; a <= stop_angle; a += 0.001) {
    double a_rad = a / 180.0 * p;
    x = 50.0 * cos(a_rad) + 20;
    y = 50.0 * sin(a_rad) + 20;
    glVertex2f(x, y);
}
双启动角度=30;
双止动角=30+180;
对于(双a=起始角;a