资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,2,第6章 三维对象的表示,多面体 OpenGL多面体函数 曲面 OpenGl曲面函数 分形几何方法 粒子系统,3,三维对象的表示,图形场景包含多种不同类型的对象和材质表面 可以用多边形、二次曲面、样条曲面、实体几何构造技术、分形结构、粒子系统等方法来表示三维对象 实体表示方法通常分为两大类:边界表示和空间分区表示,4,多面体,三维图形对象中运用边界表示的最普遍方式是使用一组包围对象内部的表面多边形 为了用一组多边形面片描述一个对象,为覆盖对象表面的每一个对变形给出一组顶点。这些面片的顶点坐标和边的信息以及每一个多边形的表面法向量等其他信息存入一张表中,5,OpenGL多面体函数,OpenGL多边形填充函数 使用OpenGL图元常量 GLUT规则多面体函数 在GLUT中有10个函数用来生成规则多面体,5个生成线框图,另外5个以浓淡填充区方式显示多面体面片,6,OpenGL几何绘图图元,7,GLUT规则多面体函数,8,GLUT规则多面体函数,9,程序示例-1,#include GLsizei winWidth = 500, winHeight = 500; void init(void) glClearColor(1.0,1.0,1.0,0.0); ,10,程序示例-2,void displayWirePolyhedra(void) glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0,0.0,1.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();,11,程序示例-3,glTranslatef(8.6,8.6,2.0); glutWireTetrahedron(); glTranslatef(-3.0,-1.0,0.0); glutWireOctahedron(); glScalef(0.8,0.8,1.0); glTranslatef(4.3,-2.0,0.5); glutWireIcosahedron(); glFlush(); ,12,程序示例-4,void winReshapeFcn(GLint newWidth,GLint newHeight) glViewport(0,0,newWidth,newHeight); glMatrixMode(GL_PROJECTION); glFrustum(-1.0,1.0,-1.0,1.0,2.0,20.0); glMatrixMode(GL_MODELVIEW); glClear(GL_COLOR_BUFFER_BIT); ,13,程序示例-5,void main(int argc,char* argv) glutInit( ,14,二次曲面,球面 椭球面 环面,15,OpenGL二次曲面和三次曲面函数,使用OpenGL实用工具包(GLUT)和实用库(GLU)中的函数可以显示一个球面和其他一些三维的二次曲面对象。 GLUT有一个函数用来显示由双三次曲面片定义的茶壶形体 每一个GLUT函数都有两个版本:线框曲线和填充多边形面片,16,GLUT二次曲面函数,17,柔性对象,在计算机应用中开发了对非刚体对象建模的多种技术 有些对象在一定的运动或在接近其他对象时会改变他们的表面形状,且他们的曲面表面很难用常规形状表示,这一类对象一般称为柔性对象,18,描述柔性对象,19,样条表示,在绘图术语中,样条是通过一组指定点集而生成平滑曲线的柔性带 在计算机图形学中,样条曲线指由多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件 样条用于设计曲线和曲面形状,将绘制的图形数字化以及指定场景中对象的动画路径或照相机位置。,20,扫描表示法,扫描表示通过平移、旋转及其他对称变换来构造三维对象 通过指定一个二维形状以及在空间区域内移动该形状的扫描可以表示该对象 可以将一组二维基本图形,如圆和矩形等作为菜单选项来提供扫描表示,21,22,结构实体几何法,实体建模的另一种技术是使用几何操作来组合两个三维对象。这种建模方法称为结构实体几何法,通过指定对象间的并、交或差操作而生成一个新对象。,23,分形几何方法,分形几何法可以用来真实的描述自然景物,使用过程而不是使用方程来对对象进行建模 分形对象有两个特征:每点上具有无限的细节以及对象局部和整体特性之间的自相似性,24,粒子系统,对于某些应用,常使用称为粒子系统的一组不相连部分的集合来描述一个或多个对象 该方法尤其擅长描述随时间变化的流体性质对象,25,粒子系统,在一般的应用中,粒子系统在某个空间区域定义,然后应用随机过程而改变系统参数。这些参数包括单个粒子的运动路径及它们的颜色和形状。 粒子形状可以是小球、椭球、立方体或其他形状,粒子的大小和形状随时间变化。其他性质如透明度、颜色和移动都随机变化,26,野外场景清华大学,27,真实感云日本,28,真实感云日本,29,挪威云杉,30,基于物理的方法,非刚性对象,如绳、布或软橡皮可以使用基于物理的建模方法进行表示。 此方法描述了物体在内外力相互作用下的行为 模拟非刚体对象的一个普遍方法,是用一组网络节点来逼近对象,而且节点间带有柔性连接。一个简单的连接类型是弹簧。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号