计算机图形学三维对象的表示课件.ppt

计算机图形学三维对象的表示课件.ppt

ID:57034304

大小:1003.00 KB

页数:30页

时间:2020-07-27

计算机图形学三维对象的表示课件.ppt_第1页
计算机图形学三维对象的表示课件.ppt_第2页
计算机图形学三维对象的表示课件.ppt_第3页
计算机图形学三维对象的表示课件.ppt_第4页
计算机图形学三维对象的表示课件.ppt_第5页
资源描述:

《计算机图形学三维对象的表示课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1第6章三维对象的表示多面体OpenGL多面体函数曲面OpenGl曲面函数分形几何方法粒子系统2三维对象的表示图形场景包含多种不同类型的对象和材质表面可以用多边形、二次曲面、样条曲面、实体几何构造技术、分形结构、粒子系统等方法来表示三维对象实体表示方法通常分为两大类:边界表示和空间分区表示3多面体三维图形对象中运用边界表示的最普遍方式是使用一组包围对象内部的表面多边形为了用一组多边形面片描述一个对象,为覆盖对象表面的每一个对变形给出一组顶点。这些面片的顶点坐标和边的信息以及每一个多边形的表面法向量等其他信息

2、存入一张表中4OpenGL多面体函数OpenGL多边形填充函数使用OpenGL图元常量GLUT规则多面体函数在GLUT中有10个函数用来生成规则多面体,5个生成线框图,另外5个以浓淡填充区方式显示多面体面片5OpenGL几何绘图图元GL_POINTS独立的点GL_LINES将每对顶点视为一条线段GL_LINE_STRIP一系列相连的线段GL_LINE_LOOP同上,同时在第一个和最后一个顶点之间绘制一条线段GL_TRIANGLES将每3个顶点视为一个三角形GL_TRIANGLE_STRIP三角形条带GL_T

3、RIANGLE_FAN三角形扇GL_QUADS将每4个顶点视为一个四边形GLQUAD_STRIP四边形条带GL_POLYGON简单的凸多边形6GLUT规则多面体函数函数线框描述面片描述四面体glutWireTetrahedron()glutSolidTetrahedron()六面体glutWireCube()glutSolidCube()八面体glutWireOctahedron()glutSolidOctahedron()十二面体glutWireDodecahedron()glutSolidDodecah

4、edron()二十面体glutWireIcosahedron()glutSolidIcosahedron()7GLUT规则多面体函数8程序示例-1#includeGLsizeiwinWidth=500,winHeight=500;voidinit(void){glClearColor(1.0,1.0,1.0,0.0);}9程序示例-2voiddisplayWirePolyhedra(void){glClear(GL_COLOR_BUFFER_BIT);glColor3f(0.0,0.0,1.

5、0);gluLookAt(5.0,5.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);glScalef(1.5,2.0,1.0);glutWireCube(1.0);glScalef(0.8,0.5,0.8);glTranslatef(-6.0,-5.0,0.0);glutWireDodecahedron();10程序示例-3glTranslatef(8.6,8.6,2.0);glutWireTetrahedron();glTranslatef(-3.0,-1.0,0.0);glutWireO

6、ctahedron();glScalef(0.8,0.8,1.0);glTranslatef(4.3,-2.0,0.5);glutWireIcosahedron();glFlush();}11程序示例-4voidwinReshapeFcn(GLintnewWidth,GLintnewHeight){glViewport(0,0,newWidth,newHeight);glMatrixMode(GL_PROJECTION);glFrustum(-1.0,1.0,-1.0,1.0,2.0,20.0);glMat

7、rixMode(GL_MODELVIEW);glClear(GL_COLOR_BUFFER_BIT);}12程序示例-5voidmain(intargc,char*argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE

8、GLUT_RGB);glutInitWindowPosition(100,100);glutInitWindowSize(winWidth,winHeight);glutCreatWindow("Wire-FramePolyhed

9、ra");init();glutDisplayFunc(displayWirePolyhedra);glutReshapeFunc(winReshapeFcn);glutMainLoop();}13二次曲面球面椭球面环面14OpenGL二次曲面和三次曲面函数使用OpenGL实用工具包(GLUT)和实用库(GLU)中的函数可以显示一个球面和其他一些三维的二次曲面对象。GLUT有一个函数用来显示由双三次曲面片定义的茶

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。