CN103631993B - 基于vrml技术的三维模型边界线提取方法 - Google Patents

基于vrml技术的三维模型边界线提取方法 Download PDF

Info

Publication number
CN103631993B
CN103631993B CN201310571448.4A CN201310571448A CN103631993B CN 103631993 B CN103631993 B CN 103631993B CN 201310571448 A CN201310571448 A CN 201310571448A CN 103631993 B CN103631993 B CN 103631993B
Authority
CN
China
Prior art keywords
array
boundary line
triangular
threshold
threshold value
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
Application number
CN201310571448.4A
Other languages
English (en)
Other versions
CN103631993A (zh
Inventor
金明生
计时鸣
张鹤腾
张利
蔡东海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Xinda Communication Technology Co ltd
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201310571448.4A priority Critical patent/CN103631993B/zh
Publication of CN103631993A publication Critical patent/CN103631993A/zh
Application granted granted Critical
Publication of CN103631993B publication Critical patent/CN103631993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种基于VRML技术的三维模型边界线提取方法,所述边界线提取方法包括以下步骤:(1)读取VRML文件,并采用正则表达式识别文本数据,然后将数据以一定形式存储到数组中;(2)用户设定“法向量突变阈值T”,简称“阈值T”,其取值依据三维模型上最大曲率值,曲率越大,阈值应取越大;(3)将单位法向量数组内的法向量进行两两作差后取向量模,同阈值T进行比较,根据比较结果删除对角线和重复的边界线;(4)将剩余线段进行整理,得到边界线数组,并且和坐标数组一起写入数据表格文件,保存到计算机磁盘中。该方法适用范围广,可处理任意复杂形貌的三维模型。

Description

基于VRML技术的三维模型边界线提取方法
技术领域
本发明涉及计算机图形领域,是一种基于VRML技术的三维模型边界线提取方法。
背景技术
目前,对于三维模型边界线提取的研究主要有以下两方面:(1)从二位图像角度出发,通过一些图像处理方法提取边界线,提取结果是另一张图片,这种方法显然不可能包含每条边界线在三维中的解析式;(2)从实物出发,通过扫描或测量得到点云,再经过搜索算法得到属于边界线的点,最后在计算机上逆向建模。第二种方法可以获得边界线在三维中的解析式,能处理密集的点云数据,一般用于不适合人工建模的具有极度不规则形状的对象,且需要额外的三维扫描测量设备,成本较高,操作难度大,计算过程复杂。三维建模软件虽然能显示线框图,但是无法直接将线框图导出为可用于再开发的数据格式,这给应用三维模型边界线数据进行信息再处理造成不便。
对于任意的复杂三维模型,三维软件在导出VRML文件时,会将所有表面分割成不重复也不遗漏的一系列三角面,各三角面的位置和相互关系可由组成三角面的顶点及顶点外法向计算得到。因此,本发明提出一种边界线提取方法,用于从VRML文件中提取数据,通过一定的算法获得对应三维模型的边界线数据,很有必要。
发明内容
为了解决无法从三维建模软件中直接获得模型边界线数据的问题,本发明从三维模型出发,提供一种基于VRML技术的三维模型边界线提取方法,该方法适用范围广,可处理任意复杂形貌的三维模型。
本发明解决其技术问题所采用的技术方案是:
一种基于VRML技术的三维模型边界线提取方法,所述边界线提取方法包括以下步骤:
(1)读取VRML文件,文件扩展名为wrl,并采用正则表达式识别文本数据,然后将数据存储到数组中,数组包括单位法向量数组、线段数组和坐标数组;
(2)用户设定“法向量突变阈值T”,简称“阈值T”,一般取阈值T=0.2,阈值T的取值依据三维模型上最大曲率值,曲率越大,阈值T应取越大;
(3)将单位法向量数组内每一条法向量进行两两作差,同阈值T进行比较,若差向量的模小于等于阈值T,则认为两个法向量所对应的三角面是连续的面,面内不存在边界线,并且,如果这两个三角面内存在相同顶点的线段,则一定为面内不存在的边界线,称为“对角线”,删除这两条对角线;如果不存在,则表示两个三角面不属于同一面,不作处理;若差向量的模大于阈值T,则认为这两个三角面是不连续的面,并且,如果这两个三角面内存在相同顶点的线段,则一定为边界线,删除其中一条;如果不存在,则表示两个三角面不相交,不作处理;
(4)将剩余线段进行整理,得到线段数组,并且和坐标数组一起写入数据表格文件,文件扩展名为csv,保存到计算机磁盘中。
进一步,所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(1)中,所述的单位法向量数组是由三角面的三个顶点的法向量求和再取单位向量得到,所述的线段数组是由三角面三顶点两两相连得到。
再进一步,所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(2)中,所述阈值T的物理意义为:当法向量之差的模小于阈值T时,法向量夹角较小,面夹角接近0度,曲面连续性好。
本发明的技术构思为:本发明涉及的三维模型边界线提取方法,可将VRML格式文本中的图形数据通过识别和计算,得到模型所有边界线的坐标信息。该方法适用于具有复杂形貌的任意三维模型。
首先使用三维建模软件,如PRO/E、UG、SolidWorks、CATIA等,建立三维模型;然后将模型另存为VRML(扩展名为wrl)文件格式,选择输出版本为VRML 97;然后利用本发明提出的三维模型边界线提取方法,从wrl格式文件中提取出三维模型的边界线数据。
边界线数据由两个数据表格组成,其中一个表格存储了所有的端点坐标值,每行三个元素表示端点空间直角坐标系中的坐标;另一个表格存储了每一条边界线的两个端点坐标的索引,每行两个元素表示一条边界线的两个端点的索引编号。由这两个数组可以确定模型中的所有边界线。
本发明的有益效果在于:该提取方法无需额外的设备或测量工具,数据量小,辅助数据充分,计算过程简单可靠,易编程,操作难度低,能精确地得到三维模型边界线数据;只要调整阈值即可识别具有不同曲率的曲面的三维模型;合理设置阈值,可以将大区率的圆角特征识别为边界线,而将小曲率的曲面识别为无边界的连续的面。
附图说明
图1是本发明提取边界线整体流程图
图2是对角线和重复线段去除流程图
图3是法向量突变阈值的物理含义示意图
图4是六棱柱处理前所有线段示意图
图5是六棱柱处理后所有线段示意图
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1至图5,并以六棱柱提取边界线为例,提供一种基于VRML技术的三维模型边界线提取方法。所述边界线提取方法包括以下步骤:
第一步,读取VRML文件,文件扩展名为wrl,文件所描述的三维图形信息主要由以下四部分组成:坐标点(Coordinate point)、点法向量(Normal vector)、三角面顶点序列(CoordIndex)、点法向序列(NormalIndex)。六棱柱模型对应的VRML文件主要内容如下:
coord Coordinate{#坐标点
point[
-17.320509 0 0,-17.320509 0 20,
-8.660254-15 0,-8.660254-15 20,
-8.660254 15 0,-8.660254 15 20,
8.660254-15 0,8.660254-15 20,
8.660254 15 0,8.660254 15 20,
17.320509 0 0,17.320509 0 20
]
}
normal Normal{#点法向量列表
vector[
-0.866025-0.5 0,-0.866025 0.5 0,
0-1 0,0 0-1,0 0 1,0 1 0,
0.866025-0.5 0,0.866025 0.5 0
]
}
coordIndex[#三角面顶点序列
1,5,0,-1,0,5,4,-1,3,1,2,-1,
2,1,0,-1,7,3,6,-1,6,3,2,-1,
11,7,10,-1,10,7,6,-1,9,11,8,-1,
8,11,10,-1,5,9,4,-1,4,9,8,-1,
9,5,11,-1,11,5,1,-1,11,1,7,-1,
7,1,3,-1,6,2,10,-1,10,2,0,-1,
10,0,8,-1,8,0,4,-1
]
normalIndex[#点法向序列
1,1,1,-1,1,1,1,-1,0,0,0,-1,
0,0,0,-1,2,2,2,-1,2,2,2,-1,
6,6,6,-1,6,6,6,-1,7,7,7,-1,
7,7,7,-1,5,5,5,-1,5,5,5,-1,
4,4,4,-1,4,4,4,-1,4,4,4,-1,
4,4,4,-1,3,3,3,-1,3,3,3,-1,
3,3,3,-1,3,3,3,-1
]
坐标点记录了模型上所有的端点和曲面经过多面体近似后得到的点的坐标值,按出现顺序指定编号0,1,2,3…,组成“点数组”,如表1所示。
表1点数组
点法向量记录的是每个点在原三维模型中的外法向三坐标值,且相同的外法向向量只记录一次,并按出现顺序指定编号0,1,2,3…,组成“点法向量数组”,如表2所示。
表2点法向量数组
三角面顶点序列记录了组成整个三维图形的所有三角形小平面对应顶点编号。每个三角面由三个顶点的编号组成,这里称为“三角面”,可表示为i-j-k形式,-1表示一个面的结束;同理,线段可表示为m-n形式。例如,三角面1-3-7表示由1、3、7三个点,即包含1-3、3-7、7-1三条线段。三角面三个顶点两两相连得到“线段数组”,如表3所示。
表3线段数组
法向序列和三角面序列一一对应,法向序列的一组包含三个对应三角面三个顶点的点法向量编号。将同一个三角面的三个法向量求和后取其单位向量,作为该三角面的“面单位法向量”,如公式其中,表示三角面5-9-4的面单位法向量,分别为顶点4、5、9的点法向量。求出所有三角面的面单位法向量,组成面“面单位法向量数组”,如表4所示。
表4面单位法向量数组
第二步,用户设定“法向量突变阈值T”,简称“阈值T”,其物理含义为:当面i-j-k21的面单位法向量Ni-j-k22与面l-m-n26的面单位法向量Nl-m-n25之差P24的模小于阈值T时,法向量夹角θ23较小,夹角α27接近180度,曲面连续性好。所以T的取值依据为工件上最大曲率值,曲率越大,T值应取越大,一般取0.2。
第三步,参照图4,其中存在很多不必要的线段,如:面4-5-9-8由三角面5-9-4和4-9-8组成,面8-9-11-10由三角面9-11-8和8-11-10组成,其中线段4-9、9-4、11-8、8-11属于不真实存在的对角线,而线段9-8和8-9表示的是同一条边界线,需去除其中一条。
去除对角线和重复边界线的方法如下:(1)将面单位法向量两两作差,取差向量的模:差向量的模的大小代表了三角面夹角大小。(2)将差向量的模与所述阈值进行比较,若差向量的模小于等于阈值,则两个法向量所对应的三角面是连续的面,面内不存在边界线,并且,如果这两个三角面内存在相同顶点的线段,则一定为面内不存在的边界线,删除这两条线段;如果不存在,则表示两个三角面不属于同一面,不作处理。若差向量的模大于阈值,则这两个三角面是不连续的面,并且,如果这两个三角面内存在相同顶点的线段,则一定为边界线,删除其中一条;如果不存在,则表示两个三角面不相交,不作处理。
在六棱柱里具体实施如下:
表3和表4分别列出了三角面的三个线段组和面单位法向量,然后将任意两个面的面单位法向量作差后取差向量的模与阈值比较。在P≤T时是去除对角线的过程,对于该六棱柱模型,由于其没有曲面,可取T=0。编号为0和1这两个面,这两个三角面为1-5-0和0-5-4,根据表4的面单位法向量,求得其差向量的模为将模P0与阈值比较,P0≤T,并且,通过表3看出,编号0和1的线段数组存在相同线段0-5,所以面内存在不存在的边界线,为面内对角线,删除这两条线段0-5和5-0。六棱柱有20个三角面,要除所有对角线,两两比较需要计算次,计算结果列于表5。
表5对角线去除后线段
当不存在对角线的情况下,可以直接通过表5所有线段两两比较,若顶点相同,则删除其中一条重复线段,也可以通过所述阈值比较的方法删除两个不连续面的重复线段。如三角面1-5-0和三角面2-1-0这两个面,根据表4的面单位法向量,求得其差向量模为将模P1与阈值T进行比较,当P1≥T,可以确定这两个面为不连续面,并且,这两个三角面内存在相同顶点线段0-1和1-0,则它一定为边界线段,删除其中一条0-1。对于P1≥T的情况,为了删除所有相同顶点的线段,对去除对角线后剩余的36条线段进行两两比较,若顶点相同,则删除其中一条,需要计算次,得到去除重复线段的结果,如下表6。
第四步,为方便读取,将表6结果线段进行整理,得到线段数组,如表7所示,整理方法为:对该线段数组内容进行拆分,如原来的线段数组是通过字符串格式“0-5”的方式存储,排列成一列,拆分后变成数字格式“0”、“5”的方式存储。最后将表7的数组和坐标数组一起写入数据表格文件,文件扩展名为csv,保存到计算机磁盘中。
表6结果线段
表7结果线段数组
本发明的技术构思为:本发明涉及的三维模型边界线提取方法,可将VRML格式文本中的图形数据通过识别和计算,得到模型所有边界线的坐标信息。该方法适用于具有复杂形貌的任意三维模型。
首先使用三维建模软件,如PRO/E、UG、SolidWorks、CATIA等,建立三维模型;然后将模型另存为VRML(扩展名为wrl)文件格式,选择输出版本为VRML 97;然后利用本发明提出的三维模型边界线提取方法,从wrl格式文件中提取出三维模型的边界线数据。
边界线数据由两个数据表格组成,其中一个表格存储了所有的端点坐标值,每行三个元素表示端点空间直角坐标系中的坐标;另一个表格存储了每一条边界线的两个端点坐标的索引,每行两个元素表示一条边界线的两个端点的索引编号。由这两个数组可以确定模型中的所有边界线。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (3)

1.一种基于VRML技术的三维模型边界线提取方法,其特征在于:所述边界线提取方法包括以下步骤:
(1)读取VRML文件,文件扩展名为wrl,并采用正则表达式识别文本数据,然后将数据存储到数组中,数组包括单位法向量数组、线段数组和坐标数组;
(2)用户设定“法向量突变阈值T”,简称“阈值T”,一般取阈值T=0.2,阈值T的取值依据三维模型上最大曲率值,曲率越大,阈值T应取越大;
(3)将单位法向量数组内每一条法向量进行两两作差,同阈值T进行比较,若差向量的模小于等于阈值T,则认为两个法向量所对应的三角面是连续的面,面内不存在边界线,并且,如果这两个三角面内存在相同顶点的线段,则一定为面内不存在的边界线,称为“对角线”,删除这两条对角线;如果不存在,则表示两个三角面不属于同一面,不作处理;若差向量的模大于阈值T,则认为这两个三角面是不连续的面,并且,如果这两个三角面内存在相同顶点的线段,则一定为边界线,删除其中一条;如果不存在,则表示两个三角面不相交,不作处理;
(4)将剩余线段进行整理,得到线段数组,并且和坐标数组一起写入数据表格文件,文件扩展名为csv,保存到计算机磁盘中。
2.如权利要求1所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(1)中,所述的单位法向量数组是由三角面的三个顶点的法向量求和再取单位向量得到,所述的线段数组是由三角面三顶点两两相连得到。
3.如权利要求1所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(2)中,所述阈值T的物理意义为:当法向量之差的模小于阈值T时,法向量夹角较小,面夹角接近0度,曲面连续性好。
CN201310571448.4A 2013-11-13 2013-11-13 基于vrml技术的三维模型边界线提取方法 Active CN103631993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310571448.4A CN103631993B (zh) 2013-11-13 2013-11-13 基于vrml技术的三维模型边界线提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310571448.4A CN103631993B (zh) 2013-11-13 2013-11-13 基于vrml技术的三维模型边界线提取方法

Publications (2)

Publication Number Publication Date
CN103631993A CN103631993A (zh) 2014-03-12
CN103631993B true CN103631993B (zh) 2016-08-31

Family

ID=50213033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310571448.4A Active CN103631993B (zh) 2013-11-13 2013-11-13 基于vrml技术的三维模型边界线提取方法

Country Status (1)

Country Link
CN (1) CN103631993B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101888963B1 (ko) * 2017-03-06 2018-08-17 (주)오앤드리메디컬로봇 레이저 치료를 위한 영역 분할 방법, 그를 이용한 레이저 치료 방법 및 장치
CN111710026B (zh) * 2020-05-11 2022-06-21 中国电建集团西北勘测设计研究院有限公司 一种利于分析三维模型内部结构的方法
CN112712587A (zh) * 2020-12-23 2021-04-27 上海葛兰岱尔网络科技有限公司 一种基于三角面片数据生成模型线框的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250445A (ja) * 1992-03-09 1993-09-28 A T R Tsushin Syst Kenkyusho:Kk 三次元モデルデータ生成装置
CN101706830A (zh) * 2009-11-12 2010-05-12 中国人民解放军国防科学技术大学 对刚性材质物体表面网格模型进行钻孔后模型重建的方法
CN103310481A (zh) * 2013-05-20 2013-09-18 东南大学 一种基于模糊熵迭代的点云精简方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250445A (ja) * 1992-03-09 1993-09-28 A T R Tsushin Syst Kenkyusho:Kk 三次元モデルデータ生成装置
CN101706830A (zh) * 2009-11-12 2010-05-12 中国人民解放军国防科学技术大学 对刚性材质物体表面网格模型进行钻孔后模型重建的方法
CN103310481A (zh) * 2013-05-20 2013-09-18 东南大学 一种基于模糊熵迭代的点云精简方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
一种位置图像边界提取算法;唐振军等;《微计算机信息》;20061031;第22卷(第10期);第281-283页 *
一种基于曲率尺度控件的局部阈值焦点检测方法;汪华琴等;《计算技术与自动化》;20070228;第26卷(第2期);第123-127页 *
点云的边界提取及焦点检测算法研究;杨雪娇;《中国优秀硕士论文全文数据库》;20110515(第5期);I138-1032 *
空间三角网格曲面的边界提取方法;张献颖等;《中国图象图形学报》;20031031;第8卷(第10期);第1223-1226页 *
逆向工程中散乱点云的边界线;姚运萍等;《组合机床与自动化加工技术》;20080430(第4期);第47-49页 *

Also Published As

Publication number Publication date
CN103631993A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
WO2019157924A1 (zh) 三维物体的实时检测方法及系统
Elaiwat et al. 3-D face recognition using curvelet local features
CN106021330B (zh) 一种用于混合轮廓线视图下的三维模型检索方法
Feng et al. Depth-projection-map-based bag of contour fragments for robust hand gesture recognition
AU2018202767B2 (en) Data structure and algorithm for tag less search and svg retrieval
CN110176079B (zh) 一种基于准共形映射的三维模型变形算法
CN101446952A (zh) 三维类似形状检索装置
Tabia et al. Compact vectors of locally aggregated tensors for 3D shape retrieval
CN107944459A (zh) 一种rgb‑d物体识别方法
CN103729885A (zh) 多视角投影与三维注册联合的手绘场景三维建模方法
Chaouch et al. A new descriptor for 2D depth image indexing and 3D model retrieval
RU2674326C2 (ru) Способ формирования архитектуры нейросети для классификации объекта, заданного в виде облака точек, способ ее применения для обучения нейросети и поиска семантически схожих облаков точек
US20170323149A1 (en) Rotation invariant object detection
CN105631929A (zh) 点云精简方法及系统
CN103631993B (zh) 基于vrml技术的三维模型边界线提取方法
CN104318552B (zh) 基于凸包投影图匹配的模型配准方法
CN105957149A (zh) 一种适用于高效渲染的城市三维模型数据预处理方法
CN103971122A (zh) 基于深度图像的三维人脸描述方法及装置
US5696844A (en) Outline pattern data extraction device for extracting outline pattern of a pattern distribution in a multi-dimensional feature vector space and its applications
CN110851627B (zh) 一种用于描述全日面图像中太阳黑子群的方法
CN110163095B (zh) 回环检测方法、回环检测装置及终端设备
CN111161348B (zh) 一种基于单目相机的物体位姿估计方法、装置及设备
Gao et al. Efficient view-based 3-D object retrieval via hypergraph learning
CN110910463B (zh) 全视角点云数据定长有序化编码方法、设备及存储介质
CN114627346B (zh) 一种保留重要特征的点云数据下采样方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191206

Address after: 314300 room 237, building 1, new economic Industrial Park, Tongyuan Town, Haiyan County, Jiaxing City, Zhejiang Province

Patentee after: Jiaxing Maojing Garden Co.,Ltd.

Address before: 310018 Room 1004-1006, 17 Block 57, Baiyang Street Science Park Road, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Patentee before: Zhejiang Qibo Intellectual Property Operation Co.,Ltd.

Effective date of registration: 20191206

Address after: 310018 Room 1004-1006, 17 Block 57, Baiyang Street Science Park Road, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Patentee after: Zhejiang Qibo Intellectual Property Operation Co.,Ltd.

Address before: Hangzhou City, Zhejiang province 310014 City Zhaohui District Six

Patentee before: Zhejiang University of Technology

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: 215200 creation road, seven Du Town, Wujiang District, Suzhou, Jiangsu

Patentee after: JIANGSU XINDA COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 314300 room 237, building 1, new economic Industrial Park, Tongyuan Town, Haiyan County, Jiaxing City, Zhejiang Province

Patentee before: Jiaxing Maojing Garden Co.,Ltd.