基于射线的虚拟手动态碰撞检测算法
虚拟手术中碰撞检测算法的研究的开题报告

虚拟手术中碰撞检测算法的研究的开题报告一、选题背景随着医学技术的不断进步,虚拟手术已被广泛应用于医学培训、手术规划和术前仿真等领域。
在虚拟手术中,碰撞检测算法是实现仿真手术切割、穿刺等操作的关键技术。
目前,虚拟手术中的碰撞检测算法大多数基于三维几何体的建模和检测,已经具备了比较成熟的理论和技术基础。
但是,针对柔性组织、血管等“软物体”的碰撞检测算法还有待研究。
因此,本课题旨在研究虚拟手术中碰撞检测算法,重点探讨如何应用柔性物体建模和碰撞检测技术,以提高虚拟手术的仿真效果和精度。
二、研究内容1. 虚拟手术中的碰撞检测算法研究现状及问题分析2. 虚拟柔性物体建模方法研究,探讨如何将柔性组织、血管等“软物体”进行建模和仿真3. 基于柔性物体的碰撞检测算法研究,重点考虑柔性物体的弹性和形变特性,并结合刚性物体的碰撞检测算法进行改进和优化4. 实验设计及结果分析,验证新算法在虚拟手术中的精度和可行性三、研究意义本研究将为虚拟手术技术的发展提供新思路和技术支持。
通过研究柔性物体的建模和碰撞检测算法,可以提高虚拟手术的仿真效果和精度,使得虚拟手术更加接近真实手术的操作体验。
同时,本研究对医学教育、手术规划和术前仿真等领域都具有重要的应用价值和推广空间。
四、预期成果和工作计划1. 完成虚拟手术中碰撞检测算法的理论研究和分析,明确目标和问题2. 收集相关数据和文献,研究相关柔性物体建模和碰撞检测算法,并进行创新性改进和优化3. 设计实验方案,验证新算法的可行性和有效性4. 完成论文撰写,提交相关学术期刊进行发表五、研究进度计划第一年:1. 虚拟手术中碰撞检测算法的理论研究和分析,明确目标和问题2. 收集相关数据和文献,研究相关柔性物体建模和碰撞检测算法,并进行创新性改进和优化第二年:1. 继续优化和改进新算法,结合实际场景进行仿真验证和实验2. 设计实验方案,通过实验验证新算法的可行性和有效性第三年:1. 完成论文撰写和修改2. 提交相关学术期刊进行发表六、参考文献1. Eric A. Love and Takeo Kanade. A Physics-based Deformable Model for Cloth Animation. SIGGRAPH 1997.2. Lange M, Seemann R, Lamecker H, et al. Simulation of soft tissue using a hybrid approach[C]// International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Berlin, Heidelberg, 2006: 255-262.3. Solenthaler B, Teschner M. A unified particle model for fluid–solid interactions[J]. ACM transactions on graphics (TOG), 2009, 28(1): 1-7.4. Hu G, Sun M, Zheng F, et al. Efficient GPU-based simulation for coronary blood flow with vessel motion and flexible walls[C]// International Conference on Medical Image Computing and Computer-Assisted Intervention. Springer, Cham, 2019: 156-164.5. Sang-Woo Han, Choi Young-Jin, Park Gu-Jin, A Study on Physical-based Cloth Animation using Mass-Spring Model, The Journal of the Korea Contents Association, 12/2007; 7(12):330-336.以上是本研究的开题报告,如有更改,将提交导师审定。
虚拟仿真中的碰撞检测算法的研究与实现的开题报告

虚拟仿真中的碰撞检测算法的研究与实现的开题报告一、选题背景和意义虚拟仿真技术是近年来发展迅速的一项技术,在人机交互、游戏开发、电影特效等领域得到了广泛的应用。
其中碰撞检测技术是虚拟仿真中必不可少的一项技术,它一般作为物理引擎的核心模块使用,用于模拟物体之间的相互作用。
因此,开展虚拟仿真中碰撞检测算法研究,对提升虚拟仿真技术的质量和效率具有重要的意义。
目前,虚拟仿真中已经存在着许多常见的碰撞检测算法,例如Bounding Volume Hierarchies(BVH)算法、Uniform Grid算法和Octree 算法等。
这些算法虽然各自具有其优点和适用范围,但它们也存在着一些不足和局限性,例如在进行大规模物体碰撞检测时,算法的效率往往难以满足需求;在处理动态形状变化的物体时,这些算法也可能不够精确。
因此,需要通过对硬件资源和软件算法的深入研究,来寻找更高效、更精确的碰撞检测算法,使虚拟仿真技术更好地服务于实际应用。
二、选题研究内容和方案1.研究内容本课题旨在研究虚拟仿真中的碰撞检测算法,包括但不限于以下内容:(1)常见的碰撞检测算法的工作原理和优缺点的介绍和分析,包括BVH算法、Uniform Grid算法和Octree算法等。
(2)对碰撞检测的物理学原理和计算方法进行深入了解和研究,包括相互作用力的计算、碰撞检测的分类和实现。
(3)探究在大规模物体碰撞检测场景下的碰撞检测算法优化问题,包括利用并行计算、分布式计算等技术提高算法运行效率,提高算法的精度和稳定性。
(4)以实际应用为导向,将研究成果应用于相关领域,例如游戏开发、虚拟现实等。
2.研究方案针对以上研究内容,本课题的具体研究方案如下:(1)系统性学习和掌握相关知识,包括物理学、数据结构和算法等方面的知识。
(2)综合比较和分析现有的碰撞检测算法,确定研究方向和重点。
(3)提出虚拟仿真中大规模物体碰撞检测场景下的算法优化方法,进行实验验证和性能评估。
ue4常用算法

ue4常用算法UE4常用算法一、简介UE4(Unreal Engine 4)是一款强大的游戏开发引擎,广泛应用于游戏开发、虚拟现实和增强现实等领域。
在UE4的开发过程中,使用一些常用算法可以帮助开发者更高效地实现各种功能。
本文将介绍UE4常用的几种算法及其应用。
二、碰撞检测算法1. AABB碰撞检测算法AABB(Axis-Aligned Bounding Box)是一种常用的碰撞检测算法,它适用于多种场景,如物体与物体之间的碰撞检测、射线与物体的相交检测等。
在UE4中,使用AABB碰撞检测算法可以实现游戏中的物体碰撞效果。
2. OBB碰撞检测算法OBB(Oriented Bounding Box)是一种基于物体自身旋转的碰撞检测算法。
与AABB碰撞检测算法不同的是,OBB碰撞检测算法可以处理旋转的物体,使得碰撞检测更加准确。
在UE4中,使用OBB碰撞检测算法可以实现更加真实的碰撞效果。
三、寻路算法1. A*算法A*(A-Star)算法是一种常用的寻路算法,它可以在一个给定的地图上找到两个给定点之间的最短路径。
在UE4中,使用A*算法可以帮助开发者实现游戏中的自动寻路功能,例如NPC角色的移动、敌人的追击等。
四、光照计算算法1. 光线追踪算法光线追踪算法是一种用于模拟光照效果的算法,它通过模拟光线从光源出发并在场景中反射、折射等过程,计算出最终的光照效果。
在UE4中,使用光线追踪算法可以实现逼真的光照效果,使游戏画面更加真实。
五、粒子系统算法1. 引力模拟算法引力模拟算法是一种常用的粒子系统算法,它通过模拟物体之间的引力作用来实现粒子的运动效果。
在UE4中,使用引力模拟算法可以实现粒子的自然下落、旋转等效果,使游戏中的粒子效果更加逼真。
六、物理模拟算法1. 刚体碰撞算法刚体碰撞算法是一种用于模拟物体之间碰撞效果的算法,它可以计算出物体之间的碰撞力、反弹效果等。
在UE4中,使用刚体碰撞算法可以实现物体之间的真实碰撞效果,使游戏中的物体行为更加真实。
虚拟手术中实时碰撞检测技术

虚拟手术中实时碰撞检测技术研究彭 磊 张裕飞 王秀娟(泰山医学院 信息工程学院 山东 泰安 271016)摘 要: 碰撞检测是虚拟手术的关键技术,为提高检测速度,满足系统实时性的要求,提出空间剖分和层次包围盒相结合的方法。
使用八叉树表示法对虚拟场景进行空间剖分,在叶节点构建层次包围盒。
进行碰撞检测时属于不同八叉树节点的几何元素不会相交,否则使用层次包围盒算法继续进行检测,对于有可能相交的几何元素再进行精确相交检测。
关键词: 虚拟手术;碰撞检测;空间剖分;层次包围盒中图分类号:TP391.9 文献标识码:A 文章编号:1671-7597(2012)1120029-02进行碰撞检测时从八叉树的根节点开始,计算两几何元素0 引言是否属于同一节点,如果不属于同一节点则不相交,如果属于虚拟手术是集医学、生物力学、材料学、计算机图形学、同一节点,递归的到下一级节点进行检查,直到发现两几何元虚拟现实等诸多学科为一体的交叉研究领域。
虚拟手术在医学素属于同一叶节点,则需要进一步使用层次包围盒进行检查。
中的应用主要包括:手术计划与过程模拟、术中导航与监护、 2 层次包围盒手术教学与训练等。
碰撞检测是虚拟手术系统中的关键技术,贯穿于虚拟手术的整个过程。
对于八叉树的每个叶节点包含的几何元素,建立层次包围虚拟手术系统中的对象根据材质可分为刚体组织和软件组盒(Bounding Volume Hierarchy ,BVH )。
相对于单纯的层次织。
骨骼、手术器械等属于刚体组织,而人体的许多器官如肌包围盒技术,使用空间剖分与层次包围盒相结合的方法进行碰肉、血管、肝脏等属于软体组织。
以往大部分碰撞检测的研究撞检测,构建的层次树规模更小,计算量更少。
层次包围工作都是针对刚体对象的。
与刚体相比较,软体组织由于其特殊的物理性质,在外力或某些操作的作用下会发生几何形状、位置甚至数量上的变化,因此基于软体组织的碰撞检测需要更详细的信息和更多的处理。
虚拟手术实时物体碰撞检测和软组织变形研究

F me h d . Th s p p rha E t o s i a e smuc stv a i st ur e i a in. h po iie me nng o s g r smulto y
KEYW ORDS:S r e i lt n; ols n d tc in; fr t n o ott s e u g r smu ai C l i ee t y o io o De oma i fs f i u o s
物体 间的碰撞 , 同时还要 让软组 织模 型按 照一定 的规 律 , 形
1 引 言
虚 拟现实作 为一 门 涉及 计算 机 图形 学 、 算 机 仿 真技 计 术、 人工智 能 、 人机 接 口技术 、 多媒体技 术 、 图像处 理与 模式 识别、 传感技术 、 网络技 术 以及高 度并 行 的实时计 算技 术等
众 多 学 科 的 交 叉 技 术 取 得 了长 足 的发 展 … 。 虚拟现实技 术具 有广 泛 的用 途 和发 展 前 景 , 医 学领 在
象、 准确地模拟 出变形 。本文 的 目的就是找 出一个能够 比较 方便 、 快捷 、 精确 的方法来 解决 这两 个 问题 。对 于实时碰 撞 检测 , 本文 中使用 了包 围盒检测结 合三角面 片检测 的方 法来 检测物体之间的碰撞 , 且找 到相 互碰撞 的 聪个三 角面 片 , 并 本方法优化 了虚拟手术 中的物体碰撞 检测 , 减少 了不必 要的
基于虚拟装配的碰撞检测算法研究与实现_刘检华

博导, 博士, 研究方向为数字化设计与制造。
要对实际发生干涉的区域,根据零部件之间的几何约束配合 关系,进行精确的剔除。
目前国内外学者对虚拟环境下的碰撞检测进行了深入 的研究,并做了大量富有成效的工作,提出了空间分解法和 层次包围盒法等两类主流碰撞检测算法[3-4],其中层次包围 盒方法是当前广泛采用的方法,该方法采用能够包围虚拟物 体的长方体来代替虚拟物体进行碰撞干涉检测,这种方法计 算简单,容易实现快速碰撞检测。日本 ATR 通讯系统实验 室的 A.Smith[5] 提出了一种面向虚拟现实系统的实时精确 干涉算法,该算法能进行面片级的精确干涉检测。但是,上 述方法应用到虚拟装配中时,都存在着不足,不能很好地满 足虚拟装配所特有的精确性要求。
从虚拟装配的应用需求和实际出发,提出一个面向虚 拟配的分层精确碰撞检测算法,该算法分为四层:包围盒 层、中间层、面片层、精确层,如图 1 所示。
(1) 包围盒层 如果当前移动的物体 Ö1={Pi | i=1, … n}的包围盒与静 止物体 Ö2={Pj | i=1, … m}的包围盒完全分离,则 Ö1 、 Ö2 之 间不存在干涉(其中 Pi 和 Pj 分别表示物体 Ö1 与物体 Ö2 的 组成零部件),否则,则进行中间层碰撞检测。 通过包围盒层检测,可以剔除很多互相分离不会产生干
Vol. 16 No. 8 Aug. 2004
刘检华, 等:基于虚拟装配的碰撞检测算法研究与实现
·1777·
(3) 面片层 对面片数组 N1={Li | j=1, … n} 中所有的面片 Li 和 N2={Lj | j=1, … m}中所有的面片 Lj 进行面片之间的碰撞检 测,面片层碰撞检测的结果是得到干涉的面片对数组 N3={Dk | k=1,…n },其中 Dk= (Li, Lj ) 表示一个面片对。 如果数组 N3 的数目为零,则零件 P1 与零件 P2 不发生 面片干涉,否则,则进行精确层检测。 (4) 精确层 结合零件之间的几何约束关系,对干涉的面片对数组 N3={Dk | k=1, … n }中所有面片对 Dk,进行精确性检测,如 果某面片对所对应的几何体素之间存在着几何约束关系,则 剔除该面片对。精确层碰撞检测的结果是得到经过精确化干 涉的面片对数组 N4。 在上面的四层碰撞检测算法中,最关键的是面片层的 碰撞检测和精确层检测,下面分别对这两层的算法进行详细 描述。
虚拟手术中基于可变方向凸包的碰撞检测算法

摘
要: 为 了 实现 机 器人 辅 助 虚 拟 手 术 中 快 速 精 确 的 碰 撞 检 测 , 提 出 了基 于 可 变方 向 凸 包 的 层 次 包 围 盒 碰 撞 检
测算法。在虚拟场景 中, 手术 器械末端运动复 杂多变且软体组 织持 续形 变, 分析 器械 和软组 织的作 用形 式 , 根据 器械
史玲玲 , 王伟 东 , 闫志远 ,
( 1 . 哈尔滨工业大学 机电工程学院,哈尔滨 1 5 0 0 8 0 ; 2 . 机器人技术 与系统 国家重点实验室( 哈尔滨工业大学) ,哈尔滨 1 5 0 0 8 0 ) ({通信作者电子邮箱 s h i l i n g l i n g — h i t @y a h o o . c n )
COD EN J YI I DU
h t t p : / / w w w . j o c a . a n
d o i : 1 0 . 1 1 7 7 2 / j . i s s n . 1 0 0 1 — 9 0 8 1 . 2 0 1 3 . 0 9 . 2 6 1 4
虚 拟 手 术 中基 于可 变 方 向 凸包 的碰 撞 检 测 算 法
运动学参数 , 预测软组 织的变形 , 将其与 固定方 向凸 包检 测方 法相
密性 , 进 而减 少相 交测试 的次数 , 加 速碰 撞检 测。仿真 实验 证 明 了可 变方向 凸包的碰撞检 测算 法可 以实现精确 的碰
撞 检测 ; 与固定方 向凸包算 法相 比在快速碰撞检测 方面具有优越性 , 当软 组织 包含 的面片数 目越 多时, 快速性优 势越
S HI L i n g l i n g , . W ANG We i d o n g 一 . YA N Z h i y u a n ’
虚拟手术中的快速碰撞检测算法

针 对 虚 拟 手 术 的 基 于层 次 包 围体 的 快 速碰 撞 检 测 方 法 。该 方 法 主 要 应 用 了层 次 包 围盒 ( V 的 思 想 , 时根 据 不 同 B H) 同
对 象的拓扑 结构特征 , 采用不 同的 包围盒技 术来表 示。首先 , 用层 次 包围盒 来表 示手 术工具 , 用层次 包围球表 示手 术
对 象; 然后 , 用 包 围球 和 方 向 包围 盒 的 相 交 测 试 快 速 排 除 不 相 交部 分 ; 后 , 于 可 能 发 生碰 撞 的 部 分 再 使 用 更 为 利 最 对
精确的三 角面片相 交测试 来确定碰 撞信息 。实验 结果表 明, 在相 同的虚 拟手 术场景 下, 出的这种 方法较使 用单 一 提
J u n lo o u e p l ai n o r a fC mp tr A p i t s c o
I N 0 SS 1 01— 0 9 81
201 03 01 2. —
计 算 机 应 用,0 2 3 ( )7 9— 2 2 1,2 3 : 1 7 1
C0D YIDU EN J I
的 层 次 包 围盒 具 有更 快 的 速度 。
关 键 词 : 撞 检 测 ; 拟 手 术 ; 围球 ; 向 包 围盒 ; 次 包围 体 碰 虚 包 方 层 中 图 分 类 号 :T 3 19 T 3 16 P 9 . ;P 0 . 文 献 标 志码 : A
Fa tc lii n d t c i n m e h d i v r ua ur e y s o lso e e to t o n i t ls g r
X E Q a . .G N u -u I i r n u E G G oh a
(ntueo fr ainSi c n e n l y otw s U i rt i nS a ni 10 7 hn) Istt fI om t c nea dTc oo ,N r et n e i,X ' h ax 0 2 ,C ia i n o e h g h v sy a 7
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P 0 + T × α = V1 + U ( V2 - V1 ) + V ( V3 - V1 ) ( 5) 由式( 3 ) ~ ( 5 ) 整理得: T V2 - V1 , V3 - V1] O - V1 = [- α, U V ( 6)
若有解则行列式 [- α, 式( 6 ) 是一个线性方程组, V3 - V1]不为 0 。根据 T、 U、 V 的含义, V2 - V1 , 当T > 0, 0 < U < 1, 0 < V < 1, 0 < U + V < 1 时交点的坐标 V) , 在三角形内部。 解式 ( 6 ) 可得交点坐标为 ( U, 射线起始点到交点的距离为 T。接下来解这个方程 E2 = V3 - V1 , H = O - V1 , 式 组, 令 E1 = V2 - V1 , ( 6 ) 可以写成: T [- α, E1 , E2] U = H V 根据克莱姆法则有: T = U = V = 1 | - α E1 1 | - α E1 1 | - α E1 E2 | E2 | E2 | H E1 E2 E2 | H| ( 8) ( 7)
收稿日期: 2014 - 12 - 15 基金项目: 国家科技重大专项煤层气田地面集输信息集成及深度开发技术( 2011ZX05039 - 004 - 02 ) 作者简介: 朱希安, 男, 博士, 教授。
第2 期
朱希安等: 基于射线的虚拟手动态碰撞检测算法
21
间碰撞检测效率, 而对于动态环境下、 复杂的虚拟环 境中的物体之间的碰撞检测问题, 高效率的碰撞检 测算法还不多, 因此快速有效的碰撞检测算法对提 高虚拟环境的真实性起着至关重要的作用 。 目前离散碰撞检测应用最为广泛, 它同时保障 了碰撞检测的精确性, 且满足碰撞的实时性。 但离 散碰撞检测由于只是检测每个时间点的相交情况 , 容易造成漏测和穿透。连续碰撞检测将时间作为碰 撞检测的参数之一, 实时地检测运动物体与其他物 体之间的碰撞检测情况。虽然能够得到较精准的碰 撞情况, 但是检测的计算量大, 特别是在多运动实体 之间的碰撞检测, 因此系统的计算对碰撞检测算法 的要求很高。 本文作者提出的基于射线的虚拟手动态碰撞检 测算法利用手指抓取物体的特征规律, 可以减少模 型片面之间的底层碰撞检测的计算次数 , 同时还能 保证避免出现手指穿透模型、 测漏等现象, 保证了系 统的实时性和精准性。 其基本思想是: 通过射线判 断 2 个碰撞对象是否在同一运动方向, 并通过一个 距离值判断 2 个物体的相对运动方向, 如果 2 个物 体相互靠近, 则在上一帧 2 个物体接触的情况下, 本 帧仍然保持接触, 本帧不需要进行碰撞检测计算; 在 2 个物体有可能接触也可能不接触, 其他情况下, 需 要进行实质的碰撞检测计算来确定 。
第 30 卷 第 2 期 2015 年 4 月
北 京 信 息 科 技 大 学 学 报 Journal of Beijing Information Science & Technology University
Vol. 30 No. 2 Apr. 2015
文 章 编 号: 1674 - 6864 ( 2015 ) 02 - 0020 - 06
| -α H | - α E1
2
2. 1
虚拟手抓取物体分析
力反馈
根据模拟对象性质的不同, 物理模拟可以分为 刚体和软体两类。刚体是指在运动过程中不会发生 形变的物体, 软体是指在运动过程中会发生形变的 物体。人手兼具了刚体和软体的特点。分析人手的 结构特征和运动特点, 在虚拟现实中可以将虚拟手
式中, 参数 U 控制 V2 在结果中占有多大的权值; 参
0
引言
在虚拟现实
[1 ] [2 ]
系统中, 虚拟手技术 是实现自 然、 高效人机交互的关键技术之一。 人手通过虚拟 手对虚拟环境中的操作对象进行直接操作, 虚拟手 接触、 抓取、 移动、 旋转、 释放物体时, 使用者在人机 交互过程中有着更加丰富直观的画面 。与传统的人 手通过键盘、 鼠标对操作对象的间接操作相比 , 虚拟
数 V 控制 V3 在结果中占多大的权值; 而 1 - U - V 则控制 V1 在结果中占有多大的权值。 则任何一点 V ) 来表示, 都可以用坐标 ( U, 这种坐标的定义方式 即为重心坐标。 1. 2 射线三角面相交 已知射线起始点 P0 ,射线方向 α,三角形的 3 V2 、 V3 , 个顶点: V1 、 需要判断出射线是否和三角面 V) , 相交, 如果相交计算出相交点的重心坐标 ( U, 以 及射线起始点到交点的距离 T。假设射线和三角面 相交, 交点为 O。则有: O = V1 + U ( V2 - V1 ) + V ( V3 - V1 ) O = P0 + T × α 所以, ( 3) ( 4)
Dynamic collision detection algorithm of virtual hand based on ray
ZHU Xi'an,XU Yuxiang
( School of Information and Communication Engineering ,Beijing Information Science & Technology University,Beijing 100192 ,China)
基于射线的虚拟手动态碰撞检测算法
朱希安 , 徐宇翔
( 北京信息科技大学 信息与通信工程学院, 北京 100192 )
要: 针对没有力反馈的数据手套, 结合刚体和软体模拟人手, 利用射线特性对虚拟 手抓取操作过程进行分析, 提出了基于射线的虚拟手动态碰撞检测算法 。 首先将射线碰撞应用于 摘 数据手套碰撞检测上。文中描述了该算法, 并给出了算法的流程图, 针对单个手指和物体接触过 程, 将该动态碰撞检测算法和传统的静态碰撞检测算法进行比较 , 结果证实: 该动态碰撞检测算法 能够提供具有真实感的虚拟手交互模拟视觉信息反馈 , 有效避免了虚拟手和物体间的穿透, 在总 体性能上优于传统静态碰撞检测算法 。该动态碰撞检测算法可以推广到其他的系统仿真应用 。 词: 力反馈; 虚拟手; 射线; 碰撞检测 中图分类号: TP391. 9 文献标志码: A 关 键
22 模型
[7 - 8 ]
北京信息科技大学学报
ห้องสมุดไป่ตู้
第 30 卷
5根 做如下简化: 整个虚拟手由 1 个手掌、 手指组成; 其中拇指包括远、 近 2 个指节和 2 个关
为了作图和分析方便, 本文把虚拟手指抽象为 连杆铰链结构, 将 3 个指节看成 3 个连杆, 将指节之 间的关节看成相邻连杆的铰链。 同时假设: ① 抓取 过程中只有虚拟手末端指节运动, 其他 2 个指节不 动; ②认为虚拟手和物体接触瞬间, 可以看作物体静 止, 虚拟手指相对于物体运动; ③虚拟手指可以进入 物体内部。图 3 中立方体代表抓取对象, 而 3 个长 方形代表虚拟手指的 3 个指节。虚拟手指抓取物体 的过程可以作如下分析: 手指向物体这侧运动, 从跟 物体不接触到接触, 如图 3 ( a ) 所示; 手指背离物体 运动, 跟物体由接触到不接触, 如图 3 ( b) 所示; 手指 接触物体后, 在没有力反馈的操作设备阻止操作者 的手指继续运动, 手指将进入物体内部, 如图 3 ( c ) 所示。
节, 其他 4 个手指则包括远、 中、 近 3 个指节和 3 个 关节; 每个指节包含独立的骨骼控制, 为刚体部分, 而 2 个指节之间的可变形关节为软体部分, 如图 1 所示。
图1
手指关节形体示意图
在虚拟手抓取仿真中, 虚拟手和物体都是三角 [9 ] 面片模型, 在没有力反馈 的情况下, 经常出现虚 拟手在接触物体后虚拟手指进入到物体内部的情 况。如果此时虚拟手和物体之间的碰撞检测采用的 是传统的静态碰撞检测算法, 会出现因为没有相交 的三角面片, 从而判断虚拟手指和物体是不接触的 情况, 这和真实情况相违背, 如图 2 所示。力反馈原 本是应用于军事上的一种虚拟现实技术 , 它利用机 械表现出的作用力, 将数据通过力反馈设备表现出 来。但力反馈数据手套成本较高, 且在使用时间长 后, 钢缆会因为反复受到拉扯而伸长, 万一钢缆断 裂, 力反馈效果也就失灵了。 本文算法能在没有力 反馈的情况下通过射线碰撞来预判虚拟手指与虚拟 物体持续接触, 使虚拟手指保持在物体表面, 无法完 全穿透物体内部, 保证碰撞检测效果与实际一致。
1
射线碰撞
射线碰撞
[6 ]
的基本思想: 一条光线在场景中可 以和所有的碰撞器发生碰撞, 并返回碰撞的细节信 息。在三维矢量空间中, 射线的定义为 P = P0 + t × α ( 1)
P 为射线上的某个点; P0 为射线的起点; α 为 式中, | α | = 1 。 P、 P0 、 t表 射线的方向, α 都是三维矢量, t ∈[ 0, P表 示时间, 当 t = 0 时, ∞ ) 。根据式( 1 ) , 示起点; t 为其他数值时,P 表 示 为 射 线 上 其 他 的 点。 α 仅为射线的方向, 则 t 表示射线上其他点离开 。 射线起点的距离 1. 1 重心坐标 一个三角形所在平面的任意点都能表示为顶点 的加权平均值, 这个权就叫重心坐标。 一个三角形 的 3 个顶点坐标在笛卡尔坐标系中可假设为 V1 ( x 1 , y1 , z1 ) , V2 ( x 2 , y2 , z2 ) , V3 ( x 3 , y3 , z3 ) ,则 三 角 形中任意一点的坐标可以表示为 P V = V1 + U ( V2 - V1 ) + V ( V3 - V1 ) ( 2)
Abstract : By using a model combining both solid and deformable objects to simulate human hand , a new dynamic collision detection algorithm of virtual hand based on ray is put forward based on the analysis of ray features of fingers grasping virtual object. The algorithm could be applied in no force feedback data glove. The algorithm is studied and the flow charts of the algorithm are given in the paper. Also ,the comparison is conducted between this dynamic collision detection algorithm and the traditional static one in the collision detection of one finger and virtual object. The results indicate that the performance of the proposed algorithm is faster than the traditional static one. Furthermore , the algorithm can provide realistic visual information feedback of virtual hand interaction , and avoid effectively penetration between virtual fingers and object. This dynamic algorithm can also be applied to other dynamic collision detection simulation systems. Key words: force feedback; virtual hand; ray; collision detection 手技术更符合人类的认知习惯, 极大提高了用户的 视觉信息反馈真实感。 在煤矿等领域的虚拟培训、 虚拟维修, 以及在医 学上虚拟手术等动态操作仿真中, 需要根据碰撞检 [3 ] 测 判断虚拟手是否抓住交互物体。 在该交互过 程中需要计算虚拟手同虚拟物体之间的实时碰撞检 测, 这是一个持续接触的过程, 对碰撞检测阶段的运 行提出了较高的要求。碰撞检测是计算机图形学和 虚拟现实中最基本且非常重要的组成部分 。目前的 碰撞检测算法主要是研究在静态环境下 2 个物体之