opengl绘制五角星
时间: 2023-08-23 11:08:10 浏览: 119
opengl五角星绘制
以下是使用OpenGL绘制五角星的示例代码:
```c++
#include <GL/glut.h>
#include <math.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 1.0f, 1.0f);
glBegin(GL_LINE_LOOP);
for (int i = 0; i < 5; i++)
{
glVertex2f(sin(i*0.4*M_PI), cos(i*0.4*M_PI));
glVertex2f(0.5 * sin(i*0.4*M_PI + 0.2 * M_PI), 0.5 * cos(i*0.4*M_PI + 0.2 * M_PI));
}
glEnd();
glFlush();
}
int main(int argc, char ** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 400);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL Star");
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
在代码中,我们使用`glBegin(GL_LINE_LOOP)`和`glEnd()`函数包裹起来的代码块来绘制五角星。在循环中,我们使用`glVertex2f()`函数来指定五角星的每个顶点的坐标。由于五角星是一个几何图形,因此我们使用正弦和余弦函数计算每个顶点的坐标。我们还使用0.2 * M_PI来调整五角星的角度。最后,我们使用`glFlush()`函数将图形绘制到屏幕上。
阅读全文