第 43 卷第 4 期 东 北 师 大 学 报 ( 自 然 科 学 版 ) Vol .43 No .4
2011 年 12 月 Journal of Northeast Normal University(Natural Science Edition) December 2011
[文章编号]1000‐1832(2011)04‐0049‐05
[收稿日期] 2011‐07‐25
[基金项目] 国家自然科学基金资助项目 (61106068) ;吉林省科技发展计划项目 (201101115) .
[作者简介] 付彤 (1965 — ) ,女 ,副教授 ,主要从事计算方法研究 .
最 小 距 离 分 裂 算 法 在 N U RBS 曲 面 间 的 改 进
付 彤
1
,曲慧雁
2
(1畅 吉林工程技术师范学院 ,吉林 长春 130052 ;
2畅 吉林农业大学信息技术学院 ,吉林 长春 130037)
[摘 要] 基于分裂算法中最小距离在 NURBS 曲面间的应用研究 ,提出了以包围体来代替
包围盒(AABB)的思想 ,在求凸包间距离时选取了 GJK 算法 ,并对分裂算法进行了改进 ,从而
在算法精度以及算法速度方面实现了极大地提高 .
[关键词] 凸包 ;分裂 ;GIK 算法 ;NURBS 曲面
[中图分类号] TP 301畅6 [学科代码] 520 · 1040 [文献标志码] A
0 引言
随着计算机技术的发展 ,特别是虚拟现实技术的不断发展 ,碰撞检测已经成为计算机动画 、计算几
何等研究领域的重要组成部分 .因用户间交互以及物体运动 ,使得虚拟环境下 ,物体之间的碰撞时常发
生 ,考虑到此环境下对真实性保护的要求 ,对两物体间碰撞发生的可能性必须给出及时的判断 ,因而需
要计算两物体之间的距离 .
进行精确的碰撞检测 ,对于提高虚拟环境的沉浸感有着至关重要的作用 ,而虚拟环境自身的复杂性
和实时性对碰撞检测提出了更高的要求 .碰撞检测主要依据虚拟空间中的任意两个不可刺穿的物体不
能存在于相同位置的空间区域这一命题 .目前碰撞检测算法有三类 :包围盒层次法 、空间剖分法 、距离向
量法
[1‐4]
.空间多面体间距离成为求解问题的焦点 ,目前其对于凸多面体的空间距离研究较多 .如 :文献
[5‐6]对于两凸多面体间提出了距离求解的快速算法 ,分别是 GJK 算法和 LC 算法 .在碰撞检测中 ,作者
以参数曲面为基础进行了研究 ,做出了一些成就 .文献[7]主要研究表面为自由曲面物体的应用问题 .国
际标准组织(ISO)于 1991 年对于工业用品制定了 STEP 标准 ,其中数学中唯一用以定义的自由型曲线
和曲面的方法就是 NURBS ,而 NURBS 方法恰恰可以定义绝大多数的自由曲线和曲面 .目前能见到的
有关曲面间距离的研究关于自由型的还比较少 ,而关于有理 Bezier ,其有向曲面间距离算法的研究在文
献[8]中已经给出 ,并且该研究成果是前所未有的 .
本文采用增量算法对凸包围多面体与曲面控制点进行求解 ,将 GJK 算法应用与凸多面体的距离求
解综合起来 ,用包围体代替原来的包围盒算法 ,改进了原有的分裂算法 .
1 理论背景
1畅1 NURBS 曲面简介
NURBS 曲面的表达式
p
(u ,v)=
∑
n
i
=
0
∑
m
j
=
0
B
i ,k
(u)B
j
,l
(v)W
i ,
j
V
i ,
j
∑
n
i
=
0
∑
m
j
=
0
B
i ,k
(u)B
j
,l
(v)W
i ,
j
, (1畅1)
其中 :V
i ,
j
为控制顶点 ,W
i ,
j
为权因子 ,B
i ,k
(u)和 B
j
,l
(v)分别为沿 u向具有 k 次和沿 v 向具有 l 次的 B 样