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

文档序号:8457431阅读:来源:国知局
~ aO Vb = h ~K Vc = C1 - C0
[0037] 最后,求出投影距离的四个控制标量A、B、2*C+F、2*D+E的值,判断它们的符号是 否相同,即同时为正或者同时为负,如果四个标量的符号相同,则VF基元对不会发生共面。 定义符号A、B、C、D、E、F如下:
[0038] A = (P0-a0) · n0B = (Pfa1) · Ii1
[0039] C = (P{)-a{))-n D = (P1-Ui)-H
[0040] E = (Po-a。)· Ii1F = (Pfa1) · n0
[0041] 第二步,在碰撞检测阶段,每个时间步长,通过计算基元对的投影距离,对EE基元 对进行不共面测试。
[0042] 对于EE基元对,分别用两条边的四个顶点,替代VF基元对中的四个顶点,进行不 共面测试,求出投影距离的四个控制标量A'、B'、2*C'+F'、2*D'+E'的值,判断符号是否相 同,如果四个标量的符号相同,即同时为正号或者同时为负号,则EE基元对不会发生共面。
[0043] 基本低层裁剪实验:图2展示了基本低层裁剪的实验结果,白色顶点和三角形用 于标记VF基元对,白色的边用来标记EE基元对。在对候选三角形对分配基元对时,基本低 层裁剪方法维护两个数据库,分别记录已经分配的VF基元对和EE基元对,以此来裁减掉重 复的基元对。由实验结果可以看出,基本低层裁剪方法,检测出的候选VF基元对和EE基元 对的数量分别是1122和2056,帧率是14. 25。候选基元对包括由高层裁剪得到的候选三角 形对分配的基元对和孤立集中的基元对。
[0044] 低层裁剪优化实验一:图3展示了基于特征分配的低层裁剪优化的实验结果。由 实验结果可以看出,本文基于特征分配的低层裁剪优化方法,检测出的候选VF基元对和EE 基元对的数量分别是74和475,帧率是30. 58。由实验结果可知,相对于基本低层裁剪方法, 该方法能够大幅提高裁剪效率,同时仿真帧率提高了 2倍多。
[0045] 低层裁剪优化实验二:图4展示了基于不共面过滤器的低层裁剪优化的实验结 果。由实验结果可以看出,经过基于不共面过滤器的裁剪优化,检测出的候选VF基元对和 EE基元对的数量分别是31和137,帧率是32. 55。由实验结果可知,在基于特征分配的低层 裁剪的基础上,进行基于不共面过滤器的裁剪优化,能够有效的裁剪掉不发生共面的基元 对,进一步减少了候选基元对的数量。
[0046] 上述基本低层裁剪及优化实验结果表明,本文的低层裁剪优化方法能够有效的裁 剪掉几余和不发生碰撞的基兀对,进一步提尚了自碰撞检测的效率。
【主权项】
1. 一种衣物自碰撞检测低层裁剪优化方法,其特征在于通过以下步骤实现: (1) 进行基于特征分配的低层裁剪优化,通过特征分配裁剪掉冗余的基元对,在对候选 三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对; (2) 进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不发 生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率。
2. 根据权利要求1所述的一种衣物自碰撞检测低层裁剪优化方法,其特征在于:所述 步骤(1)中的进行基于特征分配的低层裁剪优化,通过特征分配裁剪掉冗余的基元对,在 对候选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对 方法如下: (2.1)预处理阶段,对网格进行特征分配;分配原则如下: (2.I.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) ?!!,,若投影距离为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基元对 在时间步长内部发生共面,否则不发生共面。
【专利摘要】本发明公开了一种衣物自碰撞检测低层裁剪优化方法,在衣物动态仿真的自碰撞检测过程中,通过基元对层面的低层裁剪,裁剪掉冗余和不可能发生碰撞的基元对,得到所有可能发生碰撞的候选基元对。其步骤是(1)进行基于特征分配的低层裁剪优化。通过特征分配裁剪掉冗余的基元对,在对候选三角形对分配基元对时,进行基元包围盒相交测试,裁剪掉包围盒不相交的基元对;(2)进行基于不共面过滤器的低层裁剪优化,通过不共面测试,过滤掉时间步长内不发生共面的基元对,进一步较少候选基元对的数量,提高自碰撞检测的效率。
【IPC分类】G06F17-50
【公开号】CN104778332
【申请号】CN201510204509
【发明人】何兵, 吕越, 井密
【申请人】北京航空航天大学
【公开日】2015年7月15日
【申请日】2015年4月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1