在虚拟中还原“真实”
虚拟现实是近年来十分引人注目的前沿技术,在各个领域都得到了非常广泛的应用。虚拟现实系统不仅能够给人以以假乱真的逼真体验,还能充分激发人类的想像力和创造力。本期邀请业内资深专家,针对虚拟现实中两个关键性技术:建模技术和仿真技术的发展作了详细阐述。
虚拟现实技术是指利用计算机技术创造虚拟的环境和人物,这些环境和人物“看”起来,“听”起来,甚至“摸”起来和真的一样。相比建模技术而言,计算机仿真技术侧重于刻画事物或系统随时间或环境的变化而变化的过程。
计算机仿真技术可以用来增强虚拟环境的“沉浸感”和“逼真性”。比如,在虚拟的计算机环境中仿真出各种逼真的物理效应。物理效应包括人体运动、水流、烟雾、火以及物体之间的碰撞和爆炸等。根据这些物理规律,人们可以建立它们的抽象数学模型并采用偏微分方程数值求解技术计算它们随时间变化的动态过程,并通过计算机图形的渲染技术将这些物理效应在计算机屏幕上呈现出来。使用仿真方法模拟出的许多物理效应可以达到观看者无法判断是计算出的还是真实拍摄的地步,从而可以使用户沉浸在计算机展示的虚拟环境中。
五个阶段
在中学时我们就遇到过这样的问题: 已知子弹离开枪口的速度,在不考虑空气阻力的情况下求解子弹的运动轨迹。实际上这个问题可以看做是一个简单的计算机仿真问题,我们可以利用经典的牛顿力学模型来描述子弹的运动过程,再根据初始条件和微积分思想设计数值求解算法,求解该问题。
简单说来,计算机仿真技术就是采用数学工具建立描述事物或系统变化规律的数学模型或物理模型,并设计数值计算方法求解模型参数,以及事物或系统在给定初始条件下随时间的变化情况或者是在不同的边界条件下系统状态的变化。
一般而言,计算机仿真需要经过建模、编写计算程序、运行程序进行实验、分析实验结果、修改和完善模型这五个阶段。建模的阶段就是对待仿真的事物或系统分析其主要因素,忽略次要因素,分析主要因素之间的定量关系,并用数学语言描述出来。根据得到的定量关系和已知变量采用数学方法找出计算未知变量的算法。根据求解未知变量的算法编写计算程序,然后在计算机上运行程序,观察在不同输入数据情况下系统的变化。最后根据实验结果分析模型的准确性。
如果实验结果和实际情况不符合,那么回到建模阶段检查,是否误将主要因素忽略、主要因素之间的定量关系是否准确。然后根据修改的模型在再进行仿真实验,直到计算结果和观察所得的实际情况相符为止。
根据被研究系统的特征又可以将仿真系统分为两大类: 连续系统仿真和离散事件系统仿真。连续系统仿真是指对那些系统状态变量随时间连续变化的系统的仿真研究。这类系统的数学模型包括连续模型(微分方程等),离散时间模型(差分方程等),以及连续-离散混合模型。离散事件系统仿真是指对那些系统的状态只在一些时间点上由某种随机事件的驱动而发生变化的系统进行仿真实验。这类系统的状态量是由事件的驱动而变化的,在两个时间之间状态量保持不变,因而是离散变化的,称之为离散事件系统。
应用范围
通常,计算机仿真技术用在如下几种情形。
1. 对系统进行真实实验的代价高昂。比如在汽车工业中需要对新型的汽车做碰撞实验,检测其安全特性。科研人员根据材料力学、碰撞力学等知识对碰撞过程建立物理模型,然后利用计算机仿真计算在不同碰撞条件下汽车的碰撞效果,并根据仿真的碰撞结果来改进汽车的设计。
2. 系统的实现只有一次机会,比如大坝的建造。因此需要在设计过程中对大坝以及相应的地质情况、水文情况建立较为准确的模型,然后计算不同设计方案中大坝的承载能力、抗震能力等数据,最终挑选出一个合理的设计方案。
3. 需要预测系统在未来的变化,比如2008年奥运会期间的天气情况。首先,需要建立大气动力学模型,然后利用往年的天气资料确定模型的一些系统参数,并把在计算机上运算该模型以验证模型的准确程度,最后利用该模型预测2008年奥运会期间的天气情况。
计算机仿真本质上是对物理对象建立数学模型,然后通过数学方法分析物理对象中的性质、预测物理对象随时间的变化情况。因此计算机仿真在航空航天的设计制造、天气预报、交通模拟等领域中得到了广泛应用。
一个人体运动仿真的例子
虚拟人是虚拟环境中一个很特殊的对象。他和其他对象不同之处在于人是一个主动个体,他的行为不仅由物理规律还由人的意识决定。比如从房间的这一端走到那一端,不同的人有不同的行走路线,人在高兴或者悲伤的时候面部表情、姿态都有很大的差异。为了把这些不同的行走姿态仿真出来,人们综合了生物力学、控制论、数值优化等技术,但是即便如此,还不能完全解决这个困难的仿真问题。另外大规模人群行为的仿真也是目前研究的热点问题,它不仅要考虑单个人的仿真问题还需要考虑人与人之间的相互作用和影响对仿真结果的影响。
我们在人体运动仿真方面研究了人体空中运动的仿真,图1中黄色代表一个初始的前空翻运动,该运动是手工编辑出来的。绿色代表一个仿真的运动,该运动比原始运动更逼真。图2从左右视角和脚尖的轨迹对比两个运动。
图1 仿真运动(绿色)和初始运动(黄色)的对比图 图2 从左右两个视角观察运动,圆点表示有脚尖的运动轨迹
虚拟现实技术可以将复杂的数值计算过程变成一个可以“看”得见的推演过程,即一个可信的计算过程,使结果直观可信。因此,在虚拟环境中开展计算机仿真技术研究是一项重要内容。
链接:几款优秀仿真软件
由荷兰国家应用科技研究院TNO开发的MADYM多刚体动力学分析软件将有限元融入多刚体系统分析中,成为了一个多刚体与有限元结合的数学模拟软件。该软件中有全世界最好的机械假人的数学模型,已成为汽车碰撞安全性设计的工业标准。
FLUENT是计算流体力学领域的一个著名软件,许多和流体、传热及化学反应有关的问题均可使用它来求解。它具有丰富的物理模型、先进的数值方法以及强大的前后处理功能,在航空航天、石油天然气、涡轮机设计等方面都有着广泛的应用。
Matlab的Simulink是一个用于对动态系统进行建模和设计的平台。它提供了一个交互式图形环境和一个可自定义模块库,使用户能准确设计、仿真、实现、测试各类控制、信号处理、通信和其他时变系统,是从事自动控制领域研究的必备软件。
- 1雪莲2013春夏订货会圆满落幕(图)
- 2全球两大阵营ERP系统的技术分析
- 3Gartner:改变IT产业现有格局的十大技术
- 4Y Combinator为何降低对旗下项目的投资额?
- 5北京12名女性官员落马 美容会所成贪污高发地
- 6移动安全生死一线
- 7协同办公软件建立XX全球信息一体化项目
- 8男子饭店挑选活鱼当面做记号 上桌后仍旧被掉包
- 9日本再拦中国海监飞机 外媒担忧中日军事冲突
- 10虚拟化十四问
- 11轻松阻止黑客接管企业路由器
- 122012太阳能等新能源补贴超200亿元
- 13ITIL与6sigma的关联与应用分析
- 14解密FBI电话及网络监控技术
- 15温总理未对安倍任首相致贺电 说明双边关系紧张
- 16怎样为数据中心“减肥”
- 17公安部:各地自行决定是否设置倒计时信号灯
- 182013年南京家装市场刚需装修仍占主导地位
- 19借力发力360度搜索问世
- 20七招打造最安全的Windows XP操作系统
- 21保监会:人身险销售误导情节严重将追责
- 22风险评估和最佳实践
- 23隐私保护与IT技术应该了解10件事
- 24在CMMI推广过程中EPG常犯的错误
- 25windows中常见网络端口及安全性分析
- 26交换机漏洞五宗罪
- 27内网安全市场的渠道利益模型探讨
- 28系统故障引发的技术分析
- 29新光增持中百集团成第一大单一股东
- 30十项安全措施确保企业安全运营