计算机图形学程序.doc_第1页
计算机图形学程序.doc_第2页
计算机图形学程序.doc_第3页
计算机图形学程序.doc_第4页
计算机图形学程序.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

计算机图形学程序实验一#include #include const int n = 60;const GLfloat R = 0.2f;const GLfloat Pi = 3.1415926536f;void myDisplay(void)int i;glClear(GL_COLOR_BUFFER_BIT);/ glShadeModel(GL_FLAT);/ glShadeModel(GL_SMOOTH); /点glPointSize(2.0);glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glEnd(); /由闭合折线组成的圆glBegin(GL_LINE_LOOP);glColor3f(1.0,1.0,0.0);for(i=0; in; +i)glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i);glEnd(); /由不闭合折线组成的两个三角形构成的六星阵图glBegin(GL_LINE_STRIP);glColor3f(1.0,0.0,0.0);glVertex2f(0.0,0.2);glVertex2f(0.1732,-0.1);glVertex2f(-0.1732,-0.1);glVertex2f(0.0,0.2);glEnd(); glBegin(GL_LINE_STRIP);glVertex2f(0.0,-0.2);glVertex2f(0.1732,0.1);glVertex2f(-0.1732,0.1);glVertex2f(0.0,-0.2);glEnd(); /连续三角形组成的扇形glBegin(GL_TRIANGLE_FAN);glVertex2f(0.5,0.5);glVertex2f(0.5,1.0); glColor3f(0.8,0.2,0.5);glVertex2f(0.8,0.9); glColor3f(0.2,0.5,0.8);glVertex2f(0.9,0.8);glColor3f(0.8,0.5,0.2);glVertex2f(1.0,0.5);glEnd(); /虚线glLineWidth(3.0);glEnable(GL_LINE_STIPPLE);glLineStipple(2, 0x0F0F);glBegin(GL_LINES);glColor3f(0.0,0.0,1.0);glVertex2f(-0.5f, 1.0f);glColor3f(1.0,1.0,1.0);glVertex2f(-0.5f,-1.0f);glEnd(); /线glLineWidth(0.5);glDisable(GL_LINE_STIPPLE);glBegin(GL_LINES);glColor3f(1.0,0.0,0.0);glVertex2f(0.5f, 1.0f);glColor3f(1.0,1.0,1.0);glVertex2f(1.0f, 0.5f);glEnd(); glFlush(); int main(int argc, char *argv)glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);glutInitWindowPosition(0, 0);glutInitWindowSize(600, 600);glutCreateWindow(第一个OpenGL程序);glutDisplayFunc(&myDisplay);glutMainLoop();return 0; /*GL_POINTS 单个顶点集 GL_LINES 多组双顶点线段GL_POLYGON 单个简单填充凸多边形 GL_TRAINGLES 多组独立填充三角形 GL_QUADS 多组独立填充四边形 GL_LINE_STRIP 不闭合折线 GL_LINE_LOOP 闭合折线 GL_TRAINGLE_STRIP 线型连续填充三角形串 GL_TRAINGLE_FAN 扇形连续填充三角形串 GL_QUAD_STRIP 连续填充四边形串*/ 我的程序:#include #include const int n = 60;const GLfloat R = 0.2f;const GLfloat Pi = 3.1415926536f;void myDisplay(void)int i;glClear(GL_COLOR_BUFFER_BIT);/清除显示窗口函数/ glShadeModel(GL_FLAT);/ glShadeModel(GL_SMOOTH); /点glPointSize(6.0);/点大小glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glEnd(); /由闭合折线组成的圆glBegin(GL_LINE_LOOP);glColor3f(10.0,0.0,0.0);/颜色for(i=0; in; +i)glVertex2f(R*cos(2*Pi/n*i), R*sin(2*Pi/n*i);glEnd(); /由不闭合折线组成的两个三角形构成的六星阵图glBegin(GL_LINE_STRIP);glColor3f(5.0,5.0,0.0);/颜色glVertex2f(0.0,0.2);/起始点位置glVertex2f(0.1732,-0.1);glVertex2f(-0.1732,-0.1);glVertex2f(0.0,0.2);/结束点位置glEnd(); glBegin(GL_LINE_STRIP);glVertex2f(0.0,-0.2);/起始点位置glVertex2f(0.1732,0.1);glVertex2f(-0.1732,0.1);glVertex2f(0.0,-0.2);/结束点位置glEnd(); /连续三角形组成的扇形glBegin(GL_TRIANGLE_FAN);glVertex2f(0.08,0.08);glVertex2f(0.5,1.0); glColor3f(0.0,5.5,0.0);/颜色glVertex2f(0.8,0.9); glColor3f(0.0,0.0,3.0);glVertex2f(0.9,0.8);glColor3f(0.5,2.0,2.0);glVertex2f(1.0,0.5);glEnd(); /虚线glLineWidth(3.0);/线宽glEnable(GL_LINE_STIPPLE);glLineStipple(2, 0x0F0F);glBegin(GL_LINES);glColor3f(0.0,10.0,0.0);/颜色glVertex2f(-0.5f, 1.0f);glColor3f(0.0,0.0,1.0);/下部颜色glVertex2f(-0.5f,-1.0f);glEnd(); /线glLineWidth(0.1);/线宽glDisable(GL_LINE_STIPPLE);glBegin(GL_LINES);glColor3f(1.0,0.0,0.0);/线的颜色glVertex2f(0.5f, 1.0f);glColor3f(1.0,19.0,1.0);glVertex2f(1.0f, 0.5f);glEnd(); glFlush();/调用该函数可以强制清空所有缓存来处理OpenGL函数 int main(int argc, char *argv)glutInit(&argc, argv);/完成GLUT初始化glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);/初始化窗口的缓存为单缓存,颜色模型为RGBglutInitWindowPosition(0, 0);/初始位置 窗口最左上角glutInitWindowSize(600, 600);/窗口宽600像素高600像素glutCreateWindow(第一个OpenGL程序);/显示窗口标题glutDisplayFunc(&myDisplay);/显示函数glutMainLoop();/完成激活窗口处理函数return 0; /*GL_POINTS 单个顶点集 GL_LINES 多组双顶点线段G

温馨提示

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

评论

0/150

提交评论