一种衣物自碰撞检测低层裁剪优化方法.pdf

上传人:000****221 文档编号:18908 上传时间:2018-01-12 格式:PDF 页数:9 大小:2.42MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510204509.2

申请日:

2015.04.27

公开号:

CN104778332A

公开日:

2015.07.15

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/50申请日:20150427|||公开

IPC分类号:

G06F17/50

主分类号:

G06F17/50

申请人:

北京航空航天大学

发明人:

何兵; 吕越; 井密

地址:

100191北京市海淀区学院路37号

优先权:

专利代理机构:

北京科迪生专利代理有限责任公司11251

代理人:

杨学明; 贾玉忠

PDF下载: PDF下载
内容摘要

本发明公开了一种衣物自碰撞检测低层裁剪优化方法,在衣物动态仿真的自碰撞检测过程中,通过基元对层面的低层裁剪,裁剪掉冗余和不可能发生碰撞的基元对,得到所有可能发生碰撞的候选基元对。其步骤是(1)进行基于特征分配的低层裁剪优化。通过特征分配裁剪掉冗余的基元对,在对候选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率。

权利要求书

1.  一种衣物自碰撞检测低层裁剪优化方法,其特征在于通过以下步骤实现:
(1)进行基于特征分配的低层裁剪优化,通过特征分配裁剪掉冗余的基元对,在对候 选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;
(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不 发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率。

2.
  根据权利要求1所述的一种衣物自碰撞检测低层裁剪优化方法,其特征在于:所述 步骤(1)中的进行基于特征分配的低层裁剪优化,通过特征分配裁剪掉冗余的基元对,在 对候选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对方 法如下:
(2.1)预处理阶段,对网格进行特征分配;分配原则如下:
(2.1.1)每个基元特征,必须分配给一个三角形;
(2.1.2)每个基元特征,只能分配给一个三角形;
(2.1.3)每个基元特征,只能分配给包含它的三角形;
以上分配原则保证了每个基元特征都唯一分配给一个包含它的三角形;
(2.2)碰撞检测阶段,每个时间步长,对高层裁剪得到的候选三角形对,分配进行后续 基本相交测试的候选基元对;
(2.3)分配候选基元对时,进行基元包围盒的相交测试:
(2.3.1)三角形A代表的每个顶点与三角形B进行VF基元包围盒相交测试,若基元包 围盒相交,则构成一个VF候选基元对;
(2.3.2)三角形B代表的每个顶点与三角形A进行VF基元包围盒相交测试,若就按包 围盒相交,则构成一个VF候选基元对;
(2.3.3)三角形A代表的每个特征边分别与三角形B代表的每个特征边进行EE基元包 围盒的相交测试,若基元包围盒相交,则构成一个EE候选基元对;
对于EE基元包围盒相交测试,在每个时间步长内,分别构建两边的AABB包围盒,然 后进行AABB包围盒相交测试即可;对于VF基元包围盒相交测试,由于连续碰撞检测的每 个时间步长内,顶点的轨迹是一条线段,线段的AABB包围盒紧凑型差,进行包围盒相交测 试的裁剪效率不高,所以进行VF基元包围盒相交测试时,直接用线段与三角形包围盒进行 相交测试。

3.
  根据权利要求1所述的一种衣物自碰撞检测低层裁剪优化方法,其特征在于:所述 步骤(2)中的进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长 内不发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率方法如下:
(3.1)在碰撞检测阶段,每个时间步长,通过计算基元对的投影距离,对VF基元对进 行不共面测试;如果在整个时间步长内顶点与三角形没有发生共面,也就不会发生相交;对 于VF基元对,为了判断四个顶点的共面性,需要计算它们在法向量方向的投影距离;设时 间步长内的任意时刻顶点P的位置为Pt,三角形的三个顶点位置为at,bt,ct,法向量为nt, 则投影距离可以表示为(Pt-at)·nt,若投影距离为0,则VF基元对的四个顶点在时间步长内 发生共面,否则不发生共面;
(3.2)在碰撞检测阶段,每个时间步长,通过计算基元对的投影距离,对EE基元对进 行不共面测试;设时间步长内任意时刻两条边的四个顶点位置为ut,vt,kt,lt,为了检测 四个顶点的共面性,需要计算投影距离,EE基元对投影距离的计算方式同VF基元对相同, 分别用lt、kt、ut、vt代替Pt、at、bt、ct,则EE基元对的投影距离可以表示为(lt-kt)·nt, 其中nt为kt、ut、vt三个顶点形成的三角形的法向量;如果EE基元对的投影距离为0,则 EE基元对在时间步长内部发生共面,否则不发生共面。

说明书

一种衣物自碰撞检测低层裁剪优化方法
技术领域
本发明涉及一种衣物自碰撞检测低层裁剪优化方法,属于虚拟衣物仿真技术领域
背景技术
在衣物动态仿真过程中,碰撞检测是最耗时的部分。碰撞检测过程中,首先需要检测出 所有发生碰撞的三角形对,然后对每个三角形对分配基元对进行后续基本相交测试。在每个 时间步长内,需要判断网格的顶点与三角形、边与边之间的碰撞情况,对于N个顶点的衣物 网格,进行自碰撞检测的时间复杂度是O(N2)。碰撞检测成为衣物动态仿真过程中的主要瓶 颈,为了对自碰撞检测进行优化,研究者们提出一系列优化方法,分为三角形层面的高层裁 剪方法和基元对层面的低层裁剪方法。
在以往的研究工作中,低层裁剪最简单的方法是,在分配过程中维护两个数据库,分别 记录已经进行基本相交测试的VF基元对和EE基元对。Hutter和Fuhrmann提出基元包围盒 的方法,碰撞检测过程中使用基元层次包围盒代替三角形层次包围盒,能够有效的裁剪掉不 发生碰撞的基元对。Curtis提出代表三角形机制,通过将每个基元特征惟一的分配给一个包 含它的三角形,消除冗余的基元对。Tang通过建立孤立集对邻接三角形对的基元对进行裁剪, 邻接三角形对未被非邻接三角形对包含的基元对构成孤立集中的元素。除此之外,Tang等人 提出过滤器的方法,过滤掉不发生共面的基元对。通过计算基元对在时间步长内的投影距离 进行不共面测试,若基元对不发生共面,则不会发生碰撞,可以直接裁剪掉,无需进行基本 相交测试。
以往自碰撞检测低层裁剪方法主要存在以下问题:
(1)基本低层裁剪方法实现简单,能够有效的消除重复的基元对基本相交测试,但对 每个候选三角形对分配基元对时,需要查询数据库,时间开销大,影响自碰撞检测的效率。
(2)基元层次包围盒方法需要维护多个基元层次包围盒,影响仿真效率。
针对以上问题,本发明对虚拟衣物仿真技术和自碰撞检测低层裁剪方法做了进一步的研 究,一种基于衣物自碰撞检测低层裁剪优化方法,其核心内容可以总结为:低层裁剪阶段, 首先进行基于特征分配的低层裁剪优化,通过代表三角形的特征分配机制,裁剪掉冗余的基 元对,在对候选三角形对分配基元对时进行基元包围盒相交测试,裁剪掉基元包围盒不相交 的基元对。在此基础上,进行基于不共面过滤器的低层裁剪优化,通过不共面测试,裁剪掉 时间步长内不发生共面的基元对。
发明内容
本发明要解决的技术问题是:克服现有技术的不足,提供一种衣物自碰撞检测低层裁剪 优化方法,针对虚拟衣物仿真这一具体应用给出一种全新的自碰撞检测优化方法。
本发明采用的技术方案:首先进行基于特征分配的低层裁剪优化,在此基础上,进行基 于不共面过滤器的低层裁剪优化。
该方案实现的步骤:
(1)进行基于特征分配的低层裁剪优化。通过特征分配裁剪掉冗余的基元对,在对候 选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;
(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不 发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率;
本发明与现有技术相比的有益效果是:
本发明的低层裁剪优化方法能够有效的裁剪掉了冗余和不发生碰撞的基元对,减少了进 行后续基本相交测试的基元对的数量,提高了自碰撞检测的效率。
附图说明
图1一种衣物自碰撞检测低层裁剪优化方法步骤示意图;
图2基本低层裁剪实验结果示意图;
图3基于特征分配的低层裁剪优化结果示意图;
图4基于不共面过滤器的低层裁剪优化结果示意图。
具体实施方式
下面结合附图及具体实施方式对本发明进一步详细说明。
(1)进行基于特征分配的低层裁剪优化。通过特征分配裁剪掉冗余的基元对,在对候 选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;
第一步,预处理阶段,对网格进行特征分配。
每个三角形的数据结构中增加两个属性,分别用来记录该三角形分配到的特征顶点和特 征边的数量。对网格进行特征分配,分配过程使用贪婪算法,依次遍历每个三角形,如果该 三角形存在未被分配的基元(顶点、边),则将其分配给该三角形。特征分配过程中,对每 个三角形的顶点列表和边列表进行重新排序,使得分配到的特征基元位于顶点/边列表的前面 部分。
第二步,碰撞检测阶段,每个时间步长,对高层裁剪得到的候选三角形对,分配进行后 续基本相交测试的候选基元对。
首先判断候选三角形对是否包含可兼容的特征对,如果至少有一个三角形分配到一个或 多个顶点或者两个三角形都分配到一条或多条边,则该三角形对包含可兼容的特征对,继续 第二步。如果两个三角形不包含可兼容的特征对,则跳过该三角形对。
第三步,分配候选基元对时,进行基元包围盒的相交测试。
1、三角形A代表的每个顶点与三角形B进行VF基元包围盒相交测试,若基元包围盒 相交,则构成一个VF候选基元对;
2、三角形B代表的每个顶点与三角形A进行VF基元包围盒相交测试,若基元包围盒 相交,则构成一个VF候选基元对;
3、三角形A代表的每个特征边分别与三角形B代表的每个特征边进行EE基元包围盒 的相交测试,若基元包围盒相交,则构成一个EE候选基元对。
EE基元包围盒的相交测试,每个时间步长,首先分别构建两条边的AABB包围盒,然 后进行AABB包围盒相交测试即可。VF基元包围盒相交测试,由于连续碰撞检测的每个时 间步长内,顶点的轨迹是一条线段,线段的AABB包围盒紧凑型差,进行包围盒相交测试的 裁剪效率不高,所以进行VF基元包围盒相交测试时,直接用线段与三角形包围盒进行相交 测试。使用分离轴的方法进行线段与包围盒的相交测试。
(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不 发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率。
第一步,在碰撞检测阶段,每个时间步长,通过计算基元对的投影距离,对VF基元对 进行不共面测试。设时间步长[0,1]的起点、终点、任意时刻顶点P位置分别为P0、P1、Pt, 三角形T的三个顶点位置分别为(a0,b0,c0)、(a1,b1,c1)、(at,bt,ct)。
首先,时间步长归一化为[0,1],每个顶点的速度乘以时间步长△t;
其次,计算步长内三角形法向量的三个控制点n0、n1计算公式如下:
n0=(b0-a0)×(c0-a0)n1=(b1-a1)×(c1-a1)
n ^ = n 0 + n 1 - ( v b → - v a → ) × ( v c → - v a → ) 2 ]]>
v a → = a 1 - a 0 , v b → = b 1 - b 0 , v c → = c 1 - c 0 ]]>
最后,求出投影距离的四个控制标量A、B、2*C+F、2*D+E的值,判断它们的符 号是否相同,即同时为正或者同时为负,如果四个标量的符号相同,则VF基元对不会发生 共面。定义符号A、B、C、D、E、F如下:
A=(P0-a0)·n0B=(P1-a1)·n1
C = ( P 0 - a 0 ) · n ^ D = ( P 1 - a 1 ) · n ^ ]]>
E=(P0-a0)·n1F=(P1-a1)·n0
第二步,在碰撞检测阶段,每个时间步长,通过计算基元对的投影距离,对EE基元对 进行不共面测试。
对于EE基元对,分别用两条边的四个顶点,替代VF基元对中的四个顶点,进行不共 面测试,求出投影距离的四个控制标量A'、B'、2*C'+F'、2*D'+E'的值,判断符号是否 相同,如果四个标量的符号相同,即同时为正号或者同时为负号,则EE基元对不会发生共 面。
基本低层裁剪实验:图2展示了基本低层裁剪的实验结果,白色顶点和三角形用于标记 VF基元对,白色的边用来标记EE基元对。在对候选三角形对分配基元对时,基本低层裁剪 方法维护两个数据库,分别记录已经分配的VF基元对和EE基元对,以此来裁减掉重复的 基元对。由实验结果可以看出,基本低层裁剪方法,检测出的候选VF基元对和EE基元对 的数量分别是1122和2056,帧率是14.25。候选基元对包括由高层裁剪得到的候选三角形对 分配的基元对和孤立集中的基元对。
低层裁剪优化实验一:图3展示了基于特征分配的低层裁剪优化的实验结果。由实验结 果可以看出,本文基于特征分配的低层裁剪优化方法,检测出的候选VF基元对和EE基元 对的数量分别是74和475,帧率是30.58。由实验结果可知,相对于基本低层裁剪方法,该 方法能够大幅提高裁剪效率,同时仿真帧率提高了2倍多。
低层裁剪优化实验二:图4展示了基于不共面过滤器的低层裁剪优化的实验结果。由实 验结果可以看出,经过基于不共面过滤器的裁剪优化,检测出的候选VF基元对和EE基元 对的数量分别是31和137,帧率是32.55。由实验结果可知,在基于特征分配的低层裁剪的 基础上,进行基于不共面过滤器的裁剪优化,能够有效的裁剪掉不发生共面的基元对,进一 步减少了候选基元对的数量。
上述基本低层裁剪及优化实验结果表明,本文的低层裁剪优化方法能够有效的裁剪掉冗 余和不发生碰撞的基元对,进一步提高了自碰撞检测的效率。

一种衣物自碰撞检测低层裁剪优化方法.pdf_第1页
第1页 / 共9页
一种衣物自碰撞检测低层裁剪优化方法.pdf_第2页
第2页 / 共9页
一种衣物自碰撞检测低层裁剪优化方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种衣物自碰撞检测低层裁剪优化方法.pdf》由会员分享,可在线阅读,更多相关《一种衣物自碰撞检测低层裁剪优化方法.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明公开了一种衣物自碰撞检测低层裁剪优化方法,在衣物动态仿真的自碰撞检测过程中,通过基元对层面的低层裁剪,裁剪掉冗余和不可能发生碰撞的基元对,得到所有可能发生碰撞的候选基元对。其步骤是(1)进行基于特征分配的低层裁剪优化。通过特征分配裁剪掉冗余的基元对,在对候选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1