[发明专利]一种基于代理几何体的交互式自穿透网格变形方法有效
申请号: | 202011068555.1 | 申请日: | 2020-10-09 |
公开(公告)号: | CN111932597B | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 赵锐;侯志迎 | 申请(专利权)人: | 江苏原力数字科技股份有限公司 |
主分类号: | G06T7/50 | 分类号: | G06T7/50;G06T15/10 |
代理公司: | 南京常青藤知识产权代理有限公司 32286 | 代理人: | 高远 |
地址: | 210000 江苏省南京市建邺*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 代理 几何体 交互式 穿透 网格 变形 方法 | ||
本发明提供一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与被碰撞几何体之间进行穿插计算;当计算出穿插发生时,主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程。有效合理的绕过自穿透问题的局限,大大提高计算速度。
技术领域
本发明涉及计算机图形技术领域,具体涉及一种基于代理几何体的交互式自穿透网格变形方法。
背景技术
检测自穿透在计算机图形领域已经有了比较成熟的算法,但是检测到穿透以后,目前除了EPA(Expanding Polytope Algorithm)没有特别合适的计算穿透深度来形变的方法。EPA是一个计算高昂的迭代过程,并不适合整合到3D软件实现交互式变形。
发明内容
本发明的目的是提供一种基于代理几何体的交互式自穿透网格变形方法,有效合理的绕过自穿透问题的局限,大大提高计算速度。
本发明提供了如下的技术方案:
一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:
S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;
S2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
S3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;
S4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程;
优选的,步骤S1中所述代理几何体的生成方法为:计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;
优选的,所述穿插计算采用Maya API中AllIntersection的方法实现,穿插计算就是用表示一条射线的数学公式去跟表示一个几何体的数学公式求公共点的值;
优选的,所述穿插计算即为计算所述步骤S3中的射线与所述被碰撞几何体之间的相交点的坐标,当所述相交点的个数为偶数时,则说明顶点在所述被碰撞几何体的外部,没有穿插发生,当所述相交点的个数为奇数时,则说明顶点在所述被碰撞几何体的内部,穿插发生;
优选的,所述相交点坐标的计算方法为:设定所述射线为,其中,为射线起始点向量,为标量,为射线方向;设定所述被碰撞几何体为,将所述的坐标值带入进行计算,就能算出所述射线和所述被碰撞几何体的相交点的坐标,得到相交点的个数,从而可以判断是否出现穿插;
优选的,当穿插发生时,可以得到所述被碰撞几何体上的穿插位置以及面片信息;
本发明的有益效果是:本发明根据用户选择的主动穿透的几何表面,生成对应的代理几何体,进行穿透测试并计算出穿透深度,根据穿透深度在目标几何体网格上进行适当的变形,绕过了自穿透检测的瓶颈,提供了一套实用的自穿透检测并形变的解决方案,大大提高计算速度。
具体实施方式
一种基于代理几何体的交互式自穿透网格变形方法,在使用者的交互选择下,自动生成各个单元的网格几何体,在用户选择的主动穿透的几何表面,计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏原力数字科技股份有限公司,未经江苏原力数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011068555.1/2.html,转载请声明来源钻瓜专利网。