计算机辅助设计的发展与应用三维建模摘要:我们身在一个三维的世界中,三维的世界是立体的、真实的。
同时,我们处于一个信息化的时代里,信息化的时代是以计算机和数字化为表征的。
随着计算机在各行各业的广泛应用,人们开始不满足于计算机仅能显示二维的图像,更希望计算机能表达出具有强烈真实感的现实三维世界。
三维建模可以使计算机作到这一点。
所谓三维建模,就是利用三维数据将现实中的三维物体或场景在计算机中进行重建,最终实现在计算机上模拟出真实的三维物体或场景。
而三维数据就是使用各种三维数据采集仪采集得到的数据,它记录了有限体表面在离散点上的各种物理参量。
它包括的最基本的信息是物体的各离散点的三维坐标,其它的可以包括物体表面的颜色、透明度、纹理特征等等。
三维建模正在广泛地应用于越来越多的领域,并且以其提供直观、方便的三维图像等特点在各领域中发挥越来越重要的作用。
关键字:三维建模、三维模型绘制、伞状网络1、三维数据的应用我们身在一个三维的世界中,三维的世界是立体的、真实的。
同时,我们处于一个信息化的时代里,信息化的时代是以计算机和数字化为表征的。
随着计算机在各行各业的广泛应用,人们开始不满足于计算机仅能显示二维的图像,更希望计算机能表达出具有强烈真实感的现实三维世界。
三维建模可以使计算机作到这一点。
所谓三维建模,就是利用三维数据将现实中的三维物体或场景在计算机中进行重建,最终实现在计算机上模拟出真实的三维物体或场景。
而三维数据就是使用各种三维数据采集仪采集得到的数据,它记录了有限体表面在离散点上的各种物理参量。
它包括的最基本的信息是物体的各离散点的三维坐标,其它的可以包括物体表面的颜色、透明度、纹理特征等等。
三维建模在建筑、医用图像、文物保护、三维动画游戏、电影特技制作等领域起着重要的作用。
在建筑领域,一个建筑物如果用普通二维图片(比如照片)表示,会造成对某些细节部位或内部构造观察的不方便。
而建造时使用的图纸虽然包含了大量的信息,对于非专业人士来说却不容易看懂而且很不直观。
如果使用三维建模的方法重建出这个建筑的三维模型,那么就可以直接观察这个建筑的各个侧面,整体构造,甚至内部的构造,这无论对于建筑师观看设计效果,还是对于客户观看都是很方便的。
在医学方面,自从100 年前伦琴发现X 射线以来,医学图像处理技术已经经历了很长的路程。
得到三维人体解剖图一直是人们努力追求的目标。
德国汉堡大学医用数学和医用计算机研究所的Hohne 教授领导的研究小组,开展了项目名称为V oxel-Man (体素和人)的解剖三维可视化研究。
利用V oxel-Man的工具,医生可以模拟外科手术和立体定位或开洞。
V oxel-Man 具有极高的外科临床和教学价值,这在医学发展史上是一个新的里程碑。
另一个三维建模在医学中的应用是虚拟手术。
美国最负盛名的私立医院集团Maya Clinic 的生物医学图像处理资源中心,自70 年代以来就致力于计算机生物医学图像的研究。
在已有十余年经验的基础上,他们开发和设计了可以让外科医生观察CT 和MRI数据的3D 交互式外科辅助系统。
医生可以在手术前预先规划手术方案,这样医生做手术就会更加准确,同时还可以在计算机上预演手术过程,使手术更安全。
三维建模在文物保护中也发挥着重要的作用。
有的文物或古建筑由于年代太久远或者各种侵蚀难以保存,有些文物有着珍贵的价值不能直接供人们观赏。
可以利用三维建模将文物和古建筑通过影像采集、数字处理、数据压缩等技术制成三维形象,然后人们就可以随意的从各个角度观看和欣赏文物和古建筑,同时也是一种保存和研究文物的办法。
当数据积累到一定程度,还可以开展网络博物馆等文物展览项目,可以在保护文物的同时达到更广泛推广的目的。
近年国内开始逐渐重视这方面的工作,比如故宫数字博物馆就在积极筹建中,其太和殿及其周边场景的三维模型就已经由日本凸版株式会社制作完成,实现了场景漫游,具有相当的真实感,细节表现也很优秀。
在电脑游戏业高度发达的今天,尽量追求游戏的真实和画面的华丽几乎是所有制作者的共识。
于是,三维游戏应运而生,开始仅仅是在游戏中加入三维动画,现在已经出现了全程使用三维场景的游戏,比如Square Soft 的Final Fantasy 系列。
以其优美的人物设计以及豪华的3D 场景征服了无数玩家,而成为风靡全球游戏《Final Fantasy X》的主人公球的畅销游戏。
右上方的图像中是Square Soft 于2002 年推出的大作《Final Fantasy X》中的男女主人公,从人物到场景,全都使用了三维模型,而且刻画极为精致细腻,有很好的视觉效果和冲击力。
对比以前比较呆板的2D 游戏,其在真实性和吸引力上的优势是显而易见的。
在电影特技制作方面,三维建模技术也有着广泛的应用。
起先,电影中的很多特殊场景如外星球、古代城市等都要通过搭建微缩模型来实现拍摄,不仅成本高、耗时长、后期制作困难,而且也不容易有真实的效果。
对于某些危险的镜头,需要精密的布置和策划,采用各种防护措施,最后还是不能保证万无一失。
当三维建模技术被引进之后,现实世界中不可能出现的场景都可以被完美地构造出来,许多危险的镜头现在只需要在电脑前操作鼠标就可以完成,而且制作速度快、效果好。
在最近的一两年,三维建模技术运用于电影制作取得了令人惊异的进展:出现了第一部完全由电脑制作的3D 仿真电影——《最终幻想》,这部由美国哥伦比亚三星电影公司出品的数字巨片耗资2.4 亿美元,历时4 年,它首次用电脑来制作所有的演员、道具、布景,影片中没有一个真人,但是虚拟演员在线条、毛发、皮肤、纹理、表情等方面已经几乎与真人别无二致。
显示了电影中虚拟人物的3D 模型和最后制成的效果,其真实程度之高让人不得不感叹三维建模技术的神妙。
总之,三维建模正在广泛地应用于越来越多的领域,并且以其提供直观、方便的三维图像等特点在各领域中发挥越来越重要的作用。
在三维建模中,最主要的问题就是使用三维数据进行绘制,如何使得绘制出的模型有立体感和真实感,要保证模型的表面平滑、无毛刺、无漏洞,达到比较理想的视觉效果;同时还要较好地组织数据,减少存储空间以便于数据的传输和加快显示速度。
下一章将介绍已有的三维数据绘制方法以及本文提出的新方法。
2、三维数据绘制方法2.1 三维数据的获取和网格绘制要建立真实物体的三维模型,首先要获取样本的相关属性,如几何形状、表面纹理等等。
记录这些信息的数据就称为三维数据,我们定义采集样本的信息并且将其组织成为一种表达与样本一致的结构的过程为三维数据的获取。
采集样本三维信息的方法大致有以下几种:直接设计或测量:多用于早期建筑物三维模型的建立,用工程作图的方式得到模型的三视图。
图像方法:只通过照片建立三维模型,用拍照的方式同时获得几何和纹理的信息,以此为基础重建样本的3D 模型。
机械探针(Mechanical probes):通过机械探针和样本的物理接触采集表面数据。
要求样本有一定硬度。
体数据(V olumetric data)恢复:使用样本的断层图象恢复出其三维形状。
多用于医药部门,可使用的体数据包括X 光图片、CT 图片和MRT 图片等。
域扫描(Range scanning):通过估算从测量仪器到样本表面点的距离来确定点在空间中的位置。
包括光学三角测量,干涉测量等方法。
在得到物体的三维数据后,建立三维模型的方法也是多种多样的。
早期,三维模型大多是从三视图和照片用手工建立起来的,这类建模方法通常和某些软件结合在一起,常用的如3D Studio、Auto CAD、3DS MAX 等。
这样的方法在概念上有严格的数学描述,对几何形体有精确表达,可控制形状的平滑并有很多基于物理的高级建模工具。
但这种方法需要物体的参数表达,模型不连续且在拓扑结构上不灵活。
目前最流行的方式是用多边形网格来描述和绘制三维模型,它把三维模型表面的点连接成以多边形为单位的网格,是一种简单而高效的表达方式。
它可以表达复杂的表面,提供很强的适应性,其中尤以三角网格的使用最为广泛。
相对于早期的手工建模,多边形网格的方法采用了分段线性拟合的思想,可以在物体表面不规则地采集样本点并完全不需要对物体进行参数化。
因为上述的这些优点,多边形作为三维模型的基本要素已经被广泛地接受,多边形网格绘制的方法也获得了大部分计算机硬件的支持,而且出现了很多基于多边形网格的高级使用方法。
由于不同获取方式得到的三维数据有不同的样式和特点,作为目前主流的建模方式,多边形网格绘制对不同的原始点数据有不同的建网策略。
下面先给出原始点数据的一些不同格式。
未组织数据(Unorganized data):除了采样点外没有其他附加信息。
这是对物体最直接但在建模过程中计算复杂度最高的表达方式。
轮廓数据(Contour data):在医药学应用中模型常被做成很薄的切片,并对每一个切片进行数字化得到一条轮廓线。
这些轮廓线可被近似看做一组平行可交叠的闭合多边形。
体数据(Volumetric data):同样在医药学应用中,用MRT 或CT 得到的数据称为体数据。
它们是一些三维栅格(3D-grid),我们需要做的是从中提取模型的表面,可以使用著名的Marching Cubes 方法。
但这个方法得不到最优结果,如果体元栅格(V oxel grid)边长取得过大,会在模型表面发生混淆而得到绘制效果不好的网格而当其边长减小时,计算复杂度随其倒数做平方性增长。
域数据(Range data):通过域扫描得到的数据,并且已被规整化到同一坐标系下。
这类数据通常是包含深度信息或三维点的矩形栅格,所以我们可以从中得到点的邻接信息。
其获取难点是在不同扫描视点得到的各幅域图像上建立单一的网格。
另一个问题是数据量的庞大,因为扫描时的采样是密集且均匀的。
面对以上不同结构的数据,我们有不同的近似方式,所有这些方式可以分为两类。
一类是插值(Interpolation),这类方法中最后得到网格模型中的点就是初始的采样点;另一类是逼近(Approximation),尤其对于采样点极其密集的域数据,一般采用逼近的方法而不是插值。
下面将介绍主要的近似方式。
基于造型(Sculpting based)的近似:属于插值类的方法,多用于未组织数据。
这种近似方法一般先在点集合上建立四面体(通常使用Delaunay 三角剖分的方法),得到物体的整体形状,然后渐进地进行细化并取其合适的子集作为最终的网格。
该方法适合从采样很稀疏的数据中重建表面,但计算复杂度和内存消耗都很大。
基于体(V olume based)的近似:属于逼近类的方法,可用于未组织数据,也可用于域数据等组织好的点云数据。
对每个采样点估算一个方法中自定义的距离并把它们记入一个体元或八叉树的结构中,可以用Marching Cubes 方法在这样的结构中建立网格。