利用OpenGL 绘制基本图元 五角星
更新时间:2023-12-09 12:41:01 阅读量: 教育文库 文档下载
实验1:利用OpenGL 绘制基本图元
1、 实验要求和目的:
a、 掌握vc++程序开发环境,熟悉OpenGL基本程序结构。 b、 掌握基本图元的绘制方法。
2、
实验内容:
a、 点、线、三角形、多边形的绘制
3、 实验步骤:
a、 OpenGL相关库文件的安装;
b、 新建工程,OpenGL相关.lib链接,.cpp文件中包含相关.h文件 c、 输入、调试、运行OpenGL绘制基本图元的程序。
d、 设计五角星(填充)及过渡色扇面(三角,四角)的生成算法的实现程序。
4、
实验代码
#include
voidmyDraw() {
glClear (GL_COLOR_BUFFER_BIT); glColor3f (0.0, 0.0, 1.0); glPointSize(1.0); /*
假设五角星外接圆半径为1,有一个角朝上,以五角星中心为原点: 则五个角顶点坐标分别为(按顺时针): A(0,1)
B(cos18°,sin18°)
C(cos54°,-sin54°) D(-cos54°,-sin54°) E(-cos18°,sin18°)
假设t为内部五边形外接圆半径,
t=(1+tan^2(18°))/(3-tan^2(18°)),即0.3819660112501 则五个顶点所对应的坐标为(即内部五边形的五个顶点):
BB(-t*cos18°,-t*sin18°)3 CC(-t*cos54°,t*sin54°) 2 DD(t*cos54°,t*sin54°) 1 AA(0,-t) 4 EE(t*cos18°,-t*sin18°)5 */
//up
glBegin(GL_TRIANGLES); // 绘制三角形 glVertex3f( 0.0f, 1.0f, 0.0f); // 上顶点
glVertex3f(0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0), 0.0f); // 1 glVertex3f(-0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0),0.0f); // 2 glEnd();
glColor3f (0.0, 1.0, 1.0); //left-up
glBegin(GL_TRIANGLES); // 绘制三角形
glVertex3f( -1.0f*cos(18*3.14/180.0), 1.0*sin(18*3.14/180.0), 0.0f); // glVertex3f(-0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0),0.0f);//2 glVertex3f(-0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); // 3 glEnd();
glColor3f (1.0, 0.0, 1.0); //left-down
glBegin(GL_TRIANGLES); // 绘制三角形
glVertex3f( -1.0f*cos(54*3.14/180.0), -1.0*sin(54*3.14/180.0), 0.0f); // glVertex3f(-0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); //3 glVertex3f(0.0,-0.38f, 0.0f); // 4 glEnd();
glColor3f (0.0, 1.0, 0.0); //right-down
glBegin(GL_TRIANGLES); // 绘制三角形
glVertex3f(1.0f*cos(54*3.14/180.0),-1.0f*sin(54*3.14/180.0), 0.0f); glVertex3f(0.0,-0.38f, 0.0f); // 4
glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); // 5
glEnd();
glColor3f (1.0, 0.4, 0.5); //right-up
glBegin(GL_TRIANGLES); // 绘制三角形
glVertex3f( 1.0f*cos(18*3.14/180.0), 1.0*sin(18*3.14/180.0), 0.0f); // glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); // 5 glVertex3f(0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0), 0.0f); // 1 glEnd();
glColor3f (0.5, 1.0, 1.0); glBegin(GL_POLYGON);
glVertex3f(0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0), 0.0f); // 1 glVertex3f(-0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0),0.0f); // 2 glVertex3f(-0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); //3 glVertex3f(0.0,-0.38f, 0.0f); // 4
glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); // 5 glEnd();
glFlush(); }
int main(intargc, char* argv[]) { glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(500, 500); glutInitWindowPosition(0,0);
glutCreateWindow(\ glutDisplayFunc(myDraw); glutMainLoop(); return 0; }
正在阅读:
利用OpenGL 绘制基本图元 五角星12-09
学校德育主任工作总结多篇精编06-02
高等数学7.8空间直线及其方程05-11
《血糖平衡的调节》教学反思08-01
助理辅导员工作计划01-05
四年级奥数第一讲(数列)12-04
大学 英语 词汇辨析 加强版05-18
建设工程施工技术资料目录06-04
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 图元
- 五角星
- 绘制
- 利用
- 基本
- OpenGL
- 计划重要性与审计风险习题及答案
- 浅谈幼儿挑食现象及其教师的指导策略
- 阀门制造有限公司压力管道元件制造许可质量手册实用 - 图文
- 人教版四年级上册语文-四字词语分类
- 国土资源知识试题A-B -
- 2016年12月大学英语四级考试真题(第三套)
- 云会计发展状况研究外文文献翻译最新译文
- 面向对象软件设计原则与建模
- 实验1创建数据库和表
- 京建法 2016 10号与808号对比
- 2018-2019年高中数学新课标人教A版《选修四》《选修4-4》《第一讲 坐标系》三 简单曲线的
- 仁爱英语七年级上册第四单元知识点(1)
- 2016年5月28日福建事业单位笔试真题和答案解析
- 在小班角色游戏中培养幼儿语言表达能力
- 1-9的乘法口诀整理与复习集体备课教案
- 南京市城市用地分类和代码标准2013 - 图文
- 浅析负债融资的财务风险与对策
- 平面任意力系习题
- 从几组镜头看本土户外区域活动中的幼儿核心素养-最新资料
- 热力学原理在化学中的应用