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

文档序号:6519082阅读:546来源:国知局
基于vrml技术的三维模型边界线提取方法
【专利摘要】一种基于VRML技术的三维模型边界线提取方法,所述边界线提取方法包括以下步骤:(1)读取VRML文件,并采用正则表达式识别文本数据,然后将数据以一定形式存储到数组中;(2)用户设定“法向量突变阀值T”,简称“阀值T”,其取值依据三维模型上最大曲率值,曲率越大,阀值应取越大;(3)将单位法向量数组内的法向量进行两两作差后取向量模,同阀值T进行比较,根据比较结果删除对角线和重复的边界线;(4)将剩余线段进行整理,得到边界线数组,并且和坐标数组一起写入数据表格文件,保存到计算机磁盘中。该方法适用范围广,可处理任意复杂形貌的三维模型。
【专利说明】基于VRML技术的三维模型边界线提取方法
【技术领域】
[0001]本发明涉及计算机图形领域,是一种基于VRML技术的三维模型边界线提取方法。【背景技术】
[0002]目前,对于三维模型边界线提取的研究主要有以下两方面:(1)从二位图像角度出发,通过一些图像处理方法提取边界线,提取结果是另一张图片,这种方法显然不可能包含每条边界线在三维中的解析式;(2)从实物出发,通过扫描或测量得到点云,再经过搜索算法得到属于边界线的点,最后在计算机上逆向建模。第二种方法可以获得边界线在三维中的解析式,能处理密集的点云数据,一般用于不适合人工建模的具有极度不规则形状的对象,且需要额外的三维扫描测量设备,成本较高,操作难度大,计算过程复杂。三维建模软件虽然能显示线框图,但是无法直接将线框图导出为可用于再开发的数据格式,这给应用三维模型边界线数据进行信息再处理造成不便。
[0003]对于任意的复杂三维模型,三维软件在导出VRML文件时,会将所有表面分割成不重复也不遗漏的一系列三角面,各三角面的位置和相互关系可由组成三角面的顶点及顶点外法向计算得到。因此,本发明提出一种边界线提取方法,用于从VRML文件中提取数据,通过一定的算法获得对应三维模型的边界线数据,很有必要。

【发明内容】

[0004]为了解决无法从三维建模软件中直接获得模型边界线数据的问题,本发明从三维模型出发,提供一种基于VRML技术的三维模型边界线提取方法,该方法适用范围广,可处理任意复杂形貌的三维模型。
[0005]本发明解决其技术问题所采用的技术方案是:
[0006]一种基于VRML技术的三维模型边界线提取方法,所述边界线提取方法包括以下步骤:
[0007](I)读取VRML文件,文件扩展名为wrl,并采用正则表达式识别文本数据,然后将数据存储到数组中,数组包括单位法向量数组、线段数组和坐标数组;
[0008](2)用户设定“法向量突变阀值T ”,简称“阀值T ”,一般取阀值T=0.2,阀值T的取值依据三维模型上最大曲率值,曲率越大,阀值T应取越大;
[0009](3)将单位法向量数组内每一条法向量进行两两作差,同阀值T进行比较,若差向量的模小于等于阀值T,则认为两个法向量所对应的三角面是连续的面,面内不存在边界线,并且,如果这两个三角面内存在相同顶点的线段,则一定为面内不存在的边界线,称为“对角线”,删除这两条对角线;如果不存在,则表示两个三角面不属于同一面,不作处理;若差向量的模大于阀值T,则认为这两个三角面是不连续的面,并且,如果这两个三角面内存在相同顶点的线段,则一定为边界线,删除其中一条;如果不存在,则表示两个三角面不相交,不作处理;
[0010](4)将剩余线段进行整理,得到线段数组,并且和坐标数组一起写入数据表格文件,文件扩展名为CSV,保存到计算机磁盘中。
[0011]进一步,所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(I)中,所述的单位法向量数组是由三角面的三个顶点的法向量求和再取单位向量得至IJ,所述的线段数组是由三角面三顶点两两相连得到。
[0012]再进一步,所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤⑵中,所述阀值T的物理意义为:当法向量之差的模小于阀值T时,法向量夹角较小,面夹角接近O度,曲面连续性好。
[0013]本发明的技术构思为:本发明涉及的三维模型边界线提取方法,可将VRML格式文本中的图形数据通过识别和计算,得到模型所有边界线的坐标信息。该方法适用于具有复杂形貌的任意三维模型。
[0014]首先使用三维建模软件,如PRO/E、UG、SolidWorks、CATIA等,建立三维模型;然后将模型另存为VRML(扩展名为wrl)文件格式,选择输出版本为VRML97 ;然后利用本发明提出的三维模型边界线提取方法,从wrl格式文件中提取出三维模型的边界线数据。
[0015]边界线数据由两个数据表格组成,其中一个表格存储了所有的端点坐标值,每行三个元素表示端点空间直角坐标系中的坐标;另一个表格存储了每一条边界线的两个端点坐标的索引,每行两个元素表示一条边界线的两个端点的索引编号。由这两个数组可以确定模型中的所有边界线。
[0016]本发明的有益效果在于:该提取方法无需额外的设备或测量工具,数据量小,辅助数据充分,计算过程简单可靠,易编程,操作难度低,能精确地得到三维模型边界线数据;只要调整阀值即可识别具有不同曲率的曲面的三维模型;合理设置阀值,可以将大区率的圆角特征识别为边界线,而将小曲率的曲面识别为无边界的连续的面。
【专利附图】

【附图说明】
[0017]图1是本发明提取边界线整体流程图
[0018]图2是对角线和重复线段去除流程图
[0019]图3是法向量突变阀值的物理含义示意图
[0020]图4是六棱柱处理前所有线段示意图[0021 ] 图5是六棱柱处理后所有线段示意图
【具体实施方式】
[0022]下面结合附图对本发明作进一步描述。
[0023]参照图1至图5,并以六棱柱提取边界线为例,提供一种基于VRML技术的三维模型边界线提取方法。所述边界线提取方法包括以下步骤:
[0024]第一步,读取VRML文件,文件扩展名为wrl,文件所描述的三维图形信息主要由以下四部分组成:坐标点(Coordinate point)、点法向量(Normal vector)、三角面顶点序列(Coordlndex)、点法向序列(Normallndex)。六棱柱模型对应的VRML文件主要内容如下:
[0025]coord Coordinate {# 坐标点
[0026]point [
[0027]-17.32050900, -17.320509020,[0028]-8.660254-150,_8.660254-1520,
[0029]-8.660254150,_8.6602541520,
[0030]8.660254-150,8.660254-1520,
[0031]8.660254150, 8.6602541520,
[0032]17.32050900,17.320509020
[0033]]
[0034]}
[0035]normal Normal {# 点法向量列表
[0036]vector [
[0037]-0.866025-0.50,-0.8660250.50,
[0038]0-10, 00-1, 001, 010,
[0039]0.866025-0.50,0.8660250.50
[0040]]
[0041]}
[0042]coordlndex [#三角 面顶点序列
[0043]I, 5, O, -1, O, 5, 4, -1, 3, I, 2, -1,
[0044]2,I, O, -1, 7,3,6,-1, 6,3,2,-1,
[0045]11,7,10,-1, 10,7,6,-1, 9,11,8,-1,
[0046]8,11,10,-1, 5,9,4,-1, 4,9,8,-1,
[0047]9,5,11,-1, 11,5,I, -1, 11,I, 7,-1,
[0048]7,I, 3,-1, 6,2,10,-1, 10,2,O, -1,
[0049]10,O, 8,-1, 8,O, 4,-1
[0050]]
[0051]normallndex[# 点法向序列
[0052]I, I, 1,-1, I, I, 1,-1,0,0,0,-1,
[0053]O, O, O, -1, 2,2,2,-1, 2,2,2,-1,
[0054]6, 6, 6, -1, 6, 6, 6, -1, 7, 7, 7, -1,
[0055]7, 7, 7, -1, 5, 5, 5, -1, 5, 5, 5, -1,
[0056]4,4,4,-1, 4,4,4,-1, 4,4,4,-1,
[0057]4,4,4,-1, 3,3,3,-1, 3,3,3,-1,
[0058]3,3,3,-1, 3,3,3,-1
[0059]]
[0060]坐标点记录了模型上所有的端点和曲面经过多面体近似后得到的点的坐标值,按出现顺序指定编号0,I, 2,3...,组成“点数组”,如表1所示。
[0061]表1点数组
tk '4_X_y_z
_.17.3205 OO
[0062]1-17.3205 O20
2-8.66025 -15O[0063]点法向量记录的是每个点在原三维模型中的外法向三坐标值,且相同的外法向向量只记录一次,并按出现顺序指定编号0,I, 2,3...,组成“点法向量数组”,如表2所示。
[0064]表2点法向量数组
【权利要求】
1.一种基于VRML技术的三维模型边界线提取方法,其特征在于:所述边界线提取方法包括以下步骤: (1)读取VRML文件,文件扩展名为wrl,并采用正则表达式识别文本数据,然后将数据存储到数组中,数组包括单位法向量数组、线段数组和坐标数组; (2)用户设定“法向量突变阀值T”,简称“阀值T”,一般取阈值T=0.2,阀值T的取值依据三维模型上最大曲率值,曲率越大,阈值T应取越大; (3)将单位法向量数组内每一条法向量进行两两作差,同阀值T进行比较,若差向量的模小于等于阀值T,则认为两个法向量所对应的三角面是连续的面,面内不存在边界线,并且,如果这两个三角面内存在相同顶点的线段,则一定为面内不存在的边界线,称为“对角线”,删除这两条对角线;如果不存在,则表示两个三角面不属于同一面,不作处理;若差向量的模大于阀值T,则认为这两个三角面是不连续的面,并且,如果这两个三角面内存在相同顶点的线段,则一定为边界线,删除其中一条;如果不存在,则表示两个三角面不相交,不作处理; (4)将剩余线段进行整理,得到线段数组,并且和坐标数组一起写入数据表格文件,文件扩展名为csv,保存到计算机磁盘中。
2.如权利要求1所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤(I)中,所述的单位法向量数组是由三角面的三个顶点的法向量求和再取单位向量得至IJ,所述的线段数组是由三角面三顶点两两相连得到。
3.如权利要求1所述的基于VRML技术的三维模型边界线提取方法,其特征在于:所述步骤⑵中,所述阀值T的物理意义为:当法向量之差的模小于阀值T时,法向量夹角较小,面夹角接近O度,曲面连续性好。
【文档编号】G06F17/50GK103631993SQ201310571448
【公开日】2014年3月12日 申请日期:2013年11月13日 优先权日:2013年11月13日
【发明者】金明生, 计时鸣, 张鹤腾, 张利, 蔡东海 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1