- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任意3维封闭网格生成软件
任意3维封闭网格生成软件
P
汪玉鹤
导师:丁泽军教授
指导:张鹏师兄
日期:2011/9/29
ModelMaker Android atthinking
摘要:
本文针对电子显微镜成像模拟的需求,编制了一个可以构建任意表面形状的模型
工具软件,大大缩短了建立模型的时间,从而使模拟任意形状的物体成像过程变得
十分容易。这个软件也可以用到各种其他的仿真模拟中,前景十分广泛。
一、开发背景
在许多模拟计算(比如电镜扫描,汽车碰撞)中,我们需要知道物体的大小形貌等信息。
对于规则物体,可以用解析表达式确定物体的表面,但是实际问题中会碰到大量不规则物体,
想用解析表达式描述表面形貌将十分困难,程序也要经常跟着解析表达式的变化而改动,比
较麻烦。一种改进的方法是将物体表面剖分为很多三角形构成封闭网格面来近似描述物体形
貌,如图1所示。这样物体的表面信息储存在文件中,程序无需更改,只需从文件中读取数
据按既定算法计算即可。然而手工计算的方法设计封闭网格工作量大且容易出错,所以我们
需要一款帮助设计任意形状 3D 网格的软件。针对计算物理实验室专门开发的软件
ModelMaker 将大有用途。
实际物体 封闭的三角网络
图 1
二、软件特性对比
当前市场上有不少优秀的3D建模软件,例如autoDesk公司的3dsMax 和autoCAD,其
功能强大而全面,能够产生惟妙惟肖的3D模型,不少游戏的开发都离不开这些软件。但是
这些建模软件一般都非常昂贵(例如3dsMax 零售价约2万人民币,比windows操作系统
还贵),学习使用比较难,需要专门的介绍书籍,加载速度也比较慢,对硬件要求比较高。
更重要的是这些软件对模型表面的描述比较复杂,不仅仅使用三角形网络,还有多边形、样
条曲线等,不便于实验室计算模拟。生成文件格式也很复杂,无法定制想要的功能,可扩展
性差。因此,针对实验室开发的软件ModelMaker 更实用。以下是两种软件的对比信息:
三、设计思想
构造任意三维封闭网格的一个思路是先构建一些基本的几何体,然后进行几何变换和
拓扑学变换。所谓的几何变换就是旋转、放缩和平移,这样只改变了物体的大小、位置和摆
放姿态,变换前后是相似体。所谓的拓扑学变换就是通过改边局部物体的顶点位置,使物体
的局部形态发生变换的方法。两种方法结合起来便可以得到非常多不同形貌的物体。但是有
时候这样做工作量有些大,我们需要一些方法加速建模过程。两种方式是分割和融合。所谓
分割就是用一个平面把三角形网络分割成两个三角形网络,而融合则是把两个三角网络融合
成一个三角网络。分割快速得到想要的部分,就像雕刻家在刻画雕像。融合将部分组成整体,
就像装配工人将零件装配成汽车。其他的功能有待添加,不过目前已经十分强大。图2 是设
计思想图纸:
图2
四、程序框架
编程语言:visual C++ 函数库:MFC,openGL
主框架:MFC 对话框程序 IDE:visual studio 6.0
名词解释:
MFC(MicrosoftFoundation Classes)
微软基础类库,用于在C++环境下编写应用程序的一个框架,对绝大多数WindowsAPI进行
了封装,显著得提高了Windows程序的开发效率。
OpenGL
是一个开放的、独立于操作系统的三维图形函数库,通过简单的调用就可以实现各种3D 场
景的高速渲染,绝大部分显卡都支持。
ActiveX 控件
控件就是具有用户界面的独立组件,例如按钮、列表框、编辑框。可以非常容易地通过拖拽
“画”在对话框模板中,从而改变对话框程序外观和功能
框架生成步骤:
首先利用VC++6.0的应用程序生成向导
文档评论(0)