Graphics 版 (精华区)
发信人: killest (victor), 信区: Graphics
标 题: 三维复杂模型的实时动态显示(1)
发信站: 紫 丁 香 (Sat Apr 25 14:19:05 1998), 转信
三维复杂模型的实时动态显示
专家论坛
唐泽圣
作者简介
唐泽圣 清华大学计算机系教授,博士生导师。历任自动控制系副
主任、计算机系主任、计算机技术研究所所长等职。从80年代初开始
进行计算机图形学及计算机辅助设计技术的教学和研究工作,是国内
最早从事这一领域研究的学者之一。主持并完成了多项国家科技攻关
项目,并多次获奖。撰写和翻译了《计算机辅助设计技术基础》、《
计算机图形学基础》及《交互式计算机图形学》等著作。目前,唐泽
圣教授担任中国计算机学会副理事长兼学术委员会主任、中国图像图
形学会理事及中国电子学会计算机工程及应用学会副主任委员等职。
一、引 言
近年来,人们常常可以在展览会中及电视上看到计算机生成的三
维模型的动态显示。例如,各种产品的广告、电视节目的篇头和动画
节目等,而且图像质量相当不错,看起来好像是一门成熟的技术。那么
,还有什么必要专门讨论呢?
其实,三维复杂模型的动态显示,从技术上按照由易到难的顺序,
可以分为三个层次。
第一个层次是逐帧计算图像、逐帧显示图像、逐帧记录并连续播
放。目前看到的计算机动画一般就是用这种方式制作的。
第二个层次是逐帧计算图像,将结果存放在计算机内存中,计算完
毕后再连续显示并连续记录。尽管这种方法避免了逐帧记录的麻烦,
但是和第一个层次的方法一样,图像仍然是逐帧计算的,并不要求实时
计算,因而对计算机的计算能力没有很高的要求。
对于以上两种方法,由于图像都是逐帧计算好的,因此,在动态显
示时,观察点和观察方向不能改变,因而使漫游的灵活性受到限制。
与前两个层次不同的是,在第三个层次中,图像是根据观察点及观
察方向实时计算、实时显示的,因而,可以做到对三维复杂环境漫游的
实时交互控制,使漫游的灵活性不受限制。这就是三维复杂模型的实
时动态显示,也是本篇文章讨论的重点。
由于三维复杂模型的实时动态显示是飞行模拟、实时动态仿真及
虚拟现实等技术的基础,因此,它有着广泛的应用背景和需求,并成为
近年来的研究热点之一。
一般认为,复杂模型的实时计算和显示依赖于具有高速运算能力
和很强的三维图形功能的高档工作站。换句话说,主要依赖于硬件,而
软件技术是无能为力的。但是,这种看法并不全面。硬件功能固然重
要,但在算法和软件上也有许多问题需要研究和解决,以便在同样的硬
件平台上,取得更好的实时动态显示的效果。况且,模型复杂程度的增
加几乎是无限的。举例来说,在SGI Indigo2 Extreme工作站上可以实
现含有2~3万个多边形的复杂模型的实时动态显示,但是,某一工厂及
其外景的模型就包含了近20万个多边形,美国U.C Berkeley大学新建
的计算机系大楼及其内部设施的模型竟包括200万个多边形。因此,如
果不在算法上采取必要的措施,如此复杂的模型是无法在这一档次的
工作站上实现实时动态显示的。在我国,高档图形工作站的价格十分
昂贵,非一般用户所能承受,如果利用中低档工作站甚至高档微机来实
现三维复杂模型的实时动态显示,就显得尤为重要。因而,研究三维复
杂模型实时动态显示的技术和方法具有重要的理论意义和广泛的应用
价值。
目前,三维复杂模型的实时动态显示技术可以分为两类。一是基
于几何模型的实时动态显示;二是基于图像的实时动态显示。
二、基于几何模型的实时动态显示技术
这是计算机图形学中的传统方法。首先,在计算机中建立起三维
几何模型,一般均用多边形表示。在给定观察点和观察方向以后,使用
计算机的硬件功能,实现消隐、光照及投影这一绘制的全过程,从而产
生几何模型的图像。为了提高绘制速度,更好地实现实时动态显示,必
须尽可能地减少不必要的运算,所采取的主要技术如下:
1.可见性测试
在动态显示几何模型时,观察点位于某一封闭物体之内(外),这时
,位于该物体之外(内) 的物体即为不可见,因而,不必对不可见的物体
进行绘制。此外,在三维几何模型中,落在所定义的观察空间之外的物
体也是不可见的,同样没有必要进行绘制。为此,对于某些结构比较复
杂的模型,如建筑物内部相互隔离的空间,就可以在预处理阶段,计算
出不同空间以及不同物体之间的可见性,并存放起来,从而大大减少在
动态显示时对可见性的测试和计算。当然,复杂结构模型中的可见性
计算也是比较复杂的,需要耗费不少时间,但这可以在预处理中进行,
不影响实时动态显示的速度。
2.模型的多精度表示
在复杂模型的动态显示中,当观察点距离某一物体很近时,该物体
的图像将在屏幕上占据较多的象素点。而当观察点距离某一物体很远
时,该物体的图像只能在屏幕上占据很少的象素点。在这种情况下,用
大量的多边形面片去精确表示该物体是不必要的。
基于这一点,为了更好地实现三维复杂模型的实时动态显示,则将
三维物体用多种不同的精度表示(如用精确模型和简单模型两种不同
的精度表示),并根据观察点位置的变化而选择不同精度的模型予以绘
制,就成为非常有效的手段之一。这种方法常称为LOD(Level ofDeta
ils)技术。
在动态显示时,可以根据两种不同的判断来选取模型。一是距离
判断,即根据观察点与某物体间距离的远近来选择模型;二是屏幕象素
判断,即根据某物体的图像在屏幕上所占据的象素数来选取模型。两
种或多种不同模型的选择可以用静态或动态的方式进行。静态方式是
指预先设置好有关距离或象素的阈值,当实时动态显示时,即按此选择
模型;动态方式是指在保证实现实时动态显示(如每秒钟产生10帧图像
)的前提下,动态地确定阈值并选取模型,以求得较高的图像质量。显
而易见,动态方式选择模型的实现比静态方式要复杂得多。
构造一个物体的多种不同精度的模型并非易事。由于常用软件所
构造的物体模型或者用科学计算可视化技术产生的模型往往是比较精
确的复杂模型,因此,复杂模型的简化技术已成为近年来研究的一个热
门课题。
复杂模型的简化技术可以分为两类。一类是几何简化。例如,让
多个相邻的共面或几乎共面的三角形合并为一个多边形,将一个厚度
很小的六面体(如建筑物中的窗户)用一个两面均可见的平面片来代替
等。有的几何简化算法可以保持简化结果在拓扑结构上的一致性,有
的则不能,并允许在简化结果中存在着非正则形体。在预处理中,生成
复杂模型的多精度表示,尽管可以提高动态显示的实时性,但是需要更
多的存储空间,并且,在不同精度间切换时还会引起视觉上的突跳感。
为了克服这一缺点,又提出了复杂模型多精度表示的实时生成和切换
,取得了较 好的实时动态显示效果。
--
oo
il bb yy il ..... 与尔同消万古愁
i bbb ll yyy i
iii bb yy iii
oo
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: victor.hit.edu.c]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.344毫秒