虚拟环境中碰撞检测算法的研究
船舶操纵模拟器中船舶碰撞检测算法研究

撞 检测 是非 常粗 略且不 准确 的. 为 实现精 确 检测 , 文从 交互 漫游 角度 出发 , 本 针
{
TZo e X ; n TZo e y: n TZo e Z ; n
效率 , 一般 只要 近似模拟碰撞 情 况 , 不要 求碰撞 检 并
测 达到 1 0 0 %精 确 , 时 若 两个 物 体 实 际 未 发 生 碰 此 撞 , 当两者 间 的距离 小 于零 时就 可 以 将其 当作 发 但 生 了碰 撞 , 并计算 粗略 的碰 撞位 置. 3 检测 类别 . ) 可根据 对 检测 结 果 的 要 求 分 以下
第 1 9卷 第 3期 20l1年 9 月
广 州 航 海 高等 专 科 学 校 学 报
J OURNAL OF GUANGZHOU MARI ME COL TI LEGE
Vo .I N‘ 3 1 9 , . S pt 2 1 e . 01
船舶 操 纵 模 拟 器 中船舶 碰 撞 检 测算 法 研 究
fa tmi l o n;
J 9
效 的 ; 是 当两个 对象 的包 围盒相 交 时 , 不 能保证 但 并 这 两个对 象 一定 是相 交 的 , 因为 包 围盒仅 仅是 对 象
边界 的一 个 简单粗 略 的表示 . 因此 , 于包 围盒 的碰 基
}
s u t B u dn B x t c T o n ig o r / 建 立包 围盒 ; /
当要证 明 两个对 象不 相交 时 , 用 包 围 盒 是非 常有 利
作者 简介 : 陈
亮 ( 96 ) 男 , 士 研 究 生 , 要 从 事军 事 航 海 仿 真 技 术 及 应 用研 究 18 一 , 硕 主
第 3期
虚拟现实中的碰撞检测技术研究与设计

虚拟现实中的碰撞检测技术研究与设计虚拟现实(Virtual Reality,VR)作为一种全新的交互方式和体验形式,已逐渐渗透到多个领域,包括游戏、娱乐、教育、医疗等。
在虚拟现实中,碰撞检测技术是确保用户与虚拟环境之间具有真实互动的重要组成部分。
本文将针对虚拟现实中的碰撞检测技术进行研究与设计,探讨现有技术的问题、应用场景及未来发展方向。
首先,我们需要了解什么是碰撞检测技术。
简单来说,碰撞检测技术用于判断虚拟物体之间或虚拟物体与真实物体之间是否存在碰撞。
在虚拟环境中,通过使用碰撞检测技术,可以使用户在互动中感受到真实的物体碰撞和交互。
目前,虚拟现实中常用的碰撞检测技术主要可以分为基于物体表示(Object Representation)和基于碰撞检测算法(Collision Detection Algorithm)两种方法。
基于物体表示的碰撞检测技术主要是通过建立虚拟物体的几何模型或包围盒来表示对象,然后比较对象之间的位置、大小和形状等属性来判断是否存在碰撞。
这种方法的优点是实现简单、计算效率高。
常见的基于物体表示的碰撞检测技术包括几何模型法、包围盒法和模型缩减法。
几何模型法是一种利用虚拟物体的精确几何模型进行碰撞检测的方法。
对于每个虚拟物体,系统需要记录其精确的顶点坐标、面片信息等,然后通过对比两个物体的模型来判断是否碰撞。
这种方法的精度高,可以准确地检测碰撞,但计算复杂度也较高。
包围盒法是指使用简化的盒状模型来表示虚拟物体,并将碰撞检测的过程转化为盒子之间的相交关系。
由于盒子的计算量较小,所以这种方法在碰撞检测中较为常用。
但缺点是无法精确地检测物体之间的碰撞。
模型缩减法是一种更高级的碰撞检测技术,它通过将复杂的几何模型进行简化,如使用多边形网格等,以提高碰撞检测的速度和精度。
另一种常见的碰撞检测技术是基于碰撞检测算法的方法。
这种方法主要通过数学计算和物理模拟来判断碰撞并模拟物理反应。
常见的基于碰撞检测算法的技术包括分离轴测试法、基于网格的碰撞检测法和基于约束动力学的碰撞检测法。
基于虚拟现实过程中的碰撞检测算法优化的研究

U p d a t e ( 实体 ) ; }
u p d a t e ( 实体1 : f 实体. o l dp o s i t i 0 n : = 实体 . c u r r e n t — p o s i t i o n ;
— _
3 . 2 B S P二 叉 树
B S P树是一种高效 的空间分割法对任意两个不相交 的凸多边形 . 它们之间总存在一个平面将它们划分在两个空间 一个称为“ 平面划 i t i o n; 分实体” 法的过滤方法就是利用了此原理 B S P 树可 以很好地实 现该 I f( C o l l i d i n g( 实体) )实体 . c u r r e n t p o s i t i o n : =实体 . o l d pos 过滤 。E S P 树包含的是平面的层级 . 其每一个平面都将一个 区域 的空 C 0 l l i d i n g( 当前实体) 一b o 0 l : { F o r ( 对每一个 虚拟场景 中的实体) 间分割成两个子空间 可将 实体表 面的一部分作为 的叶节点 的平 面 . f i f ( ( 当前实体 I 一目标实体 ) a n d ( E n t i t i e s C o l l i d e f 当前实体 , 目标 该平 面的一个子空 间代表 实体的 内部 ,而另 一个代表实体 的外部 空 间。具有 n 个节点 的二叉 树可在 0( 1 o g ( n ) ) 次 内完成搜索 . 而碰撞 检测 实体) ) r e t u n r t r u e ; ) 的基 础就是搜索 B S P树能很好地应用 于两实体 的相 交检测 采用 r e t u r n f a l s e ; l B S P 树 的 目的就是利用其空 间划分 的特性剔除 “ 无用 的” 多边形 . 以达 E n i t i e sC o l l i d e ( e l , e 2 ) b o o 1 : { F o r ( 对于实体 e l 中的每一个多边 形 p 1 ) 到加速碰撞检测的效果。如果正对实体 A和 B 进行碰撞检侧 . 若 已知 A完全位于与 B相切的平面 P的某一边 . 则仅 需检测 A与 B中与 A { F o r ( 对于实体 e 2中的每一个多边形 p 2 ) 在一侧 的部分 的接触情况 。因此在对 B的 E S P 树进行遍历 . 以检测 A { i f( p o l y g o n s — i n t e r s e e t ( p l , p 2 ) ) r e t u r n t u r e ; } 的包 围球体是否与节 点的平面相交 时 .就可忽略许 多 B中不会 与 A ) 相碰撞 的多边形 对 于 B中的每一个多边形 都需用此方法过滤 在实 r e t u r nf a l s e ;J 常将两实 体 中较小 的实体 作为 A , 较大 的实体作为 B. 实体 以上循环 中的多边形都要求是 凸多边形 . 这样就 能更容易 、 更快 际应用时 . 速地确定多边形的相交。其 中 p o l v g o n s i n t e r s e c t 是检测两个凸多边 形 的大小以其包 围球体 的半径作为判断的标准 这样做是为了更 多地减 相交 的模块 当检测到物体 发生碰撞时 . 可 以通过将 它们移 回原来 的 少需考虑的多边形 的数量 。 3 - 3预先检测碰撞 起始位置米消除碰撞 因为存移动前 的物体位置是“ 安全 ” 的位 置 . 那 经过以上优化 , 碰撞检测 的速度 已大有提高 。但仍有进一步提 高 么移动后 . 它也可能仍是“ 安全” 的位置 另一种处理方法是对整个 虚 并与其发生碰撞 . 若速度合理 . 你 拟空 间进行搜 索 . 为物体找一 个新的位置 . 但此方 法相 当耗 费计算 时 的可能性。设想若你朝一堵墙运动 , 则你 的实体 的一些顶点将极可能位 于端 内 通过 找 间 对 于前一种方法也存在着潜在的危险当将一个物体移 回其前一起 将不会穿过墙壁 . 即可检测 出碰 撞 . 此方法成 为 始位置时 . 必须确信该位置的“ 安全 ” 性 若此 时已有 其它物体移动到 出每一实体上位 于其它实体 内的顶点 . 若 A的一个顶点位于实体 B内. 就可知它们存 在 此位 置. 则必须将它们也进行碰撞检测后移 回其原 始位置最糟糕的情 碰撞预检测 例如 , 况可能是必须依次将整 个场景 中的每一个 物体都逆序移 回各 自的起 碰撞. 无须进行任何多边形 相交 的检测 。虽然 , 此方法不足 以完全确定 始位 置. 以上的碰撞检测算法是最基本 、 最简单 的碰撞检测方法 . 但也 个碰撞 的发生 . 但它确实比多边形 比较 的方法快 多了 另一种预先 再 是速度板慢的碰撞检测算法 i 1 若有两个实体 . 每一个都有 1 0 0 个多边 检测 的方法是判断两个实体的包围盒是否相互叠置 .若相互叠置 . 形. 当它们发生相撞 时 . 则上述算法 中的 E n i t i e s C o l l i d e 模块将被执行 用平 面分割实体 的方法进行检测 1 0 0 " 1 0 0次 两个多边形相交 的检测是需耗费 时间的 . 现在的计算机 4 . 结 论 可在瞬间轻松地完成 1 0 0 0 0次计算 . 但若对场景 中的每一对可能发生 使用过滤方法和 B S P树极大地提高 了碰撞检测的速度 . 但仍然还 碰撞 的物体都进行 1 0 0 0 0 次检测 . 那么要在一秒 内对整个场景刷新 多 存 在进一 步提高速度 的可能 。B S P树的构建需经过大量的计算 . 一旦 次. 其计算量就十分巨大了 . 这是该算法速度极慢的原因 建立就很难修改 。 因此 , B S P 树不适合实体形状发生形变的情况 随着 人们对碰撞 检测算法 的深入研究 . 新 的算法将不断 出现 在可预见 的 2 . 碰撞检测的初步优化方法 减少 内 对慢速算法进行改造的一种有效方法是对其进行 “ 过滤” . 滤去不 未来碰撞 检测领 域的研究 主要将集 中在如何提高检测 的速度 、 存 的占用 、 提高检测 的精度等方面 。 如果能在算法层面有更大的突破 . 需要 的数据 以减少不必要的计算 常用 的“ 过滤” 方法有以下两种 : 相信碰撞检测的应用将 会更具 高度 的真实感 .可在交通事故 分析 、 货 2 . 1 分割过滤法
分布式虚拟环境中环境检测研究

一
中,虚拟物体一般 分布 于多个仿真 节点。每个仿 真节点通 过 多播交换信 息,并以此作为碰撞检测 ( o inD t t n C Us eei ) co
HuftCa aeg  ̄ t
o ru , Jn ag6 10 , i a nG op M ayn 20 0 Of ; n
C e g u a wa n ier gC rt c o C r u , T C e d 10 1 C i a h n d R i yE gn e n otr f n O G o p L D. h l i  ̄ui mg u6 0 8 . ht ) , Ab t a t sr c :B ̄a s n t s a d a a a s b l n o t e d f r n r sa i n o l i n d t t n f r d srb td v ru l u e e t e n v t r eo g t h i e e t wo k tt ,c l so e e i o it u e i a i i o i c o i t e vr n n a h rc e i c f c mp ee e sa d u i u n s , a l a wo sd so o l in h v n e a d o l n io me t s c a a trs so h i t o lt n s n n q e e s n mey t tt i e fc l so a e o c n y h i n o c e p n e t l so n t i a e , n l z s o to n so x shg a g r h i ea l a d t e r p s n e r s o s o a c l i n I h sp p r we a a y  ̄ h r mi g f e it a l o i m n d ti, o i c t n np o oe a h me d d ag rtm e s r n q e e s Alot i e ag rtm al e u e t n e oi l h n u eu i u n s s s w o i h n l h C lb s d wi DR c nq et g t e. h t h u e r e i o h
虚拟场景中的碰撞检测算法

虚拟场景中的碰撞检测算法作者:马登武, 孙隆和, 佟明安作者单位:西北工业大学,陕西,西安,710072刊名:火力与指挥控制英文刊名:FIRE CONTROL & COMMAND CONTROL年,卷(期):2004,29(4)被引用次数:15次参考文献(4条)1.Klosowski J T;Teld M Efficient Collision Detection Using Bounding Volume Hierarchies of K-DOPs[外文期刊] 1998(01)2.Moore M;Wilhelms J Collision Detection and Response for Computer Animation[外文期刊] 19883.Hubbard P M Collision Detection for Intersection Graphics Application[外文期刊] 1995(03)4.Gottschalk S;Lin M C;Manocha D OBBTree: A Hierarchical Structure for Rapid Interference Detection 1996引证文献(15条)1.陈亚东.胡建平.王丽城市地下三维管网建模技术研究[期刊论文]-计算机与现代化 2010(8)2.郭亨波.倪丽萍.蒋欣地下空间轴向包围盒树三维碰撞检测算法研究[期刊论文]-地下空间与工程学报 2010(4)3.基于Virtools的虚拟家居漫游系统的设计与实现[期刊论文]-计算机工程与科学 2009(12)4.王伟.马峻.刘伟基于OBB包围盒的碰撞检测研究与应用[期刊论文]-计算机仿真 2009(9)5.耿文涛.武旭东.刘虎.武哲基于Virtools的战斗机挂弹仿真[期刊论文]-飞机设计 2009(1)6.边美玲.任建平包围盒碰撞检测技术的研究[期刊论文]-机械管理开发 2008(2)7.何伟.李勇.苏虎碰撞检测中的包围盒方法[期刊论文]-重庆工学院学报(自然科学版) 2007(12)8.陈雷.伊明.陈二雷基于包围盒的碰撞检测算法研究[期刊论文]-电脑知识与技术(学术交流) 2007(14)9.彭巧梅.彭双根.陈玉德基于Virtools的碰撞检测技术的研究与应用[期刊论文]-佳木斯大学学报(自然科学版) 2007(3)10.董明助渔模块中鱼群仿真的研究[学位论文]硕士 200711.史晶晶.张桦.程朋亮智能化虚拟人感知模型的一种探索性研究[期刊论文]-天津理工大学学报 2006(4)12.李天信基于装配特征的快速装配仿真技术研究及应用[学位论文]硕士 200613.张红朴实时分布仿真环境下的视景仿真技术研究[学位论文]硕士 200614.王蕾工业智能监控软件中的可视化技术应用与研究[学位论文]硕士 200515.王忠五轴数控加工干涉检查技术的研究[学位论文]硕士 2005本文链接:/Periodical_hlyzhkz200404014.aspx。
虚拟装配中快速碰撞检测算法的研究与实现

Z i i HU HU L . ,Z 1 ANG Yi Y n f n ,GAN C u .u , E Ya . g e h nr n
( eatet o p t c ne n n i e n, Dp r n C m ue Si c dE gn r g m o f r e a ei N n n nvm@ o eoa ts n s o ui ,N nn ins 10 6 hn ) af gU i i fA rnui dAt n ts af gJ gu2 0 1,C i i e ca ra c i a a
d tcini p c vso . Fn l ,teag r h Wa p l d i AT A,ters l h w ta e ag r h a f ciey eet ns aed iin ial h o tm s a pi n C I o i y l i e h ut s o h tt o t C e et l e s h l im n v
维普资讯
第2 7卷 第 1 2期
20 0 7年 1 2月
虚拟漫游的混合碰撞检测算法

进行均匀划分 , 如果某实体 同时位于几个 网格之中, 则对实体按照 网格边进行分割 ( 1 。在划分结束 图 ) 后, 只需要利用世界坐标值除以单元网格长度就可获得 网格单元的坐标。 虚拟场景均匀分解作为混合碰撞检测的子过程 , 它的分解深度 的确定需要衡量以下 2 因素 : 个 ]
1 碰 撞算 法预处 理
在本次研究中, 针对虚拟场景的特点首先进行场景空间的分割 , 进行包 围盒的构造 , 然后 最后综合
利用包围盒和投影技术进行碰撞检测。 11 虚拟 场 景空 间的分 割 . 空间分割的方法有很多种 , 中一类有效 的方法就是用均匀网格对空间实施覆盖 , 其 将空间划分成多 个均等的局域 , 其中每个 网格单元与其中的对象相关联 。这样就把碰撞检测局限到了一个 网格之中, 减
关键词 : 虚拟漫游 ; 空间分解 ; 包围盒 ; 影技术 ; 投 混合碰撞检 测
中图分类号 :t 9 .’ TB 19 文献标志码 : A 文章编号 : 7 -9 3 2 1 ) 4 0 44 1 27 8 ( 02 0 ) 8 2 6 2 0
在虚拟场景漫游中, 由于用户与物体的移动, 物体之间经常会发生碰撞。为了保持虚拟场景漫游的
摘要 : 了提高虚拟漫游 中碰撞 检测 的效 率 , 出一种混合 碰撞检测算 法 。分 析 了虚拟场景 漫游 的特点 , 为 提 给
出了算法实 现的基 本流程 。该方法综合运用空 问分解法 、 包围盒层次 法和投 影技术 , 显著 降低了计算 的复杂 度。并通 过与经 典的 O B算法和 kdp 算 法的性 能进行 比较 , 明了这种混 合碰撞检 测算法 能有效 的提高 B -os 证 虚拟漫游的碰撞 检测效率 。
基于虚拟环境中织物碰撞检测仿真研究

ABS TRACT: s a c a rc c l so ee t n p o lm. I r d t n l f rc s lt n me o s he p o lms Re e r h fb ol in d tci r b e i i o n t i o a a i i a i t d ,t r b e a i b mu o h
, = m g t () 3
一
—
—
结构 弹簧
…
‘剪切 弹簧
其 中, 为质点 i 在时刻 t 所受 的重力 , m 为质点 i 的质量 , g
… 柔性 弹簧
是地球引力 的加 速度 , 为一 常数值 。空气 动力 学 和流 体力 学 给出了空气运动 的流场 , 为了简化计算 过程但 同时保证 真实性 , 我们定义一个平行方 向的风力场 , 风力 为 则