3D数学基础第14章三角网格课件

上传人:飞*** 文档编号:48497195 上传时间:2018-07-16 格式:PPT 页数:36 大小:3.69MB
返回 下载 相关 举报
3D数学基础第14章三角网格课件_第1页
第1页 / 共36页
3D数学基础第14章三角网格课件_第2页
第2页 / 共36页
3D数学基础第14章三角网格课件_第3页
第3页 / 共36页
3D数学基础第14章三角网格课件_第4页
第4页 / 共36页
3D数学基础第14章三角网格课件_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《3D数学基础第14章三角网格课件》由会员分享,可在线阅读,更多相关《3D数学基础第14章三角网格课件(36页珍藏版)》请在金锄头文库上搜索。

1、第14章 三角网格p三维场景的表达模型(补充)p三角网的不同表示方法p存储于三角网的各种附加数据p三角网格拓扑p三角网格的操作补充:三维场景的表达模型 p三角网格模拟复杂物体的表面补充:三维场景的表达模型 p三维场景的几何表示 多边形网格模型、曲面模型、离散模型 l多边形网格模型直接使用点、线段和多边形来逼近真实的物 体,结合光照明计算模型、表面材质和纹理映射。 多边形网格模型是游戏场景几何建模中最直接、应 用最广泛的几何表示方法。由于底层图形API的基 本绘制元素是三角形,因此三角形网格又是多边形 网格模型中最常用的表示方法。补充:三维场景的表达模型 p三维场景的几何表示 多边形网格模型、曲

2、面模型、离散模型 l曲面模型优点:比多边形描述更简洁;可交互调整;比多 边形物体更光滑、更连续;动画和碰撞检测更简单 和快速。当前的主流显卡都提供了多边形网格模型 与曲面模型之间互换的功能。补充:三维场景的表达模型 p三维场景的几何表示l曲面模型参数曲面 非均匀有理B样样条曲线线(NURBS),特别别是Bzier 曲面具有端点插值值等多种良好交互性,广泛应应用于游 戏戏的路径插值值和人物建模。隐函数曲面二次代数曲面是最早实实用化的隐隐函数曲面模型之一 ,它可以方便地表达球面、圆锥圆锥 面、抛物面和双曲面 。其他实实用的隐隐函数模型有Blobby和Metaball(元球) 等细分曲面(起源于20

3、世纪纪70年代)利用一系列递归递归 剖分规则规则 将粗糙的模型生成多尺度 的精细细光滑模型。补充:三维场景的表达模型 p三维场景的几何表示l离散模型体表示模型 体表示模型可以看成三维图维图 像,它用规则规则 的三维维格 点(体素)描述物体的结结构,物体的属性记录记录 在每个体 素上。CSG模型(Constructive Solid Geometry)CSG模型用一些基本体素如长长方体、球、柱体、锥锥 体和圆环圆环 等,通过过集合运算如并、交、差等操作来组组合 形成物体。补充:三维场景的表达模型 p几类常用几何表示方法的特性比较补充:三维场景的表达模型 p几类常用几何表示方法的特性比较14.1

4、表示三角网格p什么是三角网格多边形网格模型是一系列多边形的集合。如果网格 的所有多边形都是三角形,则称为三角网格。p三角网格的不同表示方法三角形列表、三角形索引列表、三角形条带 、三角形扇14.1 表示三角网格p三角网格的不同表示方法l 三角形列表(效率最低的存储格式)三角形列表是一系列孤立的三角形的集合。其 数据结构由顶点的数目、顶点列表组成。Struct Triangle Vector3 p3; /*三角形顶点 ; Struct TriangleMesh int triCount;/*三角形个数 Triangle *triList; /*三角形列表 ;缺点:未能体现相邻三角形的连通性14.

5、1 表示三角网格p三角网格的不同表示方法l 三角形索引列表(最普遍的三角网格模型格式)三角形索引列表由顶点列表、边索引列表(可选 )和三角形索引列表组成。顶点列表保存顶点信息,如位置、法向、纹理映射坐标 、光照值等。边索引列表:保存组成边的顶点索引号三角形索引列表保存组成三角形的的顶点索引号 优点:多条边和多个三角形共享的顶点的信息只被 存储一次。14.1 表示三角网格p三角网格的不同表示方法l 简单三角形索引列表代码(不含边索 引)/ struct Vertex is the information we store at the verte x level struct Vertex /

6、3D position of the vertexVector3 p;/ Other information could include texture mapping c oordinatesFloat u,v;/ a surface normal, lighting values, etc.Vector3 normal; 14.1 表示三角网格p三角网格的不同表示方法l 三角形索引列表代码/ struct Triangle is the information we store at the triangle level struct Triangle / Indices into the

7、 vertex listint vertex3;/ Other information could include a normal, mat erial information, etc. 14.1 表示三角网格p三角网格的不同表示方法l 三角形索引列表代码/ struct TriangleMesh stores an indexed triangle mesh struct TriangleMesh / The verticesint vertexCount;Vertex *vertexList;/ The trianglesint triangleCount;Triangle *tria

8、ngleList; ;14.1 表示三角网格p三角网格的不同表示方法l含边索引的三角形索引列表14.1 表示三角网格p三角网格的不同表示方法l 存储策略顶点缓存原则:基于最近使用的数据未来仍将被使用的原 则。原理:例:图形处理器缓存一小部分(如16个)最近 使用的顶点,当API要发送顶点时,首先探测缓存 内是否已存在。若缓存内没有该顶点,则发生脱靶 ,API发送顶点并更新缓存;若缓存内有该顶点, 就命中,API通知图形卡“使用缓存内位置x的顶点 “ 好处:减少API发送至显卡的顶点数14.1 表示三角网格p三角网格的不同表示方法l 三角形条带三角带是一系列首尾相边的三角形的集合,是三 角形索引

9、列表的一种特殊连接形式。隐含规则除起始和结束三角形之外,任意一个顶点同时 被3个三角形共享,且只被存储一次。顶点列出 的顺序使得每三个连续的点都能构成一个三角形 。 优点:三角带的存储量是三角形列表的1/3 左右 ,而且绘制时可以利用顶点的连贯性进行特殊优 化。14.1 表示三角网格p三角网格的不同表示方法l 三角形条带很多网格无法用一个三角带表达在生成三角带时,希望减少三角带的数目,原因 有二:最小化发往图形卡的顶点数建立各三角带需要额外时间,另外,分别渲 染两个长为n的三角带带所需时间长时间长 于渲染一个长长 为为2n的三角带带连连接多个三角带带的方法:使用退化三角形连接 多个三角带;由可

10、跳过顶点连接,对应顶点的 标志位标记“不必绘制”此三角形14.1 表示三角网格p三角网格的不同表示方法l 三角形条带连连接多个三角带带的方法:使用退化三角形连接 多个三角带;由可跳过顶点连接,对应顶点的 标志位标记“不必绘制”此三角形14.1 表示三角网格p三角网格的不同表示方法l 三角形条带连连接多个三角带带的方法:使用退化三角形连接 多个三角带;由可跳过顶点连接,对应顶点的 标志位标记“不必绘制”此三角形用退化三角形连接的两个三角带14.1 表示三角网格p三角网格的不同表示方法l 三角形条带连连接多个三角带带的方法:使用退化三角形连接 多个三角带;由可跳过顶点连接,对应顶点的 标志位标记“

11、不必绘制”此三角形用可跳过顶点连接的两个三角带14.1 表示三角网格p三角网格的不同表示方法l 三角形扇所有三角形共享某个顶点,形成扇状的三角 形条带,由于规则性太强,实践中很少使用。14.2 额外信息p纹理映射坐标l纹理:应用到模型上的一个二维图片纹理位图对应二维数组中的每一元素,它们在表示纹理时 相对应的二维下标称为纹理映射坐标 用字母(u,v)表示 。l纹理映射:纹理(图)贴到多边形表面的过程l纹理坐标系(D3D)(0.0,0.0)1.0 u1.0vp纹理映射坐标l纹理映射过程14.2 额外信息P0(u,v)=(0.5,0.2)P2(u,v)=(0.25,0.4) P1(u,v)=(0.

12、7,0.4)1.0 u1.0 v(0,0)+=通常,在顶点保存纹理映射坐标,三角形面中 其余各点的坐标通过插值进行计算每个顶点对每一层贴图都有 一组纹理坐标,DirectX9最 高支持8层纹理14.2 额外信息p表面法向量l用途:计算光照背面剔除模拟粒子在表面“弹跳”的效果通过只考虑正面而加速碰撞检测l获取表面法向量三角形级:边向量叉乘,然后标准化。顶点级:平均相邻三角形的表面法向量并将结果标准化 ,此方法有时效果不理想14.2 额外信息p表面法向量l获取表面法向量三角形级:边向量叉乘,然后标准化。顶点级:平均相邻三角形的表面法向量并将结果 标准化,此方法有时效果不理想问题一:“公告板”物体;

13、问题二:Gouraud着色;问题三:结果向拥有较多相同法向量的三角形 偏移。p光照值 获取方法:渲染时动态计算或指定值14.4 拓扑与一致性p拓扑信息指物体的拓扑元素(顶点vertex、边Edge和表 面Face)的个数、类型以及它们之间相互关系的这一 类信息。拓扑是研究在形变状态下图形空间性质保持 不变的一个数学分支,拓扑着重研究图形内的相对位 置关系。p拓扑异常的网格,导致网格不封闭孤立顶点、重复顶点、退化三角形、开放边、重复 面、超过两个三角形共享的边14.4 三角网格操作p逐片操作三角网格的一系列基本操作都是逐点和逐三角形 应用基本操作的结果。渲染三角网格逐三角形渲染对三角网格应用转换

14、逐顶点进行14.4 三角网格操作p焊接顶点两个或多个顶点相同时,将它们焊接为一个顶点焊接步骤 step1:扫描三角形 列表,将对B的引用 全部替换为对A的引 用;step2:B是孤立点, 从顶点列表中删除。14.4 三角网格操作p焊接顶点l 焊接顶点时应注意的几个问题 焊焊接前应应去除孤立点,否则顶则顶 点焊焊接后可能会造成网 格变变形当两个顶顶点均来自“细长细长 ”三角形时时,焊焊接可能产产生 退化三角形,这样这样 的三角形应应被删删除焊接顶点的平均顶点坐标引起的多米诺效应焊接顶点会消除边缘的不连续性,使得边缘过于平滑顶点焊接的直接实现非常慢,一次焊接后的顶点索引替 换及删除顶点需要遍历三角

15、形列表14.4 三角网格操作p焊接顶点l 焊接顶点时应注意的几个问题顶点被焊接到孤立顶点,结果造成网格变形14.4 三角网格操作p焊接顶点l 焊接顶点时应注意的几个问题焊接细长三角形的两个顶点,结果产生退化三角形14.4 三角网格操作p焊接顶点l 焊接顶点时应注意的几个问题焊接顶点的平均 顶点坐标引起的 多米诺效应14.4 三角网格操作p面拆分( Detach faces)复制顶点,使边不再被共用14.4 三角网格操作pp边缩坍边缩坍(edge collapse)边缩减为顶点。边缩坍常用于网格消减14.4 三角网格操作pp网格消减网格消减(edge collapse)将三角形和顶点数较多的网格变为三角形和顶点 数相对较少的网格,并且要求网格外观和主要顶点尽 可能保持不变。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号