利用OpenGL-绘制基本图元-五角星_第1页
利用OpenGL-绘制基本图元-五角星_第2页
利用OpenGL-绘制基本图元-五角星_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业实验1:利用OpenGL 绘制基本图元实验要求和目的:掌握vc+程序开发环境,熟悉OpenGL基本程序结构。掌握基本图元的绘制方法。实验内容:点、线、三角形、多边形的绘制实验步骤:OpenGL相关库文件的安装;新建工程,OpenGL相关.lib链接,.cpp文件中包含相关.h文件输入、调试、运行OpenGL绘制基本图元的程序。设计五角星(填充)及过渡色扇面(三角,四角)的生成算法的实现程序。实验代码#include #include #include #include

2、#include void myDraw() 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+tan2(18)/(3-tan2(18),即0.01则五个顶点所对应的坐标为(即内部五边形的五个顶点):BB(-t*cos18,-t*s

3、in18)3CC(-t*cos54,t*sin54) 2DD(t*cos54,t*sin54) 1AA(0,-t)4EE(t*cos18,-t*sin18)5*/upglBegin(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); / 1glVertex3f(-0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0),0.0f); / 2glEnd()

4、;glColor3f (0.0, 1.0, 1.0);/left-upglBegin(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);/2glVertex3f(-0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); / 3glEnd();glColor3f (1.0

5、, 0.0, 1.0);/left-downglBegin(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); /3glVertex3f(0.0,-0.38f, 0.0f); / 4glEnd();glColor3f (0.0, 1.0, 0.0);/right-downglBegin(GL_TRIANGLES); / 绘制

6、三角形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); / 4glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); / 5glEnd();glColor3f (1.0, 0.4, 0.5);/right-upglBegin(GL_TRIANGLES); / 绘制三角形glVertex3f( 1.0f*cos(18*3.14/180.0), 1.0*sin(18*3.14

7、/180.0), 0.0f); /glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); / 5glVertex3f(0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0), 0.0f); / 1glEnd();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); / 1glVertex3f(-

8、0.38f*cos(54*3.14/180.0),0.38f*sin(54*3.14/180.0),0.0f); / 2glVertex3f(-0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); /3glVertex3f(0.0,-0.38f, 0.0f); / 4glVertex3f(0.38f*cos(18*3.14/180.0),-0.38f*sin(18*3.14/180.0),0.0f); / 5glEnd();glFlush(); int main(int argc, char* argv) glutInit(&argc, argv);glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论