openGL 五角星

来源:互联网 发布:项目管理 java开源 编辑:程序博客网 时间:2024/05/17 03:09
#include <GL/glut.h>#include <math.h>#include <iostream>using namespace std;/*AEBDC*/const GLfloat Pi = 3.1415926536f;void myDisplay(void){GLfloat a = 1 / (2 - 2 * cos(72 * Pi / 180));GLfloat bx = a * cos(18 * Pi / 180);GLfloat by = a * sin(18 * Pi / 180);GLfloat cy = -a * cos(18 * Pi / 180);GLfloatPointA[2] = { 0, a },PointB[2] = { bx, by },PointC[2] = { 0.5, cy },PointD[2] = { -0.5, cy },PointE[2] = { -bx, by };glClear(GL_COLOR_BUFFER_BIT);// 按照A->C->E->B->D->A的顺序,可以一笔将五角星画出glBegin(GL_LINE_LOOP);glVertex2fv(PointA);glVertex2fv(PointC);glVertex2fv(PointE);glVertex2fv(PointB);glVertex2fv(PointD);glEnd();glFlush();}int main(int argc, char *argv[]) {glutInit(&argc, argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowPosition(100,100);glutInitWindowSize(400, 400);glutCreateWindow("star");glutDisplayFunc(&myDisplay);glutMainLoop();return 0;}
<img src="http://img.blog.csdn.net/20160514191925447?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0
原创粉丝点击