没有合适的资源?快使用搜索试试~ 我知道了~
项目背景3在这篇毕业设计中,我们将主要实现优化拉普拉斯形变算法[3]的造型平台,即通过构造局部优化框架将拉普拉斯坐标进行拉伸和旋转,使形变前的拉普拉斯坐标与形变
资源详情
资源评论
资源推荐
浙江大学计算机科学与技术学院本科毕业设计报告 项目背景
1
第1章 项目背景
1.1 项目介绍
三维模型的表示法有很多,如点云表示法,参数曲面表示法,体素表示法,
隐式曲面表示法,多边形网格表示法等,其中多边形网格表示法利用众多的微
小多边形面逼近真实几何体的实际表面,其中又以最常用的三角形网格表现能
力丰富,由于多边形都可分为多个三角形,因此三角网格表示法式多边形网格
表示法德基础,许多图形硬件的绘制都以此为基础。从 CAD,电影 CG 的制作
到动画,再到游戏以及一些办公用的模拟软件,都要用到各式各样的几何模型,
利用三维扫描仪器可以获得物体表面的三维点坐标,由计算机进行三维重构并
方便的转化为三角网格模型。网格形变是网格模型研究的一个重要应用方向,
而三角网格模型的变形编辑在几何造型,电影 CG,动画,游戏以及模拟等领域
都有广泛的应用。依赖于信息获取技术的进步,利用三维扫描仪器得到物体表
面的三维坐标,再用计算机进行三维重构来得到,重建出复杂的几何模型的逆
向几何工程已经越来越简便。这些几何模型不仅真实反映了具体对象的实际形
状,而其为设计师提供了进一步编辑,造型的基础。因此,处理和重用原有的
几何模型,已成为解决几何设计效率问题的重用途径,而三维几何数据重用的
核心是模型的编辑与形变技术。
鉴于以往的网格形变算法往往需要过多的用户输入和交互,并且难以保持
原三维模型的表面几何细节,在这篇毕业设计中将采用拉普拉斯算法。几何细
节作为三维模型的内在属性,可以用拉普拉斯坐标来表示,拉普拉斯坐标也称
为微分坐标或平均曲率法向,首先在[4]中被提出,是最近出现的进行网格模型
形变的工具。几何细节被认为是网格表面的内在性质,在拉普拉斯坐标系统中,
相比网格在空间的绝对坐标,我们更关心一个点与周围的点存在什么样的联系,
这种联系决定了在形变操作后的网格模型的几何细节保持程度。拉普拉斯坐标
是我们实现这个平台中形变功能用到的核心数学工具之一。相比于自由形变算
法与蒙皮算法,用户不再被限制在长方体框架及“骨骼”的控制点上,而且拉
普拉斯形变算法能更好的保持几何细节。但拉普拉斯坐标在形变中只有平移不
变性,在旋转和拉伸操作后往往不能够保持不变,这篇毕业设计将以三角网格
浙江大学计算机科学与技术学院本科毕业设计报告 项目背景
2
模型作为构建和分析的对象,实现算法研究的辅助平台,主要实现对拉普拉斯
坐标在旋转和拉伸操作后的局部优化算法[3],并在已有基础上进行改进和测试。
1.2 同行研究情况
在 3D max 或者 maya 中,人们可以用自由形变算法或者蒙皮算法[1]进行模
型的形变,在自由形变中,先构造一个长方体的框架,将模型放入长方体中,
通过对长方体上的控制顶点实施操作使模型的形状也随之改变,这种方法的缺
点是,由于物体的形变是由框架控制顶点产生的,因此精确移动物体上的某一
点并想达到用户预期的效果很困难,并且这种方法对模型表面细节的保持也不
尽人意。蒙皮算法[1]是具有骨骼语义的几何模型操作,用户指定一块“骨骼”,
该算法将所有点绑定到这个“骨骼”的一系列控制点上,每个点有不同的权值,
与离控制点的距离有关,用户操作这些控制点或者指定变形参数。控制点的形
变将扩散到所有绑定的点即整个几何模型上,这一算法在动画,设计师设计草
图如等场合得到广泛应用。蒙皮算法的主要缺点是不适合表达骨骼语义不明显
的形变,如几何模型的一个球状突起或者气球膨胀或缩小等。而多分辨率形变
算法[5]不仅需要多次简化与重构的过程,而且在几何细节保持达不到满意效果,
泊松方程算法[6]只适合表达这样一种语义,即在一个固定坐标只有一个高度值
的曲面最好,其他语义所产生的形变后原来模型的表面细节保持很难让人满意。
近几年出现的拉普拉斯形变算法[8]很大程度上解决了这个问题,然而普通的拉
普拉斯算法[8]虽然能够在坐标平移时保持不变,但在拉伸或旋转时却没有不变
性。
1.3 本人工作
拉普拉斯坐标是最近出现的可以用于网格形变的新的数学工具,目前一些
优秀的形变算法如 [2]都用到拉普拉斯坐标,于是我们以拉普拉斯坐标为基础,
实现对三角网格模型形变后表面细节的高质量保持的优化拉普拉斯算法,以往
的拉普拉斯形变方法虽然可以在一定程度上保持三角网格模型的表面细节,但
由于拉普拉斯坐标的不变性是针对坐标平移,在坐标发生拉伸和旋转后往往不
能保持不变,因此基于拉普拉斯坐标在形变前与形变后保持不变的算法在拉伸
与旋转后在保持原有模型的表面细节仍有欠缺,
浙江大学计算机科学与技术学院本科毕业设计报告 项目背景
3
在这篇毕业设计中,我们将主要实现优化拉普拉斯形变算法[3]的造型平台,
即通过构造局部优化框架将拉普拉斯坐标进行拉伸和旋转,使形变前的拉普拉
斯坐标与形变后的拉普拉斯坐标在方向和大小上尽量保持不变,并购造过渡区
使得形变区域的过渡更加自然。三角网格模型拉普拉斯形变平台集成了对三角
网格模型的常用操作和常用算法,可以对读入的三角网格模型进行一系列的操
作并保存数据。
浙江大学计算机科学与技术学院本科毕业设计报告 项目实施方案
4
第2章 项目实施方案
2.1 实施方案
三角网格模型拉普拉斯形变平台,针对目前流行的 3D 模型造型编辑平台 3D
max 和 maya 等在处理三角网格模型形变时所采用的自由形变算法和蒙皮算法在
保持原来模型表面细节方面的不足,以及普通拉普拉斯形变虽然相比自由形变
算法和蒙皮算法在保持原来模型表面细节方面有很大进步,但在坐标旋转和拉
伸时,不能像平移那样保持不变而导致表面细节的不足而设计,因此,我们的
主要目的是实现优化拉普拉斯形变算法[3],并对优化拉普拉斯算法的求解过程以
及公式进行改进,将过渡区加入该算法中。首先搭建 OpenGL 平台,该平台为用
户提供了实现各种功能(如平移,旋转,网格细分,网格简化)的菜单及按钮。
可以读入三角网格模型数据文件 obj,搭建好平台后,将首先实现三角网格细分,
网格简化功能,网格细分的目的是,如果读入的三角网格模型存在局部过稀疏
的情况,网格细分操作将稀疏的三角网格细分为足够数量的小三角网格。网格
简化可以看成网格细分的逆操作,即读入的三角网格模型存在过密的情况,网
格简化删除不重要的边,面,使得局部三角网格数量趋于平均。细分和简化过
的三角网格模型可能存在不光滑情况,网格平滑操作使得三角网格模型能够变
得更为平滑。当用户想进行拉普拉斯形变操作时,首先用鼠标左键单击几何模
型,被选择的处于近用户侧的三角形网格在以网格显示的模式下将处于高亮状
态,用户通过选择一环封闭的三角形网格来确定形变区域,即选中三角形网格
内侧的区域为形变区域,而这一环封闭的三角形为控制点,用户还要选择形变
的点,通过鼠标左键单击一环封闭三角形网格内的形变区域来获得这些点,然
后可以控制这些点进行平移,拉伸,旋转。当用户输入移动形变点指令后,程
序将计算形变点移动后的坐标,并计算三角形网格其他点的最优坐标,及使得
最小二乘误差最小。最后用户可以选择保存形变后的网格模型。
2.2 软件架构与环境
三角网格模型拉普拉斯形变平台由 c++语言编写,使用 OpenGL 图形库,并
用开源的 QT 编写 GUI,编写好的程序由 mingw(gnu for windows)编译,程序的开
浙江大学计算机科学与技术学院本科毕业设计报告 项目实施方案
5
发过程中所使用的都为开源或免费库,QT 的可移植性,使得程序具有良好的移
植性,可在 windows,linux,unix,mac,symbian 等平台编译后运行,三角网格模型
拉普拉斯形变平台的基本软件架构如下:
图 2-1 三角网格模型拉普拉斯形变平台架构图
2.3 功能描述
三角网格模型拉普拉斯形变平台将包括以下功能:三角网格模型的读入与
显示,以点云,网格,普通方式显示模型,提供光照,用户可以对模型平移,
旋转,缩放,用户可以选择视角缩放,可以选择模型上的三角面,可以对模型
简化,细分,平滑,实施普通拉普拉斯形变,优化拉普拉斯形变,并可保存操
作后的数据。
三角网格模型拉
普拉斯形变平台
源码
GPU
编译器编译
生成可执行
文件
OpenGL
用户运行
程序
不同操作系统
不同操作系统
文件系统
读入三角网格
模型文件
剩余34页未读,继续阅读
基鑫阁
- 粉丝: 61
- 资源: 358
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0