ode物理引擎在space操作系统中的应用

ode物理引擎在space操作系统中的应用

ID:24332284

大小:50.00 KB

页数:3页

时间:2018-11-13

ode物理引擎在space操作系统中的应用_第1页
ode物理引擎在space操作系统中的应用_第2页
ode物理引擎在space操作系统中的应用_第3页
资源描述:

《ode物理引擎在space操作系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、ODE物理引擎在Space操作系统中的应用摘要:Space是计算机科学联合研究院自主研发的三维操作系统。碰撞检测子系统是三维桌面环境中最重要的模块,是系统中所有对象处理过程的基础。必须达到真实、实时。ODE开源物理引擎,是一个专为模拟刚性物体高质量免费函数库,由于其快速、健壮已经被许多开源游戏引擎使用。所以将其移植到Space中是一个非常有意义的工作,可以满足系统对碰撞检测的要求。关键词:物理引擎;碰撞检测;ODE1.Space操作系统简介Space三维操作系统是基于虚拟现实提出的提出设计理念。以房间(room)为

2、分割单位,使得用户凭借日常生活常识即可轻松操控计算机。例如,用户如果想看书,可以进入“图书馆房间”去浏览书籍;如果想写文档,可以进入”办公室房间“,使用Office等各种软件;如果想上X查资料,可以进入”X络房间”,使用IE,FireFox等浏览器。如图1所示,碰撞检测模块是Space三维桌面环境中最重要的模块,是系统中所有对象处理过程的基础,大部分的人机交互过程都要依靠此模块。所以它必须达到真实、实时,才能使整个系统更能吸引用户使用。图1Space中的碰撞检测模块2.ODE物理引擎的特点ODE是由RusselSm

3、ith开发的一款开源物理引擎,擅长模拟带铰链关节的刚性体结构。该引擎是快速、健壮和稳定的,可以进行交互式或者实时模拟,尤其擅长模拟运动的物体。该引擎使用了高度稳定的积分器,使得模拟错误不会变得失控。下面通过一些具体概念来具体说明:1)刚性体(RigidBody)的属性从模拟的观点来看,刚性体有多种属性,一些随时间可变:*物体引用点的位置矢量(x,y,z)。通常,引用点对应着物体的质心。*参考引用点的线速度矢量(vx,vy,vz)。*物体的朝向。使用四元数(qs,qx,qy,qz)或者一个3x3旋转矩阵来表示。*角速

4、度矢量()为空间分割单位,因为两个房间内的物体不会发生碰撞,所以我们可以分别模拟。每个房间可以形成一个世界()为例说明代码的结构。其余房间类似。简化需求:场景:一个桌子和六个墙壁。物体:四台笔记本电脑。初始时:电脑都置于桌子上,只于桌面发生碰撞不至于下落。可以使用鼠标选中某台电脑横向拖动使其与其余电脑发生碰撞。这样电脑会与桌面发生摩擦,或者移开位置,或者掉落至墙面(包括地面)发生反弹。模拟代码如下:1)创建一个动态的世界(pty(contactgroup);在模拟过程中,当两个物体存在潜在碰撞时,执行回调函数处理碰

5、撞检测:voidnearCallback(void*data,dGeomIDo1,dGeomIDo2){inti;//取得可能发生碰撞的两个物体dBodyIDb1=dGeomGetBody(o1);dBodyIDb2=dGeomGetBody(o2);//如果这两个物件已经通过关节相连,则不再处理if(b1b2dAreConnectedExcluding(b1,b2,dJointTypeContact))return;//设置接触面的属性,如摩擦系数,弹性系数,ERP等dContactcontactathandPh

6、ysicsforGameProgrammersNewRidersPublishing,2004,248-297.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。