OpenGL半圆旋转和四分之一圆

OpenGL semicircular rotation and quarter circle

以下代码将使用 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();

现在我想知道如何更改此代码并使用此格式创建四分之一圆? 另外,是否可以使用这种格式而不使用 GLrotateEF 来旋转形状?

这里iradians中的角度。循环从 π 到 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);
}