【问题标题】:OpenGL semicircular rotation and quarter circleOpenGL半圆旋转和四分之一圆
【发布时间】:2020-12-30 18:55:32
【问题描述】:

以下代码将使用 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 来旋转形状?

【问题讨论】:

    标签: c++ opengl draw


    【解决方案1】:

    这里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);
    }
    

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2016-04-27
      相关资源
      最近更新 更多