三维模型的表达

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
示例
left: before deleting vertex 中间: 顶点删除后 右: 重网格化 参考论文: [Schroeder92] “Decimation of triangle meshes ”
收缩(Edge Contraction)
收缩( Edge Contraction)
网格化简的基本操作(3)
重构(Reconstruction) 各类方法的组合
简化(Simplification)
简化概念:用一些相对简单但维持几何特 征的表示来近似一个给定的网格
网格简化的特性
移除几何冗余
• 例如,一个具有很多共面小三角形的平坦区域, 将这些三角形融合成大的多边形能降低模型的复 杂度.
• 减小模型的尺寸. • 降低存储或传输的规模.
3. 面片收缩操作:网格上的一个面片收缩为一个顶点, 该三角形本身和与其相邻的三个三角形都退化
结果
收缩算法产生的一系列简化模型 [Garland and Heckbert 1997]
本次课的内容
二维形状表示方法 OpenGL中的三维表示方法
数据结构
复杂三维模型建模 网格简化、加密(细分)
三维几何模型
OpenGL中最常用的几何模型是三角网格 一系列的面F = (f1,f2,…,fn)
每个面都是一个三角形
一系列的顶点V = (v1,v2,…,vn) 每一个三角面片用三个顶点的下标表示
f1 --(v1,v2,v3 ), f2 --(v4,v5,v6 ), f3 --(v7,v8,v9 ), …
进行创建 3. 运用建模软件创建,比如3ds/max, maya 4. 照片测量法 ( photogrammetry ):基于照片进行三
维重构(Reconstruction) 5. 使用3D扫描仪(3D Scanner)获取真实模型 6. 各类方法的组合
radius = 1.0; length = 2.0; slices = 32 y
Subdivision surface
Subdivision surfaces
插值细分曲面(interpolation)
已经存在的顶点不动,新分裂的顶点移动 E.g., Modified butterfly scheme, C1
近似细分曲面(approximation)
所有顶点每次细分时均移动 E.g., Loop scheme, C2
Loop subdivision surfaces
新分裂的顶点
已经存在的顶点
本次课的内容
二维形状表示方法 OpenGL中的三维表示方法
数据结构
复杂三维模型建模
网格简化、加密(细分)
维重wenku.baidu.com(Reconstruction) 使用3D扫描仪(3D Scanner)获取真实模型 各类方法的组合
三维数据的来源
模型产生途径:
直接在几何文件中输入
程序建模(procedure modeling):通过程序代码进
行创建 运用建模软件创建,比如3ds/max, maya 使用3D扫描仪(3D Scanner)获取真实模型 照片测量法 ( photogrammetry ):基于照片进行三维
parameter2:GL_LINE,GL_FILL parameter1:GL_FRONT,GL_BACK
GL_LINE
GL_FILL
without lighting
GL_FILL
with lighting
三维数据的来源
模型产生途径:
1. 直接在几何文件中输入
2. 程序建模(procedure modeling):通过程序代码
提高运行性能
• 简化对于高效的渲染编辑具有重要作用
网格简化的效果对比
简化(Simplification)
• 产生场景中物体的层次细节 (level of details). 较远的物体用较低的层次细节呈现,较近的物体 用较高的层次细节呈现.
例子
顶点去除( Vertex Decimation )
以#开始为注释行 第0个顶点的坐标 第1个顶点的坐标 第2个顶点的坐标 …… 组成第0个面的顶点号 组成第1个面的顶点号 ……
简单例子:三维三角形网格模型
glPolygonMode(parameter1, parameter2); glBegin(GL_POLYGON);
glVertex3f(-0.5,-0.5,0.0); ……… glEnd();
三维三角形网格模型的文件格式
# 1009 2022 …… v 0.103 -0.056 -0.981 v -0.391 -0.140 0.633 v -0.365 -0.093 0.225 v 0.196 0.035 -0.636 …… f 723 965 762 f 259 755 665 f 333 523 952 f 164 1002 978 ……
《计算机图形学基础》
第五讲 三维模型的表达 刘永进
本次课的内容
二维形状表示方法 OpenGL中的三维表示方法
数据结构
复杂三维模型建模
网格简化、加密(细分)
三维几何模型
OpenGL中最常用的几何模型是三角网格 一系列的三角面片F = (f1,f2,…,fn) 一系列的顶点V = (v1,v2,…,vn)
z x
z halfLength
Slices = 2Pi/theta
-halfLength
25_projected_shadows
三维数据的来源
模型产生途径:
直接在几何文件中输入
程序建模(procedure modeling):通过程序代码进
行创建 运用建模软件创建,比如3ds/max, maya 照片测量法 ( photogrammetry ):基于照片进行三
相关文档
最新文档