一种基于代理几何体的交互式自穿透网格变形方法技术

技术编号:26344272 阅读:26 留言:0更新日期:2020-11-13 20:55
本发明专利技术提供一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与被碰撞几何体之间进行穿插计算;当计算出穿插发生时,主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程。有效合理的绕过自穿透问题的局限,大大提高计算速度。

【技术实现步骤摘要】
一种基于代理几何体的交互式自穿透网格变形方法
本专利技术涉及计算机图形
,具体涉及一种基于代理几何体的交互式自穿透网格变形方法。
技术介绍
检测自穿透在计算机图形领域已经有了比较成熟的算法,但是检测到穿透以后,目前除了EPA(ExpandingPolytopeAlgorithm)没有特别合适的计算穿透深度来形变的方法。EPA是一个计算高昂的迭代过程,并不适合整合到3D软件实现交互式变形。
技术实现思路
本专利技术的目的是提供一种基于代理几何体的交互式自穿透网格变形方法,有效合理的绕过自穿透问题的局限,大大提高计算速度。本专利技术提供了如下的技术方案:一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;S2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;S3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;S4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程;优选的,步骤S1中所述代理几何体的生成方法为:计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;优选的,所述穿插计算采用MayaAPI中AllIntersection的方法实现,穿插计算就是用表示一条射线的数学公式去跟表示一个几何体的数学公式求公共点的值;优选的,所述穿插计算即为计算所述步骤S3中的射线与所述被碰撞几何体之间的相交点的坐标,当所述相交点的个数为偶数时,则说明顶点在所述被碰撞几何体的外部,没有穿插发生,当所述相交点的个数为奇数时,则说明顶点在所述被碰撞几何体的内部,穿插发生;优选的,所述相交点坐标的计算方法为:设定所述射线为,其中,为射线起始点向量,为标量,为射线方向;设定所述被碰撞几何体为,将所述的坐标值带入进行计算,就能算出所述射线和所述被碰撞几何体的相交点的坐标,得到相交点的个数,从而可以判断是否出现穿插;优选的,当穿插发生时,可以得到所述被碰撞几何体上的穿插位置以及面片信息;本专利技术的有益效果是:本专利技术根据用户选择的主动穿透的几何表面,生成对应的代理几何体,进行穿透测试并计算出穿透深度,根据穿透深度在目标几何体网格上进行适当的变形,绕过了自穿透检测的瓶颈,提供了一套实用的自穿透检测并形变的解决方案,大大提高计算速度。具体实施方式一种基于代理几何体的交互式自穿透网格变形方法,在使用者的交互选择下,自动生成各个单元的网格几何体,在用户选择的主动穿透的几何表面,计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,射线发出的方向是由mayaAPI而定的,设定射线为,其中,为射线起始点向量,为标量,为射线方向;设定被碰撞几何体为,将的坐标值带入进行计算,就能算出射线和被碰撞几何体的相交点的坐标,从而得到相交点的个数;当相交点的个数为偶数时,则说明顶点在被碰撞几何体的外部,没有穿插发生,当相交点的个数为奇数时,则说明顶点在被碰撞几何体的内部,穿插发生;当穿插发生时,可以得到被碰撞几何体上的穿插位置以及面片信息;主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程;综上,本专利技术提供一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;S2、将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;S3、代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与被碰撞几何体之间进行穿插计算;S4、当计算出穿插发生时,主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程;本专利技术根据用户选择的主动穿透的几何表面,生成对应的代理几何体,进行穿透测试并计算出穿透深度,根据穿透深度在目标几何体网格上进行适当的变形,绕过了自穿透检测的瓶颈,提供了一套实用的自穿透检测并形变的解决方案,大大提高计算速度;以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,尽管参照前述实施例对本专利技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,包括以下步骤:/nS1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;/nS2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;/nS3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;/nS4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程。/n

【技术特征摘要】
1.一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,包括以下步骤:
S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;
S2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
S3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;
S4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程。


2.根据权利要求1所述的一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,步骤S1中所述代理几何体的生成方法为:计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体。


3.根据权利要求1所述的一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,所述穿插...

【专利技术属性】
技术研发人员:赵锐侯志迎
申请(专利权)人:江苏原力数字科技股份有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1