如何在opengl中绘制具有给定起点的弧线?
How to draw an arc with given starting point in opengl?
我想用opengl画一个弧线。弧应从特定点开始,并在给定点结束。给出半径、弧心和弧长、起始角和结束角。 我尝试了以下功能:
for (double theta = start_angle1; theta < end_angle1; theta += angle_increment)
{
glVertex2f((arcCenX+ r * sinf(theta)),(arcCenY+ r * cosf(theta)));
}
这个函数正确地给出了弧,但弧的起点是不同的。 如何指定弧的起点?
编辑:我也试过这个
for ( angleIndex = 0; angleIndex < arc_len; angleIndex = angleIndex+arcSegmentIndex )
{
glVertex2f((x + ( cosf( start_angle1 + angleIndex ) )* r),
(y + ( sinf( start_angle1 + angleIndex ) )* r));
}
但它也不起作用。
它应该是
glVertex2f((arcCenX+ r * cosf(theta)),(arcCenY+ r * sinf(theta)));
它基本上是圆的参数方程,所以
x = r cos(0)
y = r sin(0)
其中"r"是圆的半径。您交换了x和y坐标,也许这就是导致问题的原因。
编辑:- 为了清除它,弧的起点取决于您输入的第一个θ值。 因此,例如,如果进入θ的第一个值是90度,那么弧从圆心正上方开始,距离r。
相关文章:
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 了解 GLM- openGL 中的相机转换
- 如何在全屏模式下(在OpenGL中)使背景透明
- 为什么我不能使用 EGL 创建无头 OpenGl 上下文?
- OpenGL大的3D纹理(>2GB)非常慢
- OpenGl glm rotate
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- OpenGL在启用深度测试时不会丢弃我的碎片
- OpenGL相机和相机空间转型的困惑
- OpenGL将纹理四边形渲染为(0,0)
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 发布旋转矩阵(openGL/glm)
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- OpenGL 16 位模板缓冲区?
- 将QOpenGLWidget子类转换为使用Metal而不是OpenGL的子类是否可行?
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- 是否可以在 OpenGL 中的同一调用中呈现两个具有不同索引起点的不同缓冲区?
- 如何在opengl中绘制具有给定起点的弧线?