计算机图形学图形的表示与数据结构.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机图形学图形的表示与数据结构.ppt》由会员分享,可在线阅读,更多相关《计算机图形学图形的表示与数据结构.ppt(98页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1o如如何何在在计算算机机中中建建立立恰恰当当的的模模型型表表示示不不同同图形形对象。象。o如如何何组织图形形对象象的的描描述述数数据据以以使使存存储这些些数数据据所所要要的的空空间最最省省,检索索、处理理这些些数数据据的的速速度度较快。快。第四章第四章 图形的表示与数据结构图形的表示与数据结构2o基本概念基本概念o三三维形体的表示形体的表示o非非规则对象的表示象的表示o层次建模次建模图形的表示与数据结构图形的表示与数据结构3o造型技造型技术o基本基本图形元素形元素o几何信息与拓扑信息几何信息与拓扑信息o坐坐标系系o实体的定体的定义o正正则集合运算集合运算o欧拉公式欧拉公式4.1 4.1 基本
2、概念基本概念4o把把研研究究如如何何在在计算算机机中中建建立立恰恰当当的的模模型型表表示示不不同同图形形对象的技象的技术称称为造型技造型技术。o有两有两类图形形对象:象:规则对象象:几几何何造造型型、几几何何模模型型(几几何何信信息息和拓扑信息和拓扑信息)。不不规则对象:象:过程式模程式模拟。基本概念基本概念造型技术造型技术5基本概念基本概念基本图形元素基本图形元素p基本基本图形元素形元素:图素或素或图元、体素。元、体素。p图素素是指可以用一定的几何参数和属性参数描是指可以用一定的几何参数和属性参数描述的最基本的述的最基本的图形形输出元素(包括点、出元素(包括点、线、面、面、环、体等)。、体等
3、)。p在二在二维图形系形系统中将基本中将基本图形元素称形元素称为图素或素或图元,在三元,在三维图形系形系统中称中称为体素。体素。o1、点:、点:为0维几何元素,是形体最基本的元素,自由曲几何元素,是形体最基本的元素,自由曲线、曲面或其他形体均可用有序的点集来表示。点集及、曲面或其他形体均可用有序的点集来表示。点集及其其连接关系的存接关系的存储。o2、线:一:一维几何元素,是两个几何元素,是两个邻面或多个面或多个邻面的交界面的交界o3、面:二、面:二维几何元素,是形体上一个有限、非零的区域,几何元素,是形体上一个有限、非零的区域,由一个外由一个外环和若干内和若干内环界定其范界定其范围。具有方向性
4、,由其。具有方向性,由其外法外法线矢量方向定矢量方向定义。o4、环:有序、有向:有序、有向边组成的面的封成的面的封闭边界。(外界。(外环中其中其边逆逆时针排序,内排序,内环顺时针排序)排序)o5、体:三、体:三维几何元素,由封几何元素,由封闭表面表面围成的空成的空间。7o图形信息与非形信息与非图形信息形信息n几何信息几何信息:形体在欧氏空:形体在欧氏空间中的位置和大小。中的位置和大小。n拓拓扑扑信信息息:形形体体各各分分量量(点点、边、面面)的的数数目目及其相互及其相互间的的连接关系。接关系。基本概念基本概念几何信息与拓扑信息几何信息与拓扑信息图图4.1 4.1 拓扑信息拓扑信息9o刚体体运运
5、动:不不改改变图形形上上任任意意两两点点间的的距距离离,也不改也不改变图形的几何性形的几何性质的运的运动。o拓拓扑扑运运动:允允许形形体体作作弹性性运运动,即即在在拓拓扑扑关关系系中中,对图形形可可随随意意地地伸伸张扭扭曲曲。但但图上上各各个个点点仍仍为不不同同的的点点,决决不不允允许把把不不同同的的点点合合并并成成一个点。一个点。基本概念基本概念几何信息与拓扑信息几何信息与拓扑信息10o建建模模坐坐标系系(ModelingCoordinateSystem)(局局部部坐坐标系)系)o用用户坐坐标系(全局坐系(全局坐标系、世界坐系、世界坐标系)系)o观察察坐坐标系系(ViewingCoordin
6、ateSystem)(指指定定裁裁剪剪空空间、定定义投投影影平平面面,将将用用户坐坐标转换成成规格格化化的的设备坐坐标)o规格格化化设备坐坐标系系(Normalized Device coordinateSystem)(定)(定义视图区)区)o设备坐坐标系系(DeviceCoordinateSystem)(图形形输入入/输出的出的设备坐坐标系,如屏幕等)系,如屏幕等)基本概念基本概念坐标系坐标系11基本概念基本概念实体实体图图4.2 4.2 带有悬挂边的立方体带有悬挂边的立方体o客客观存在的三存在的三维形体的形体的5条性条性质:n刚性:一个物体必性:一个物体必须具有一定的形状具有一定的形状n维
7、数的一致性:三数的一致性:三维空空间种,一个物体的各部分均种,一个物体的各部分均应是三是三维的,不能有的,不能有悬挂的或孤立挂的或孤立边界界n占据有限的空占据有限的空间(体(体积有限)有限)n边界的确定性(根据物体的界的确定性(根据物体的边界可以确定物体内部与界可以确定物体内部与外部)外部)n封封闭性(性(经过一系列一系列刚体运体运动及任意序列的集合运算及任意序列的集合运算后,依然是有效的物体)后,依然是有效的物体)三三维空空间中的物体是一个内部中的物体是一个内部连通的三通的三维点集。点集。o三三维物体表面必物体表面必须具有以下具有以下5条性条性质:n连通性:位于物体表面上的任意两个点都可用通
8、性:位于物体表面上的任意两个点都可用实体表体表面上的一条路径面上的一条路径连接起来。接起来。n有界性:物体表面可将空有界性:物体表面可将空间分分为互不互不连通的两部分,通的两部分,其中一部分是有界的其中一部分是有界的n非自相交性:物体的表面不能自相交非自相交性:物体的表面不能自相交n可定向性:物体表面的两可定向性:物体表面的两侧可明确定可明确定义出属于物体的出属于物体的内内侧或外或外侧n闭合性:物体表面的合性:物体表面的闭合性是由表面上多合性是由表面上多边形网格各形网格各元素的拓扑关系决定的,即每一条元素的拓扑关系决定的,即每一条边有且只有两个有且只有两个顶点;每一条点;每一条边连接来年各个或
9、两个以上的面。接来年各个或两个以上的面。14o点点的的领域域:如如果果P是是点点集集S的的一一个个元元素素,那那么么点点P的的以以R(R0)为半半径径的的领域域指指的的是是围绕点点P的的半半径径为R的的小小球球(二(二维情况下情况下为小小圆)。)。o开开集集的的闭包包:是是指指该开开集集与与其其所所有有边界界点点的的集集合合并并集集,本本身身是是一一个个闭集集。(三三维物物体体的的点点的的集集合合可可以以分分为内内部部点点和和边界点来那个部分)界点来那个部分)o正正则集集:由内部点构成的点集的:由内部点构成的点集的闭包就是正包就是正则集,三集,三维空空间的正的正则集就是正集就是正则形体。也就是
10、三形体。也就是三维有效物体有效物体 基本概念基本概念实体(点集拓扑学的角度)实体(点集拓扑学的角度)15基本概念基本概念实体实体o组成三维物体的点的集合可以分为两类:组成三维物体的点的集合可以分为两类:n内部点为点集中的这样一些点,它们具有完内部点为点集中的这样一些点,它们具有完全包含于该点集的充分小的领域。全包含于该点集的充分小的领域。n边界点:不具备此性质的点集中的点。边界点:不具备此性质的点集中的点。16基本概念基本概念实体实体o定义点集的正则运算定义点集的正则运算r运算为:运算为:o正正则则运运算算即即为为先先对对物物体体取取内内点点再再取取闭闭包包的的运运算算。rA称为称为A的正则集
11、。的正则集。17基本概念基本概念实体实体图图4.3 4.3 实体的例子实体的例子18图图4.4 4.4 正则形体正则形体基本概念基本概念实体实体19o二二维流流形形指指的的是是对于于实体体表表面面上上的的任任意意一一点点,都都可可以以找找到到一一个个围绕着着它它的的任任意意小小的的领域域,该领域与平面上的一个域与平面上的一个圆盘是拓扑等价的。是拓扑等价的。基本概念基本概念实体实体图图4.5 4.5 正则形体正则形体20o实体体:对于于一一个个占占据据有有限限空空间的的正正则形形体体,如如果其表面是二果其表面是二维流形,流形,则该正正则形体形体为实体体。基本概念基本概念实体实体21p有效有效实体
12、的封体的封闭性。性。p把把能能够产生生正正则形形体体的的集集合合运运算算称称为正正则集集合合运运算。算。基本概念基本概念正则集合运算正则集合运算22图图4.6 集合运算与正则集合运算集合运算与正则集合运算基本概念基本概念正则集合运算正则集合运算23图图4.7 基于点的领域概念生成正则形体基于点的领域概念生成正则形体基本概念基本概念正则集合运算正则集合运算图图4.8 正则集合运算正则集合运算A*B,A*B,A*B的结果(实线表示结果形体的边界)的结果(实线表示结果形体的边界)25基本概念基本概念平面多面体与欧拉公式平面多面体与欧拉公式o欧欧拉拉公公式式证明明简单多多面面体体的的顶点点数数V、边数
13、数E和和面面数数F满足足如如下下关关系系:V-E+F=2。(简单多多面面体体指指那那些些经过连续的的几几何何形形变可可以以变换成成一一个个球球的的多多面面体体,即即与与球球拓拓扑扑等等价价的的那那些多面体)些多面体)o非非简单多多面面体体需需对欧欧拉拉公公式式加加以以扩展展。令令H表表示示多多面面体体表表面面上上孔孔的的个个数数,G表表示示贯穿穿多多面面体体的的孔孔的的个个数数,C表表示示独独立立的的、不不相相连接接的的多多面面体体数数,则扩展展后后的的欧欧拉拉公公式式为:V-E+F-H=2(C-G)。)。26基本概念基本概念平面多面体与欧拉公式平面多面体与欧拉公式图图4.9 平面多面体与欧拉
14、公式平面多面体与欧拉公式27o线框框模模型型与与实体体模模型型(线框框模模型型由由定定义一一个个物物体体边界的直界的直线和曲和曲线组成)成)o可以将可以将实体模型的表示大致分体模型的表示大致分为三三类:n边界界表表示示(用用一一组曲曲面面(或或平平面面)来来描描述述物物体体,这些曲面将物体分些曲面将物体分为内部和外部内部和外部)n构造构造实体几何表示体几何表示n空空间分分割割(将将包包含含物物体体的的空空间划划分分成成一一组非非常常小的非重叠的小的非重叠的连续实体)表示体)表示4.2 4.2 三维形体的表示三维形体的表示28o多多边边形形表表面面模模型型(使使用用一一组组包包围围物物体体内内部
15、部的的平平面面多边形来描述实体)多边形来描述实体)o扫描表示扫描表示o构造实体几何法构造实体几何法o空间位置枚举表示空间位置枚举表示o八叉树八叉树oBSP树树oOpenGL中的实体模型函数中的实体模型函数三维形体的表示三维形体的表示29o边界界表表示示(B-reps)的的最最普普遍遍方方式式是是多多边形形表表面面模模型型,它它使使用用一一组包包围物物体体内内部部的的平平面面多多边形形,也也即即平平面面多多面面体体,来来描描述述实体体。需需要要设计有有效效的的数数据据结构构来来处理理面、面、边、点、点多边形表面模型多边形表面模型图图4.10 4.10 四面体及其点、边、面的关系四面体及其点、边、
16、面的关系30多边形表面模型多边形表面模型数据结构数据结构o几何信息(几何表)几何信息(几何表)n建建立立3张张表表:顶顶点点表表、边边表表和和多多边边形形表表来来存存储几何数据。储几何数据。n实实体体模模型型中中,用用多多边边形形顶顶点点坐坐标标值值以以及及多多边边形形所所在在平平面面方方程程方方式式保保存存实实体体单单个个表表面面部部分分的空间方向信息的空间方向信息31多边形表面模型多边形表面模型数据结构数据结构o拓拓扑扑信信息息:翼翼边结构构表表示示(WingedEdgesStructure)图图4.11 4.11 翼边结构表示翼边结构表示32多边形表面模型多边形表面模型数据结构数据结构o
17、属性信息属性信息 用用属属性性表表来来存存储储多多边边形形面面的的属属性性,指指明明物物体体透透明明度及表面反射度的参数和纹理特征等等。度及表面反射度的参数和纹理特征等等。实体测试条件:实体测试条件:1)每个顶点至少是两条边的端点)每个顶点至少是两条边的端点2)每条边至少是一个多边形的部分)每条边至少是一个多边形的部分3)每个多边形式封闭的)每个多边形式封闭的4)每个多边形至少有一条公共边)每个多边形至少有一条公共边5)如如果果多多边边形形表表包包含含指指向向多多边边形形边边的的指指针针,则则每每一一个个被指针指向的边有一个逆指针指回到多边形被指针指向的边有一个逆指针指回到多边形33o多多边形
18、形网网格格:三三维形形体体的的边界界通通常常用用多多边形形网网格格(polygonmesh)的的拼拼接接来来模模拟。(三三角角形和四形和四边形)形)o例子例子多边形表面模型多边形表面模型图图4.12 4.12 三角形带与四边形网格三角形带与四边形网格34o扫描描表表示示法法(sweep representation)可可以以利利用用简单的运的运动规则生成有效生成有效实体。体。o包含两个要素包含两个要素n一是作一是作扫描运描运动的基本的基本图形(截面);形(截面);n二是二是扫描运描运动的方式(平移、旋的方式(平移、旋转、对称称变换)。)。扫描表示(扫描表示(sweep representati
19、onsweep representation)35o构构造造实体体几几何何法法(CSG,ConstructiveSolidGeometry)由由两两个个实体体间的的并并、交交或或差差操操作作生成新的生成新的实体。体。构造实体几何法构造实体几何法图图4.13 4.13 构造实体几何法构造实体几何法36o在在构构造造实体体几几何何法法中中,集集合合运运算算的的实现过程程可可以用一棵二叉以用一棵二叉树(称(称为CSG树)来描述。)来描述。n树的叶子是基本体素或是几何的叶子是基本体素或是几何变换参数;参数;n树的的非非终端端结点点是是施施加加于于其其子子结点点的的正正则集集合合算算子子(正正则并并、正
20、正则交交和和正正则差差)或或几几何何变换的定的定义。构造实体几何法构造实体几何法37图图4.14 4.14 由由CSG树产生二维形体的实例树产生二维形体的实例38o优点点:如如果果体体素素设置置比比较齐全全,通通过集集合合运运算算就可以构造出多种不同的符合需要的就可以构造出多种不同的符合需要的实体。体。o缺缺点点一一:集集合合运运算算的的中中间结果果难以以用用简单的的代代数方程表示,求交困数方程表示,求交困难。o缺缺点点二二:CSG树不不能能显式式地地表表示示形形体体的的边界界,因而无法直接因而无法直接显示示CSG树表示的形体。表示的形体。构造实体几何法构造实体几何法39o解决:光解决:光线投
21、射算法投射算法构造实体几何法构造实体几何法图图4.15 4.15 光线投射算法光线投射算法(实体实体A B取取ad,实体,实体AB则取则取cb,实体实体A-B则取则取ab)40o空空间位位置置枚枚举表表示示法法将将包包含含实体体的的空空间分分割割为大大小小相相同同、形形状状规则(正正方方形形或或立立方方体体)的的体素,然后,以体素的集合来表示体素,然后,以体素的集合来表示图形形对象。象。n二二维情况,常用二情况,常用二维数数组存放。存放。n三三维情况下,常用三情况下,常用三维数数组pijk来存放。来存放。空间位置枚举表示空间位置枚举表示41o八八叉叉树(octreesoctrees)又又称称为
22、分分层树结构构,它它对空空间进行行自自适适应划划分分,采采用用具具有有层次次结构构的的八八叉叉树来表示来表示实体。体。八叉树八叉树42八叉树八叉树四叉树四叉树图图4.16 4.16 二维图的四叉树表示二维图的四叉树表示43八叉树八叉树图图4.17 4.17 三维空间分成八个卦限及其节点表示三维空间分成八个卦限及其节点表示44o二二 叉叉 空空 间 分分 割割(Binary Space Partitioning,BSP)树方方法法是是一一种种类似似于于八八叉叉树的的空空间分分割割方方法法,它它每每次次将将一一实体体用用任任一一位位置置和和任任一一方方向向的的平平面面分分为二二部部分分(不不同同于
23、于八八叉叉树方方法法的的每每次次将将实体体用用平平行行于于笛笛卡卡尔坐坐标平面的三个两两垂直的平面分割)。平面的三个两两垂直的平面分割)。BSP树树45oGLUT库中的多面体函数中的多面体函数OpenGL中的实体模型函数中的实体模型函数函数说明glutSolidTetrahedron()glutWireTetrahedron()绘制中心位于世界坐标系原点的实心四面体和线框四面体,四面体的半径为 。glutSolidCube(size)glutWireCube(size)绘制中心位于世界坐标系原点的实心立方体和线框立方体,立方体的半径为size,size是一个双精度浮点值。glutSolidOc
24、tahedron()glutWireOctahedron()绘制中心位于世界坐标系原点的实心八面体和线框八面体,八面体的半径为1.0。glutSolidDodecahedron()glutWireDodecahedron()绘制中心位于世界坐标系原点的实心12面体和线框12面体,12面体的半径为 。glutSolidIcosahedron()glutWireIcosahedron()绘制中心位于世界坐标系原点的实心20面体和线框20面体,20面体的半径为1.0。表表4.1 4.1 GLUT生成规则多面体的函数生成规则多面体的函数46oGLUT库中的二、三次曲面中的二、三次曲面n绘制制实体或体或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 图形 表示 数据结构
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内