CN115272379B - 一种基于投影的三维网格模型外轮廓提取方法及系统 - Google Patents
一种基于投影的三维网格模型外轮廓提取方法及系统 Download PDFInfo
- Publication number
- CN115272379B CN115272379B CN202210928588.1A CN202210928588A CN115272379B CN 115272379 B CN115272379 B CN 115272379B CN 202210928588 A CN202210928588 A CN 202210928588A CN 115272379 B CN115272379 B CN 115272379B
- Authority
- CN
- China
- Prior art keywords
- line segment
- seed
- projection
- seed line
- line segments
- 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
- 238000000605 extraction Methods 0.000 title claims abstract description 15
- 238000001514 detection method Methods 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 238000012216 screening Methods 0.000 abstract description 4
- 238000013507 mapping Methods 0.000 abstract description 2
- 230000000007 visual effect Effects 0.000 description 6
- 238000012938 design process Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/012—Dimensioning, tolerancing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种基于投影的三维网格模型外轮廓提取方法及系统,根据网格模型建立半边的数据结构;根据给定方向筛选出备选处理边;把每条边投影到平面并且建立三维与平面的对应;根据投影后的边划分成四区域结构,提高后续进行两条边的碰撞检测;选择最外沿“种子”线段,通过碰撞检测并且求交,通过端点相连,同时“最外”沿优先原则搜索获得轮廓线,同时根据投影边与备选处理边的对应关系,可以反向映射获得三维模型上的三维外轮廓线,本发明通过计算出给的方向下的三维模型外轮廓,并将该外轮廓在三维模型中标注,从而使得在CAD造型设计过程中,模型外轮廓不随视角的变化而变化,可以方便任意视角查看。
Description
技术领域
本发明涉及轮廓提取领域,特别是涉及一种基于投影的三维网格模型外轮廓提取方法及系统。
背景技术
在离散网格CAD造型设计,尤其是在精确制造的应用场景下,这类模型的设计往往受限修复体周边环境,需要关注设计体外轮廓线。比如义齿修复设计,关节件。在设计修复体的时候往往需要限制最外轮廓线的位置。另外在制造环节有些特殊工艺也有避免“倒凹”和可铣削性的要求。所以通过在设计过程中实时展示模型外轮廓线有工程意义。外轮廓线提取在图像和图形学中有类似应用。在图像中主要是基于图片的像素差异来提取轮廓;图形学中有视图中外轮廓线的应用,但是它是平面的随视图的变化而变化的。基于此,亟需一种不随视图的变化而变化,可以方便任意视角查看的三维网格模型外轮廓提取方法及系统。
发明内容
本发明的目的是提供一种基于投影的三维网格模型外轮廓提取方法及系统。通过计算出某一视角下的三维模型外轮廓,并将该外轮廓在三维模型中标注,从而使得在CAD造型设计过程中,模型外轮廓不随视角的变化而变化,可以方便任意视角查看。
为实现上述目的,本发明提供了如下方案:
一种基于投影的三维网格模型外轮廓提取方法,包括:
建立三维网格模型的半边数据结构;
对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,获取所述投影线段与所述预处理边的一一对应关系;
根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布;
选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的投影线段进行求交,记录相交信息;所述其他投影线段为除所述种子线段之外的投影线段;
从与所述种子线段相交的投影线段中选取下一个种子线段,将所述下一个种子线段作为种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域;
选取所有所述种子线段构成所述平面上的外轮廓线;
确定模型外轮廓线,所述模型外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述外轮廓线上各投影线段分别相对应的预处理边;
将所述三维网格模型上的所述模型外轮廓线标注出。
本发明还提供一种基于投影的三维网格模型外轮廓提取系统,包括:
半边数据结构建立模块,用于建立三维网格模型的半边数据结构;
预处理边获取模块,用于对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
投影模块,用于获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,获取所述投影线段与所述预处理边的一一对应关系;
区域划分模块,用于根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布;
碰撞检测模块,用于选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的投影线段进行求交,记录相交信息;所述其他投影线段为除所述种子线段之外的投影线段;
循环模块,用于从与所述种子线段相交的投影线段中选取下一个种子线段,将所述下一个种子线段作为种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域;
平面外轮廓线获取模块,用于选取所有所述种子线段构成所述平面上的外轮廓线;
模型外轮廓获取模块,用于确定模型外轮廓线,所述模型外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述外轮廓线上各投影线段分别相对应的预处理边;
标注模块,用于将所述三维网格模型上的所述模型外轮廓线标注出。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供一种基于投影的三维网格模型外轮廓提取方法及系统,根据网格模型建立半边的数据结构;根据给定方向筛选出备选处理边;把每条边投影到平面并且建立三维与平面的对应;根据投影后的边划分成四区域结构,提高后续进行两条边的碰撞检测;选择最外沿“种子”线段,通过碰撞检测并且去交,通过端点相连,同时“最外”沿优先原则搜索获得轮廓线,同时根据投影边与备选处理边的对应关系,可以反向映射获得三维模型上的三维外轮廓线,本发明通过计算出给的方向下的三维模型外轮廓,并将该外轮廓在三维模型中标注,从而使得在CAD造型设计过程中,模型外轮廓不随视角的变化而变化,可以方便任意视角查看。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种基于投影的三维网格模型外轮廓提取方法流程图;
图2为本发明实施例1提供的半边数据结构;
图3为本发明实施例1提供的包含半边数据结构的网格义齿模型;
图4为本发明实施例1提供的筛选出预处理边的网格义齿模型;
图5为本发明实施例1提供的义齿模型的预处理边投影之后的投影结果;
图6为本发明实施例1提供的逆时针方向选择θ1为最大夹角说明;
图7为本发明实施例1提供的与y轴相交的投影线段;
图8为本发明实施例1提供的义齿模型的投影轮廓线;
图9为本发明实施例1提供的义齿模型的平面轮廓和三维轮廓。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于投影的三维网格模型外轮廓提取方法及系统。通过计算出某一视角下的三维模型外轮廓,并将该外轮廓在三维模型中标注,从而使得在CAD造型设计过程中,模型外轮廓不随视角的变化而变化,可以方便任意视角查看。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
本实施例提供一种基于投影的三维网格模型外轮廓提取方法,请参阅图1,包括:
S1、建立三维网格模型的半边数据结构。
半边数据结构就是把每一条边分成两个半边,半边是有方向的,且同一条边的两个半边方向相反。因此,一条边关联两个面,请参阅图2,而半边完全属于一个面。建立这种数据结构主要是快速方便的通过点、边、面相互检索。还需要说明的是,图2仅示出了半边数据结构的一部分,图2中0-2这条边关联的两个三角形分别是三角形0-1-2和三角形0-2-3,至于其他边(例如0-1这条边)关联的两个三角形图中并没有示出,具体可参阅图3中的模型,从图3中可以看出每一条边关联两个三角形面片。
对于采集的或者设计过程中生成的网格是一组三角面片,模型按照上述半边数据构造后,就组成了一个有机体,包含了顶点、边和面概念。同时它们之间可以进行方便快速的检索访问。例如按此方法构造的网格(义齿)模型如图3所示。
S2、对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
本实施例获取的三维网格模型外轮廓为该三维网格模型在某一特定视角下的外轮廓,所以首先需要先选取指定方向(即某一特定视角)。其中所述的视角也为根据需要主要关注的视角。
根据特定视角下(指定方向)最外轮廓特点,最外轮廓边缘必定在三角形边上,而且边关联的两个相邻三角形面片的法向量与指定方向的点积,必定一正一负。所以首先遍历模型的所有三角形面片,并求得所有三角形面片法向与指定方向的点积;然后根据边相邻的两个三角形面片的点积相乘是否小于0,筛选出预处理边。通过这一步骤可以过滤掉绝大多数边。例如在图3给出的义齿模型这一例子中按垂直向下方向(0,0,-1),筛选出来的预处理边如图4所示。
S3、获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,获取所述投影线段与所述预处理边的一一对应关系。
可选的,所述平面为所述三维网格模型的最小包围盒的底面。
步骤S3中把预处理边对应的两个端点分别投影到所述平面上,两个投影点的连线即为边投影后的线段。在对预处理边投影过程中同时维护投影线段与预处理边之间的一一对应关系,以便后续步骤中通过投影线段找到对应的边,以便求解三维外轮廓交点。将上述提供的义齿模型的预处理边投影之后的投影结果如图5所示。
S4、根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布。
步骤S4把所有投影段依据位置坐标在划分区的位置划分成四组,构建四叉树数据结构。
此处将投影线段进行分区是为了在后续的步骤S5中分区进行“碰撞”检查,进而提高两投影线段是否进行求交的碰撞检测效率。处理过程中也可以对每一区域内进行再次的四区域划分。需要注意的是在区域边界上的线段,需要保持必要的冗余,即边界区域有一些“重叠”,确保投影线段间实际的碰撞。
S5、选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的投影线段进行求交,记录相交信息。所述其他投影线段为除所述种子线段之外的投影线段。
作为一种可选的实施方式,步骤S5中所述的将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的投影线段进行求交,记录相交信息,具体包括:
S51、获取所述种子线段的最小矩形包围框,记为第一包围框,获取其他所述投影线段的最小矩形包围框,记为第二包围框;
S52、判断所述第一包围框与所述第二包围框是否部分重叠,并选取所述部分重叠的第二包围框对应的投影线段为碰撞线段;
S53、判断所述碰撞线段与所述种子线段是否相交,记录与所述种子线段相交的碰撞线段,并记录相交信息;所述相交信息包括相交的投影线段、相交点以及相交单位化长度,所述相交单位化长度为投影线段端点到相交点的长度与投影线段长度的比值。
需要说明的是,由于外轮廓必定包含最外沿投影线段,所以本实施例在所有投影线段中,选取最外沿线段为“种子”,然后以该线段与区域内的线段进行碰撞检测。
S6、从与所述种子线段相交的投影线段中选取下一个种子线段,将所述下一个种子线段作为种子线段,并返回步骤S5中的“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域。
作为一种可选的实施方式,步骤S6具体包括:
S61、从与所述种子线段相交的投影线段中选取下一个种子线段。
可选的,选取下一种子线段时需沿单方向从与所述种子线段相交的投影线段中,选取与所述种子线段有向夹角最大的线段为下一个种子线段;其中,所述单方向为顺时针方向或逆时针方向。
例如,在选取下一种子线段时,具体可参阅图6,假设单方向为逆时针方向,并假设线段AB为选取的第一条种子线段,根据各线段的方向,并沿逆时针方向从与线段AB相交的投影线段中判断出线段CD与线段AB的有向夹角θ1最大,因此,选取线段CD为下一种子线段。同理,当线段CD作为种子线段时,根据线段CD选取下一种子线段,判断出线段GH与线段CD的有向夹角θ3最大,从而选取线段GH为种子线段CD的下一种子线段。
S62、判断所述下一种子线段是否全部位于上一种子线段所在区域。
若是,则令所述下一种子线段为种子线段,并返回步骤S5中的“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”;
若否,则令上一种子线段所在区域沿所述单方向转动得到的下一区域为新区域,令所述下一种子线段为种子线段,将所述种子线段与所述新区域内的其他投影线段进行碰撞检测。
由于分区之后的投影线段中存在部分线段同时位于两个区域,即存在投影线段与x轴或y轴相交。当此类线段被选择为种子线段时,利用该种子线段进行碰撞检测时,只需将该种子线段与其所属的其中一个区域的投影线段进行碰撞检测以及求交。而且所述的其中一个区域指的是该种子线段的上一个种子线段所在区域的下一个区域,具体请参阅图7,例如,图中与y轴相交的线段AB作为种子线段,若上述的单方向为逆时针方向,则种子线段AB只与第二象限中的投影线段进行碰撞检测以及求交。
S7、选取所有所述种子线段构成所述平面上的轮廓线。
具体的,以序选取所有所述种子线段,按相交信息截取子线段,构成所述平面上的外轮廓线。
例如,根据图6示出的情况来说,按照种子线段先AB、再CD、然后GH的顺序选取种子线段。根据各种子线段的相交信息截取种子线段,得到子线段,即种子线段CD截取种子线段AB之后,得到子线短AM;种子线段GH截取种子线段CD之后,得到子线段MN,最后根据子线段AM、子线段MN以及后续其他的子线段构成平面上的外轮廓。
步骤S7得到的轮廓线如图8所示。
S8、确定外轮廓线,所述外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述轮廓线上各投影线段分别相对应的预处理边。
在搜索“最外沿”线段过程中保存了相交信息,即相交线段,相交单位化长度。通过预处理边和投影线段的投影关系,按照等单位化长度参数即可计算获得网格模型上的三维交点,按照平面外沿轮廓线段顺序就可以求得网格模型上的三维外轮廓。
S9、将所述三维网格模型上的所述外轮廓线标注出。
根据上述的义齿模型求得的平面轮廓和三维轮廓如图9所示,由于在该图的三维网格模型中标注出了外轮廓线,从而当从任何视角查看该模型时,其外轮廓均不会受影响,方便制图者进行随时查看。
本实施例通过计算出三维模型的外轮廓线,并将该外轮廓线在三维模型中标注,从而在任意视角下查看三维模型时,均可对该外轮廓线进行查看,使得三维模型的外轮廓不会受视图变化的影响。
实施例2
本实施例提供一种基于投影的三维网格模型外轮廓提取系统,包括:
半边数据结构建立模块M1,用于建立三维网格模型的半边数据结构;
预处理边获取模块M2,用于对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
投影模块M3,用于获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,获取所述投影线段与所述预处理边的一一对应关系;
可选的,所述平面为所述三维网格模型的最小包围盒的底面。
区域划分模块M4,用于根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述中心点为所有所述端点数据的一个中心点;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布
碰撞检测模块M5,用于选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的投影线段进行求交,记录相交信息;
循环模块M6,用于从与所述种子线段相交的投影线段中选取下一个种子线段,将所述下一个种子线段作为种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域;所述其他投影线段为除所述种子线段之外的投影线段;
平面外轮廓线获取模块M7,用于选取所有所述种子线段构成所述平面上的外轮廓线;
模型外轮廓获取模块M8,用于确定模型外轮廓线,所述模型外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述外轮廓线上各投影线段分别相对应的预处理边;
标注模块M9,用于将所述三维网格模型上的所述模型外轮廓线标注出。
可选的,所述碰撞检测模块,具体包括:
包围框获取子模块,用于获取所述种子线段的最小矩形包围框,记为第一包围框,获取其他所述投影线段的最小矩形包围框,记为第二包围框;
碰撞检测子模块,用于判断所述第一包围框与所述第二包围框是否部分重叠,并选取所述部分重叠的第二包围框对应的投影线段为碰撞线段;
相交判断子模块,用于判断所述碰撞线段与所述种子线段是否相交,记录与所述种子线段相交的碰撞线段,并记录相交信息;所述相交信息包括相交的投影线段、相交点以及相交单位化长度,所述相交单位化长度为投影线段端点到相交点的长度与投影线段长度的比值。
可选的,所述从与所述种子线段相交的投影线段中选取下一个种子线段,具体包括:
沿单方向从与所述种子线段相交的投影线段中,选取与所述种子线段有向夹角最大的线段为下一个种子线段;所述单方向为顺时针方向或逆时针方向。
可选的,所述循环模块具体包括:
下一种子线段选取子模块,用于从与所述种子线段相交的投影线段中选取下一个种子线段;
判断子模块,用于判断所述下一种子线段是否全部位于上一种子线段所在区域;
若是,则令所述下一种子线段为种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”;
若否,则令上一种子线段所在区域沿所述单方向转动得到的下一区域为新区域,令所述下一种子线段为种子线段,将所述种子线段与所述新区域内的其他投影线段进行碰撞检测。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种基于投影的三维网格模型外轮廓提取方法,其特征在于,包括:
建立三维网格模型的半边数据结构;
对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,构建所述投影线段与所述预处理边的一一对应关系;
根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布;
选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的所述投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的所述投影线段进行求交,记录相交信息;所述其他投影线段为除所述种子线段之外的所述投影线段;
所述将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的所述投影线段进行求交,记录相交信息,具体包括:
获取所述种子线段的最小矩形包围框,记为第一包围框,获取所述其他投影线段的最小矩形包围框,记为第二包围框;
判断所述第一包围框与所述第二包围框是否部分重叠,并选取所述部分重叠的第二包围框对应的投影线段为碰撞线段;
判断所述碰撞线段与所述种子线段是否相交,记录与所述种子线段相交的所述碰撞线段,并记录相交信息;所述相交信息包括相交的投影线段、相交点以及相交单位化长度,所述相交单位化长度为投影线段端点到相交点的长度与投影线段长度的比值;
从与所述种子线段相交的所述投影线段中选取下一个种子线段,将所述下一个种子线段作为所述种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域;所述从与所述种子线段相交的所述投影线段中选取下一个种子线段,具体包括:
沿单方向从与所述种子线段相交的所述投影线段中,选取与所述种子线段有向夹角最大的线段为下一个种子线段;所述单方向为顺时针方向或逆时针方向;
选取所有所述种子线段构成所述平面上的外轮廓线;
确定模型外轮廓线,所述模型外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述外轮廓线上各所述投影线段分别相对应的所述预处理边;
将所述三维网格模型上的所述模型外轮廓线标注出。
2.根据权利要求1所述的方法,其特征在于,所述平面为所述三维网格模型的最小包围盒的底面。
3.根据权利要求1所述的方法,其特征在于,所述从与所述种子线段相交的所述投影线段中选取下一个种子线段,将所述下一个种子线段作为所述种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,具体包括:
从与所述种子线段相交的所述投影线段中选取所述下一个种子线段;
判断所述下一种子线段是否全部位于上一种子线段所在区域;
若是,则令所述下一种子线段为所述种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的所述其他投影线段进行碰撞检测”;
若否,则令上一种子线段所在区域沿所述单方向转动得到的下一区域为新区域,令所述下一种子线段为所述种子线段,将所述种子线段与所述新区域内的所述其他投影线段进行碰撞检测。
4.一种基于投影的三维网格模型外轮廓提取系统,其特征在于,包括:
半边数据结构建立模块,用于建立三维网格模型的半边数据结构;
预处理边获取模块,用于对于所述半边数据结构中每条边,分别计算所述边两侧的三角形面片的法向量与指定方向的点积,将两个所述点积相乘,选取小于零的乘积对应的边为预处理边;
投影模块,用于获取以所述指定方向为法向量的平面,并将所述预处理边投影到所述平面上,得到投影线段,构建所述投影线段与所述预处理边的一一对应关系;
区域划分模块,用于根据所有所述投影线段的端点数据计算分布中心点,并以所述中心点为原点在所述平面上建立x、y坐标轴,所述x、y坐标轴将所述投影线段划分到四个区域;所述分布中心点被配置为所有所述投影线段以所述分布中心点为中心分布;
碰撞检测模块,用于选取某一区域为第一区域,从所述第一区域中选取距离所述原点最远的所述投影线段为种子线段,将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测,对通过碰撞检测的所述投影线段进行求交,记录相交信息;所述其他投影线段为除所述种子线段之外的所述投影线段;所述碰撞检测模块,具体包括:
包围盒获取子模块,用于获取所述种子线段的最小矩形包围框,记为第一包围框,获取其他所述投影线段的最小矩形包围框,记为第二包围框;
碰撞检测子模块,用于判断所述第一包围框与所述第二包围框是否部分重叠,并选取所述部分重叠的第二包围框对应的投影线段为碰撞线段;
相交判断子模块,用于判断所述碰撞线段与所述种子线段是否相交,记录与所述种子线段相交的所述碰撞线段,并记录相交信息;所述相交信息包括相交的投影线段、相交点以及相交单位化长度,所述相交单位化长度为投影线段端点到相交点的长度与投影线段长度的比值;
循环模块,用于从与所述种子线段相交的所述投影线段中选取下一个种子线段,将所述下一个种子线段作为所述种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的其他投影线段进行碰撞检测”,直到遍历所有的区域;所述从与所述种子线段相交的所述投影线段中选取下一个种子线段,具体包括:
沿单方向从与所述种子线段相交的所述投影线段中,选取与所述种子线段有向夹角最大的线段为下一个种子线段;所述单方向为顺时针方向或逆时针方向;
平面外轮廓线获取模块,用于选取所有所述种子线段构成所述平面上的外轮廓线;
模型外轮廓获取模块,用于确定模型外轮廓线,所述模型外轮廓线由多条目标预处理边构成,各所述目标预处理边为与所述外轮廓线上各所述投影线段分别相对应的所述预处理边;
标注模块,用于将所述三维网格模型上的所述模型外轮廓线标注出。
5.根据权利要求4所述的系统,其特征在于,所述平面为所述三维网格模型的最小包围盒的底面。
6.根据权利要求4所述的系统,其特征在于,所述循环模块具体包括:
下一种子线段选取子模块,用于从与所述种子线段相交的所述投影线段中选取所述下一个种子线段;
判断子模块,用于判断所述下一种子线段是否全部位于上一种子线段所在区域;
若是,则令所述下一种子线段为所述种子线段,并返回步骤“将所述种子线段与所述种子线段所在区域内的所述其他投影线段进行碰撞检测”;
若否,则令上一种子线段所在区域沿所述单方向转动得到的下一区域为新区域,令所述下一种子线段为所述种子线段,将所述种子线段与所述新区域内的所述其他投影线段进行碰撞检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210928588.1A CN115272379B (zh) | 2022-08-03 | 2022-08-03 | 一种基于投影的三维网格模型外轮廓提取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210928588.1A CN115272379B (zh) | 2022-08-03 | 2022-08-03 | 一种基于投影的三维网格模型外轮廓提取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115272379A CN115272379A (zh) | 2022-11-01 |
CN115272379B true CN115272379B (zh) | 2023-11-28 |
Family
ID=83749937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210928588.1A Active CN115272379B (zh) | 2022-08-03 | 2022-08-03 | 一种基于投影的三维网格模型外轮廓提取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272379B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116968316B (zh) * | 2023-09-22 | 2024-02-20 | 易加三维增材技术(杭州)有限公司 | 模型碰撞检测方法、装置、存储介质和电子设备 |
Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704694B1 (en) * | 1998-10-16 | 2004-03-09 | Massachusetts Institute Of Technology | Ray based interaction system |
EP1710720B1 (en) * | 2005-04-08 | 2009-07-08 | Dassault Systèmes | Method of computer-aided design of a modeled object having several faces |
CN101739494A (zh) * | 2008-11-07 | 2010-06-16 | 达索系统公司 | 在计算机辅助设计系统中计算建模对象的边界的方法 |
EP1854068A4 (en) * | 2005-02-17 | 2011-09-21 | Agency Science Tech & Res | METHOD AND APPARATUS FOR EDITING THREE DIMENSIONAL IMAGES |
CN102262694A (zh) * | 2010-05-25 | 2011-11-30 | 达索系统公司 | 从第一和第二建模对象计算结果闭合三角化多面体表面 |
JP2012133701A (ja) * | 2010-12-24 | 2012-07-12 | Shift:Kk | 3次元空間データ処理装置及びプログラム |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
US8274506B1 (en) * | 2008-04-28 | 2012-09-25 | Adobe Systems Incorporated | System and methods for creating a three-dimensional view of a two-dimensional map |
CN103325146A (zh) * | 2013-06-28 | 2013-09-25 | 北京航空航天大学 | 一种基于人体截面环数据的衣物面片三维映射方法 |
CN103337091A (zh) * | 2013-05-30 | 2013-10-02 | 杭州电子科技大学 | 一种基于厚度的柔性场景连续碰撞检测方法 |
CN103528521A (zh) * | 2013-10-22 | 2014-01-22 | 广东红海湾发电有限公司 | 一种基于投影边界入侵的复杂港口机械的位置保护方法及装置 |
WO2015084837A1 (en) * | 2013-12-02 | 2015-06-11 | Immersive Touch, Inc. | Improvements for haptic augmented and virtual reality system for simulation of surgical procedures |
CN105023288A (zh) * | 2015-07-09 | 2015-11-04 | 南京大学 | 二维矢量实线在三维场景中的视觉误差消除方法 |
CN106354959A (zh) * | 2016-08-31 | 2017-01-25 | 北京维盛视通科技有限公司 | 三维服装与人体模型的碰撞检测方法及装置 |
CN106875495A (zh) * | 2016-12-23 | 2017-06-20 | 合肥阿巴赛信息科技有限公司 | 一种基于凹凸贴图的浮雕网格表示及3d打印切片方法和系统 |
CN107749079A (zh) * | 2017-09-25 | 2018-03-02 | 北京航空航天大学 | 一种面向无人机扫描重建的点云质量评价和无人机轨迹规划方法 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108959753A (zh) * | 2018-06-26 | 2018-12-07 | 广州视源电子科技股份有限公司 | 碰撞检测方法、系统、可读存储介质及计算机设备 |
CN109685914A (zh) * | 2018-11-06 | 2019-04-26 | 南方电网调峰调频发电有限公司 | 基于三角网格模型的剖切轮廓自动补面算法 |
CN111496849A (zh) * | 2020-07-01 | 2020-08-07 | 佛山隆深机器人有限公司 | 一种料框与夹具快速碰撞检测的方法 |
CN111508074A (zh) * | 2020-03-12 | 2020-08-07 | 浙江工业大学 | 一种基于屋顶轮廓线的三维建筑模型简化方法 |
CN112418103A (zh) * | 2020-11-24 | 2021-02-26 | 中国人民解放军火箭军工程大学 | 一种基于动态双目视觉的桥式起重机吊装安全防撞系统及方法 |
CN112669434A (zh) * | 2020-12-21 | 2021-04-16 | 山东华数智能科技有限公司 | 一种基于网格与包围盒的碰撞检测方法 |
CN112873855A (zh) * | 2021-04-13 | 2021-06-01 | 河北工业大学 | 一种3dp工艺中stl模型中心排样方法 |
CN112964255A (zh) * | 2019-12-13 | 2021-06-15 | 异起(上海)智能科技有限公司 | 一种标记场景用来定位的方法和装置 |
CN113818816A (zh) * | 2021-08-05 | 2021-12-21 | 洛阳银杏科技有限公司 | 一种用于多臂凿岩机器人的机械臂碰撞检测方法 |
CN114211498A (zh) * | 2021-12-30 | 2022-03-22 | 中国煤炭科工集团太原研究院有限公司 | 基于方向包围盒的锚杆支护机器人碰撞检测方法及系统 |
CN114663199A (zh) * | 2022-05-17 | 2022-06-24 | 武汉纺织大学 | 一种动态展示的实时三维虚拟试衣系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877210B2 (en) * | 2007-01-11 | 2011-01-25 | Siemens Industry, Inc. | System and method for projecting b-rep outlines to detect collisions along a translational path |
US9607414B2 (en) * | 2015-01-27 | 2017-03-28 | Splunk Inc. | Three-dimensional point-in-polygon operation to facilitate displaying three-dimensional structures |
-
2022
- 2022-08-03 CN CN202210928588.1A patent/CN115272379B/zh active Active
Patent Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704694B1 (en) * | 1998-10-16 | 2004-03-09 | Massachusetts Institute Of Technology | Ray based interaction system |
EP1854068A4 (en) * | 2005-02-17 | 2011-09-21 | Agency Science Tech & Res | METHOD AND APPARATUS FOR EDITING THREE DIMENSIONAL IMAGES |
EP1710720B1 (en) * | 2005-04-08 | 2009-07-08 | Dassault Systèmes | Method of computer-aided design of a modeled object having several faces |
US8274506B1 (en) * | 2008-04-28 | 2012-09-25 | Adobe Systems Incorporated | System and methods for creating a three-dimensional view of a two-dimensional map |
CN101739494A (zh) * | 2008-11-07 | 2010-06-16 | 达索系统公司 | 在计算机辅助设计系统中计算建模对象的边界的方法 |
CN102262694A (zh) * | 2010-05-25 | 2011-11-30 | 达索系统公司 | 从第一和第二建模对象计算结果闭合三角化多面体表面 |
JP2012133701A (ja) * | 2010-12-24 | 2012-07-12 | Shift:Kk | 3次元空間データ処理装置及びプログラム |
CN102609992A (zh) * | 2012-02-12 | 2012-07-25 | 北京航空航天大学 | 基于三角网格变形体的自碰撞检测方法 |
CN103337091A (zh) * | 2013-05-30 | 2013-10-02 | 杭州电子科技大学 | 一种基于厚度的柔性场景连续碰撞检测方法 |
CN103325146A (zh) * | 2013-06-28 | 2013-09-25 | 北京航空航天大学 | 一种基于人体截面环数据的衣物面片三维映射方法 |
CN103528521A (zh) * | 2013-10-22 | 2014-01-22 | 广东红海湾发电有限公司 | 一种基于投影边界入侵的复杂港口机械的位置保护方法及装置 |
WO2015084837A1 (en) * | 2013-12-02 | 2015-06-11 | Immersive Touch, Inc. | Improvements for haptic augmented and virtual reality system for simulation of surgical procedures |
CN105023288A (zh) * | 2015-07-09 | 2015-11-04 | 南京大学 | 二维矢量实线在三维场景中的视觉误差消除方法 |
CN106354959A (zh) * | 2016-08-31 | 2017-01-25 | 北京维盛视通科技有限公司 | 三维服装与人体模型的碰撞检测方法及装置 |
CN106875495A (zh) * | 2016-12-23 | 2017-06-20 | 合肥阿巴赛信息科技有限公司 | 一种基于凹凸贴图的浮雕网格表示及3d打印切片方法和系统 |
CN107749079A (zh) * | 2017-09-25 | 2018-03-02 | 北京航空航天大学 | 一种面向无人机扫描重建的点云质量评价和无人机轨迹规划方法 |
CN107767382A (zh) * | 2017-09-26 | 2018-03-06 | 武汉市国土资源和规划信息中心 | 静态三维地图建筑物轮廓线的自动提取方法及系统 |
CN108959753A (zh) * | 2018-06-26 | 2018-12-07 | 广州视源电子科技股份有限公司 | 碰撞检测方法、系统、可读存储介质及计算机设备 |
CN109685914A (zh) * | 2018-11-06 | 2019-04-26 | 南方电网调峰调频发电有限公司 | 基于三角网格模型的剖切轮廓自动补面算法 |
CN112964255A (zh) * | 2019-12-13 | 2021-06-15 | 异起(上海)智能科技有限公司 | 一种标记场景用来定位的方法和装置 |
CN111508074A (zh) * | 2020-03-12 | 2020-08-07 | 浙江工业大学 | 一种基于屋顶轮廓线的三维建筑模型简化方法 |
CN111496849A (zh) * | 2020-07-01 | 2020-08-07 | 佛山隆深机器人有限公司 | 一种料框与夹具快速碰撞检测的方法 |
CN112418103A (zh) * | 2020-11-24 | 2021-02-26 | 中国人民解放军火箭军工程大学 | 一种基于动态双目视觉的桥式起重机吊装安全防撞系统及方法 |
CN112669434A (zh) * | 2020-12-21 | 2021-04-16 | 山东华数智能科技有限公司 | 一种基于网格与包围盒的碰撞检测方法 |
CN112873855A (zh) * | 2021-04-13 | 2021-06-01 | 河北工业大学 | 一种3dp工艺中stl模型中心排样方法 |
CN113818816A (zh) * | 2021-08-05 | 2021-12-21 | 洛阳银杏科技有限公司 | 一种用于多臂凿岩机器人的机械臂碰撞检测方法 |
CN114211498A (zh) * | 2021-12-30 | 2022-03-22 | 中国煤炭科工集团太原研究院有限公司 | 基于方向包围盒的锚杆支护机器人碰撞检测方法及系统 |
CN114663199A (zh) * | 2022-05-17 | 2022-06-24 | 武汉纺织大学 | 一种动态展示的实时三维虚拟试衣系统及方法 |
Non-Patent Citations (2)
Title |
---|
Collision detection for blocking cylindrical objects;De Xu等;《2015 IEEE/RSJ International Conference on Intelligent Robots and Systems》;4798-4803 * |
基于凸壳模型的三维障碍空间可视查询研究;李寒月;《中国优秀硕士学位论文全文数据库 信息科技辑》(第3期);I138-3011 * |
Also Published As
Publication number | Publication date |
---|---|
CN115272379A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gottschalk et al. | OBBTree: A hierarchical structure for rapid interference detection | |
EP1267309B1 (en) | 3D Computer Modelling Apparatus | |
CN112633657A (zh) | 一种施工质量管理方法、装置、设备及存储介质 | |
CN111665842A (zh) | 一种基于语义信息融合的室内slam建图方法及系统 | |
US20240265635A1 (en) | Automated mesh generation | |
CN112052489B (zh) | 一种户型图生成方法及系统 | |
CN115272379B (zh) | 一种基于投影的三维网格模型外轮廓提取方法及系统 | |
JP4185698B2 (ja) | メッシュ生成方法 | |
CN111243094A (zh) | 一种基于点灯法的三维模型精确体素化方法 | |
Liu et al. | Coarse registration of point clouds with low overlap rate on feature regions | |
CN112215308A (zh) | 一种吊装物体单阶检测方法、装置、电子设备及存储介质 | |
CN115601430A (zh) | 基于关键点映射的无纹理高反物体位姿估计方法及系统 | |
US7388584B2 (en) | Method and program for determining insides and outsides of boundaries | |
CN118015197B (zh) | 一种实景三维逻辑单体化方法、装置及电子设备 | |
CN116934994B (zh) | Eam设备分布的立体地图构建方法、系统、设备及存储介质 | |
CN108898679A (zh) | 一种零部件序号自动标注的方法 | |
CN111462330B (zh) | 一种基于平面法向投影的测量视点规划方法 | |
CN110853103B (zh) | 一种用于深度学习姿态估计的数据集制作方法 | |
CN115937466B (zh) | 一种融合gis的三维模型生成方法、系统及存储介质 | |
CN112381950A (zh) | 一种网格孔洞修补方法、电子设备和计算机可读存储介质 | |
JPH1196400A (ja) | 形状変換方法 | |
Wang et al. | A cyber-physical prototype system in augmented reality using RGB-D camera for CNC machining simulation | |
CN111260723B (zh) | 棒材的质心定位方法及终端设备 | |
CN113593036A (zh) | 一种参照网格参数化模型的成像系统、方法、设备及程序 | |
CN111915524B (zh) | 一种基于交比运算的全自动图像透视校正方法 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 801, Building 2, No. 2570 Hechuan Road, Minhang District, Shanghai, 201101 Applicant after: Hangzhou New Dimension Systems Co.,Ltd. Address before: Room 3008-1, No. 391, Wener Road, Xihu District, Hangzhou, Zhejiang 310000 Applicant before: NEW DIMENSION SYSTEMS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |