CN111932597B - 一种基于代理几何体的交互式自穿透网格变形方法 - Google Patents
一种基于代理几何体的交互式自穿透网格变形方法 Download PDFInfo
- Publication number
- CN111932597B CN111932597B CN202011068555.1A CN202011068555A CN111932597B CN 111932597 B CN111932597 B CN 111932597B CN 202011068555 A CN202011068555 A CN 202011068555A CN 111932597 B CN111932597 B CN 111932597B
- Authority
- CN
- China
- Prior art keywords
- geometry
- collided
- geometric
- proxy
- active collision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与被碰撞几何体之间进行穿插计算;当计算出穿插发生时,主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程。有效合理的绕过自穿透问题的局限,大大提高计算速度。
Description
技术领域
本发明涉及计算机图形技术领域,具体涉及一种基于代理几何体的交互式自穿透网格变形方法。
背景技术
检测自穿透在计算机图形领域已经有了比较成熟的算法,但是检测到穿透以后,目前除了EPA(Expanding Polytope Algorithm)没有特别合适的计算穿透深度来形变的方法。EPA是一个计算高昂的迭代过程,并不适合整合到3D软件实现交互式变形。
发明内容
本发明的目的是提供一种基于代理几何体的交互式自穿透网格变形方法,有效合理的绕过自穿透问题的局限,大大提高计算速度。
本发明提供了如下的技术方案:
一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:
S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;
S2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
S3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;
S4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程;
优选的,步骤S1中所述代理几何体的生成方法为:计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;
优选的,所述穿插计算采用Maya API中AllIntersection的方法实现,穿插计算就是用表示一条射线的数学公式去跟表示一个几何体的数学公式求公共点的值;
优选的,所述穿插计算即为计算所述步骤S3中的射线与所述被碰撞几何体之间的相交点的坐标,当所述相交点的个数为偶数时,则说明顶点在所述被碰撞几何体的外部,没有穿插发生,当所述相交点的个数为奇数时,则说明顶点在所述被碰撞几何体的内部,穿插发生;
优选的,所述相交点坐标的计算方法为:设定所述射线为,其中,为射线起始点向量,为标量,为射线方向;设定所述被碰撞几何体为,将所述的坐标值带入进行计算,就能算出所述射线和所述被碰撞几何体的相交点的坐标,得到相交点的个数,从而可以判断是否出现穿插;
优选的,当穿插发生时,可以得到所述被碰撞几何体上的穿插位置以及面片信息;
本发明的有益效果是:本发明根据用户选择的主动穿透的几何表面,生成对应的代理几何体,进行穿透测试并计算出穿透深度,根据穿透深度在目标几何体网格上进行适当的变形,绕过了自穿透检测的瓶颈,提供了一套实用的自穿透检测并形变的解决方案,大大提高计算速度。
具体实施方式
一种基于代理几何体的交互式自穿透网格变形方法,在使用者的交互选择下,自动生成各个单元的网格几何体,在用户选择的主动穿透的几何表面,计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,射线发出的方向是由maya API而定的,设定射线为,其中,为射线起始点向量,为标量,为射线方向;设定被碰撞几何体为,将的坐标值带入进行计算,就能算出射线和被碰撞几何体的相交点的坐标,从而得到相交点的个数;
当相交点的个数为偶数时,则说明顶点在被碰撞几何体的外部,没有穿插发生,当相交点的个数为奇数时,则说明顶点在被碰撞几何体的内部,穿插发生;当穿插发生时,可以得到被碰撞几何体上的穿插位置以及面片信息;主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程;
综上,本发明提供一种基于代理几何体的交互式自穿透网格变形方法,包括以下步骤:
S1、根据手动选择的主动碰撞网格几何体上的面片,生成对应的代理几何体;
S2、将代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
S3、代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与被碰撞几何体之间进行穿插计算;
S4、当计算出穿插发生时,主动碰撞几何体的三维空间位移被记录,并将此位移施加到被碰撞几何体表面的顶点上,实现实时的变形过程;
本发明根据用户选择的主动穿透的几何表面,生成对应的代理几何体,进行穿透测试并计算出穿透深度,根据穿透深度在目标几何体网格上进行适当的变形,绕过了自穿透检测的瓶颈,提供了一套实用的自穿透检测并形变的解决方案,大大提高计算速度;
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,包括以下步骤:
S1、根据手动选择的主动碰撞网格几何体上的面片,计算出手动选择的主动碰撞网格几何体上的面片所包含的区域的边界盒,然后生成一个能够包裹这个边界盒的代理几何体;
S2、将所述代理几何体作为主动碰撞几何体,并将其初始三维空间位置记录为初始位置;
S3、所述代理几何体面向被碰撞几何体的方向的面片上的顶点朝各个方向发出射线,与所述被碰撞几何体之间进行穿插计算;
S4、当计算出穿插发生时,所述主动碰撞几何体的三维空间位移被记录,并将此位移施加到所述被碰撞几何体表面的顶点上,实现实时的变形过程。
2.根据权利要求1所述的一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,所述穿插计算采用Maya API中AllIntersection的方法实现。
3.根据权利要求1所述的一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,所述穿插计算即为计算所述步骤S3中的射线与所述被碰撞几何体之间的相交点的坐标,当所述相交点的个数为偶数时,则说明顶点在所述被碰撞几何体的外部,没有穿插发生,当所述相交点的个数为奇数时,则说明顶点在所述被碰撞几何体的内部,穿插发生。
5.根据权利要求3所述的一种基于代理几何体的交互式自穿透网格变形方法,其特征在于,当穿插发生时,可以得到所述被碰撞几何体上的穿插位置以及面片信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011068555.1A CN111932597B (zh) | 2020-10-09 | 2020-10-09 | 一种基于代理几何体的交互式自穿透网格变形方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011068555.1A CN111932597B (zh) | 2020-10-09 | 2020-10-09 | 一种基于代理几何体的交互式自穿透网格变形方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111932597A CN111932597A (zh) | 2020-11-13 |
CN111932597B true CN111932597B (zh) | 2020-12-29 |
Family
ID=73335041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011068555.1A Active CN111932597B (zh) | 2020-10-09 | 2020-10-09 | 一种基于代理几何体的交互式自穿透网格变形方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111932597B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408774A (zh) * | 2014-12-11 | 2015-03-11 | 中国科学院合肥物质科学研究院 | 一种基于gpu加速的实体面片模型间碰撞检测方法 |
CN105046710A (zh) * | 2015-07-23 | 2015-11-11 | 北京林业大学 | 基于深度图分割与代理几何体的虚实碰撞交互方法及装置 |
CN105513130A (zh) * | 2016-02-01 | 2016-04-20 | 福建师范大学福清分校 | 一种基于网格与无网格混合的软组织形变方法 |
CN106874563A (zh) * | 2017-01-16 | 2017-06-20 | 广西大学 | 一种基于空间约束的可变形组件快速设计方法 |
CN111462286A (zh) * | 2020-03-23 | 2020-07-28 | 华强方特(深圳)动漫有限公司 | 一种实现三维动画穿插检测的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102091966A (zh) * | 2011-01-04 | 2011-06-15 | 山东理工大学 | 三角Bézier曲面数控加工刀轨生成方法 |
CN104574472B (zh) * | 2014-12-31 | 2017-10-31 | 北京大学 | 基于嵌入网格的固体碎裂模拟和动画方法 |
CN106599514B (zh) * | 2016-12-29 | 2018-04-20 | 安徽中科超安科技有限公司 | 一种基于非关联多级空间分割树的蒙特卡罗面片几何处理方法 |
-
2020
- 2020-10-09 CN CN202011068555.1A patent/CN111932597B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408774A (zh) * | 2014-12-11 | 2015-03-11 | 中国科学院合肥物质科学研究院 | 一种基于gpu加速的实体面片模型间碰撞检测方法 |
CN105046710A (zh) * | 2015-07-23 | 2015-11-11 | 北京林业大学 | 基于深度图分割与代理几何体的虚实碰撞交互方法及装置 |
CN105513130A (zh) * | 2016-02-01 | 2016-04-20 | 福建师范大学福清分校 | 一种基于网格与无网格混合的软组织形变方法 |
CN106874563A (zh) * | 2017-01-16 | 2017-06-20 | 广西大学 | 一种基于空间约束的可变形组件快速设计方法 |
CN111462286A (zh) * | 2020-03-23 | 2020-07-28 | 华强方特(深圳)动漫有限公司 | 一种实现三维动画穿插检测的方法 |
Non-Patent Citations (2)
Title |
---|
复杂虚拟环境下的快速碰撞检测技术研究;曲慧雁;《中国博士学位论文全文数据库》;20200829;第1-107页 * |
曲慧雁.复杂虚拟环境下的快速碰撞检测技术研究.《中国博士学位论文全文数据库》.2020,第1-107页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111932597A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10366534B2 (en) | Selective surface mesh regeneration for 3-dimensional renderings | |
US9747721B2 (en) | Technique for filling holes in a three-dimensional model | |
US7629972B2 (en) | Image-based protruded displacement mapping method and bi-layered displacement mapping method using the same | |
CN105488851A (zh) | 实时虚拟场景中碰撞体之间碰撞探测的方法和装置 | |
US7545375B2 (en) | View-dependent displacement mapping | |
US20240046590A1 (en) | Reconstruction of Essential Visual Cues in Mixed Reality Applications | |
CN106960470B (zh) | 三维点云曲面重建方法及装置 | |
US11219829B2 (en) | Non-transitory computer-readable storage medium storing image processing program, image processing system, image processing apparatus, and image processing method | |
JP2006503365A (ja) | 2次元表示装置を用いて擬似3次元表示を生成する方法及びシステム | |
CN107093200A (zh) | 一种骨骼蒙皮动画网格表面附加模型的方法 | |
CN111932597B (zh) | 一种基于代理几何体的交互式自穿透网格变形方法 | |
CN109461197B (zh) | 一种基于球面uv和重投影的云实时绘制优化方法 | |
US6442303B1 (en) | Method and device for generating display frames from a sequence of source frames through synthesizing or more intermediate frames exclusively from an immediately preceding source frame | |
US20190295310A1 (en) | Uniform density cube map rendering for spherical projections | |
CN115953290A (zh) | 基于gpu光栅器的场景体素化方法 | |
US11151800B1 (en) | Method and apparatus for erasing real object in augmented reality | |
KR20090040515A (ko) | 적응적 탐색 기법을 이용한 이미지 공간 기반의 음영 처리장치 및 방법 | |
CN111932566B (zh) | 一种模型轮廓图生成方法、装置和系统 | |
CN114820980A (zh) | 三维重建方法、装置、电子设备和可读存储介质 | |
JPH0765195A (ja) | 画像処理装置及び方法 | |
CN118379470B (zh) | 一种交互式的三维模型纹理的编辑方法、系统及电子设备 | |
CN115629670B (zh) | 虚拟现实环境下手部姿态的显示方法、装置、设备及介质 | |
JP2003323636A (ja) | 三次元モデル供給装置およびその方法、画像合成装置およびその方法、ユーザーインターフェース装置 | |
CN116187051B (zh) | 一种服装模型与人体模型的绑定方法、系统及设备 | |
KR100726031B1 (ko) | 큐브 메쉬 구조를 이용한 지형 렌더링 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |