码迷,mamicode.com
首页 > 其他好文 > 详细

OpenGL绘制五角星

时间:2015-09-24 16:19:27      阅读:939      评论:0      收藏:0      [点我收藏+]

标签:

设五角星5个顶点分别为ABCDE,顶点到坐标轴原点距离为r,ABCDE各点用r表示,分别为

A(0,r);

B(-r*sin(2/5*Pi),r*cos(2/5*Pi));

C(-r*sin(Pi/5),-r*cos(Pi/5));

 

DE和CB关于Y轴对称。

技术分享

 

 

确定5个顶点的坐标后,使用GL_LINE_LOOP函数,将5个点连接起来,顺序依次为ACEBD。

主要代码为:

 1 void Star(void)
 2 {
 3 
 4     GLfloat r = 0.8f;
 5     GLfloat PointA[2] = { 0, r };
 6     GLfloat PointB[2] = { -r*sin(0.4*Pi), r*cos(0.4*Pi) };
 7     GLfloat PointC[2] = { -r*sin(Pi / 5), -r*cos(Pi / 5) };
 8     GLfloat PointD[2] = { r*sin(Pi / 5), -r*cos(Pi / 5) };
 9     GLfloat PointE[2] = { r*sin(0.4*Pi), r*cos(0.4*Pi) };
10 
11     glClear(GL_COLOR_BUFFER_BIT);
12 
13     glBegin(GL_LINE_LOOP);
14     glVertex2fv(PointA);
15     glVertex2fv(PointC);
16     glVertex2fv(PointE);
17     glVertex2fv(PointB);
18     glVertex2fv(PointD);
19 
20     glEnd();
21 
22     glFinish();
23 }

绘制成果如下:

技术分享

 

OpenGL绘制五角星

标签:

原文地址:http://www.cnblogs.com/SeekHit/p/4835462.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!