如何在 opengl 中画一个半圆
How do I draw an half Circle in opengl
我使用这种方法可以完美地绘制一个完整的圆圈(可能是我从内存中编写的代码文本中的拼写错误):
drawCircle(GLAutodrawble drawble){
GL gl = drawble.getGL();
gl.glTranslatef(0.0f,0.0f,-7.0f);
gl.glBeginf(GL_LINE_LOOP);
gl.glColorf(0.0f,0.0f,0.0);
final dobule PI = 3.141592654;
double angle = 0.0;
int points = 100;
for(int i =0; i < points;i++){
angle = 2 * PI * i / points;
gl.glVertexf((float)Math.cos(angle),(float)Math.sin(angle));
}
gl.glScalef(1.0f,1.0f,0.0f);
gl.glEnd();
}
我想使用相同的原则来制作半圆的方法,我不知道我应该如何处理cos罪的东西。谁能看看并帮助我。
感谢所有看问题的人!
替换 :
angle = 2 * PI * i / points;
跟:
angle = PI * i / points;
请注意,我删除了 2 乘数,因为 2*PI 是 360(以度为单位),这是一个完整的圆。PI(180度)是半个圆
更改此行:
angle = 2 * PI * i / points;
对此:
angle = 1 * PI * i / points;
画圆就像画一条线,将它们连接起来。并且这些点应该彼此靠得太近,以创建平滑的曲线。您可以使用以下代码在 OpenGL 中绘制一个半圆。
float PI = 3.14
float step=5.0;// How far is the next point i.e it should be small value
glBegin(GL_LINE_STRIP)
for(float angle=0.0f,angle<=180; angle+=step)
{
float rad = PI*angle/180;
x = centerX+radius*cos(rad);
y = centerY+radius*sin(rad);
glVertex(x,y,0.0f);
}
glEnd();
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何在 opengl 中画一个半圆
- 看起来我'当我用弧度把一个半圆分成四部分时,我没有得到一条直线
- Raphael JS -沿着它的路径动画一个半圆