法律状态公告日
法律状态信息
法律状态
2018-08-21
授权
授权
2016-11-09
实质审查的生效 IPC(主分类):G06F19/00 申请日:20160513
实质审查的生效
2016-10-12
公开
公开
技术领域
本发明涉及基于光照模型的离散曲面品质分析方法及系统,属于逆向工程领域。
背景技术
逆向工程中原始采集数据一般为产品表面的点云数据,点云经过初步的精简、去噪和光顺后通常构造成三角网格曲面,从而为后续的曲面重构、模型再设计和创新设计打下基础。因而需要对三角网格模型进行曲面品质分析来检测模型精度和光顺性。此外,逆向工程最终得到的数字化三维模型,如进行原型制造还要转换成三角网格模型,此时依然有检查其曲面品质的必要性。国外对曲面品质分析技术的研究源于上世纪70年代末,专业学者们提出了多种用于检查曲面品质的分析方法。基于光照模型的曲面品质分析方法能够有效评价曲面品质,且具有较为直接的物理意义和较高的运算速度,因而也是应用最为广泛的离散曲面品质分析方法。
美国学者Klass R于1980年提出反射线法,该方法有明确的物理意义,反射线的扭曲状况可评判曲面的光顺性和连续性,但是反射线随曲面和视点位置变换而变换。2007年,Eugen D研究了反射线法的应用并提出距离函数的概念,并给出了特殊光源情况下的反射点算法,然而这种方法缺乏普适性,不利于计算效率提高。Tosun E构造了角度函数用于计算反射线,有利于离散曲面的误差分析和曲面优化,但是过大的计算量并不利于反射线计算效率的提高。针对反射线法视点依赖性的缺点,Beier K和Chen于1994年将入射光线与法矢量重合从而提出了高光线法(部分学者也称作“高亮线法”)。高光线法不受视点位置影响,分析效率较高,是目前应用最为广泛的曲面品质检查方法。2003年Yong J H等人通过用光片模型代替传统的光柱模型优化了高光线算法,并巧妙地利用泰勒展开式算法实现NURBS曲面局部微调时高光线的快速动态重生成,大幅提高了高光线的计算效率,然而该重生成算法误差较大难以实际应用。南航的神会存等在2005年改进了基于光片模型高光线法,并其给出了具体的计算机实现方法,该方法不仅有较高的运行效率,还克服了原高光线簇失真的缺陷。为了消除视点及光源差异对反射线的影响,纪小刚等学者在深入研究反射线法和高光线法的基础上于2006年提出了极限反射法,该方法同时继承了反射线法物理意义明确和高光线法计算效率高的优点,确保了在现有硬件条件下曲面品质分析交互式操作的实现。2009年,Yong J H等给出了针对任意三角网格曲面的高光线计算机实现算法,并根据高光线分析结果去除曲面局部不规则区域从而优化曲面光顺性。2005年Maekawa T结合反射线和高光线的特点,将光源直线改造为共面同心圆线,提出曲面品质分析新方法——高光圆法,该法在检查具有方向规律曲面和拼接曲面连续性时效果较好。两年后Nishiyama Y利用高光圆检测曲面不规则区域,并通过优化高光圆结构实现曲面的优化光顺。由Poeschl T首次提出的等照度线法也是对反射线法的一种改进,同一条等照度线上的曲面点光照强度处处相等,该法可检查曲面连续性。2003年,Kim K J等研究了等照度法在回转曲面和管道表面品质分析中的具体应用,并优化了算法的稳定性和计算效率。在曲面品质分析的计算机实现方面,孙科峰2005年在硕士论文中详细论述了利用矩形网格等值线算法生成连续曲面高光线的流程以及扩展到三角网格曲面后高光线生成的具体算法。
目前,基于光照模型的曲面品质分析技术依然存在很多问题:现有反射线算法易导致反射线簇严重的基准依赖性和反射线畸变;高光圆法的提出相对较晚,现有高光圆生成算法较为复杂,计算量大,这在很大程度上限制了高光圆法的推广与应用;在离散曲面品质分析领域,现有基于光照模型的几种方法只能检查离散曲面的光顺性,无法有效检查出离散曲面的连续性。
发明内容
针对上述问题,申请人在现有曲面品质分析技术研究的基础上,优化光照模型方法计算模型,提高曲面品质分析效率,在特征提取和广义边界提取上实现离散曲面的光顺性和连续性的检查;同时结合C++语言、OpenGL图形接口技术和VC++数值分析类库,提出基于光照模型的离散曲面品质分析优化方法及系统,实现利用反射线法、高光线法、高光圆法和等照度线法对三角网格曲面品质的高效稳定分析。
本发明的技术方案如下:
1.一种基于光照模型的离散曲面品质分析方法及系统,其特征在于包括以下步骤:
(一)STL数据读取与处理:
读入离散曲面模型的STL数据,建立关联表存储三角网格曲面中点线面的数据,进而提取出点线面之间的拓扑关系;计算三角网格顶点的法矢量并存入关联表中的点表;
(二)特征提取与边界提取:
采用几何张量法识别和提取离散曲面特征,首先计算任意网格点P处的特征张量T(p),再计算出张量矩阵的特征值λ1、λ2和λ3,且满足λ1≥λ2≥λ3≥0,将特征值采用归一化处理得到一组新的特征值:
将特征值λ2处于[0.02,0.2]区间的网格点标记为弱特征点,将特征值λ2>0.2的网格点归为强特征点;根据特征成链准则判断和剔除弱特征点中的噪音点;对于所有得到的特征点采用公式(2)重新计算法矢量:
其中,Nf1和Nf2分别代表点P邻域内两个子网格面的面片索引集合,di,j为点Pi与点Vj的距离;最后定义“广义边界”,既包括狭义概念下的离散曲面边界,还包括已提取的由曲面特征点构成的特征边;
(三)绘制曲面品质分析线
根据已设定的光源,计算离散曲面网格点法矢量与基准光源的距离值d(u,v),假设点P为三角网格曲面网格顶点,对应法向矢量为N,L0为光源直线上一点,Q为表示入射光线方向的单位向量,H表示光源线方向的单位向量,光源平面法向单位矢量为Z,则反射线法距离曲面的构建采用公式(3):
高光线法距离曲面的构建采用公式(4):
O点为同心圆形光源线的圆心,高光圆法距离曲面的构建采用公式(5):
等照度线法距离曲面的构建采用公式(6):
d(u,v)=∠(Q,N) (6)
再构造离散距离曲面,遍历网格边找到所有曲面品质分析线经过的网格边,采用线性插值算法计算出曲面品质分析线的型值点,最后根据所得点绘制曲面品质分析线。
2.根据权利要求1所述基于光照模型的离散曲面品质分析方法及系统,其特征在于:所述步骤(二)的软件实现方法为,通过编制如下特征提取和边界提取函数实现:
(1)void OnFeatureline(void);
该函数处理STL曲面初始化得到的网格点矩阵matrix node和小面片矩阵matrix surf,识别并提取出所有强特征点和弱特征点,剔除噪音点,结果储于特征点矩阵matrix feature;
(2)void OnBound(void);
该函数处理STL曲面初始化得到的网格点矩阵matrix node和小面片矩阵matrix surf,识别并提取所有广义边界点,结果存储于边界点矩阵matrix bound;
3.根据权利要求1所述基于光照模型的离散曲面品质分析方法及系统,其特征在于:所述步骤(三)的软件实现方法为,通过编制如下离散曲面品质分析函数实现:
(1)void DistanceReflect(void);
该函数处理网格点矩阵matrix node和反射线法光源设置参数,计算离散曲面所有网格点法矢量与基准光源的距离,并构建反射线法模型的距离曲面,结果放入网格点矩阵matrix node;
(2)void DistanceHight(void);
该函数处理网格点矩阵matrix node和高光线法光源设置参数,计算离散曲面所有网格点法矢量与基准光源的距离,并构建高光线法模型的距离曲面,结果放入网格点矩阵matrix node;
(3)void DistanceCircu(void);
该函数处理网格点矩阵matrix node和高光圆法光源设置参数,计算离散曲面所有网格点法矢量与光源圆心的距离,并构建高光圆法模型的距离曲面,结果放入网格点矩阵matrix node;
(4)void DistanceIso(void);
该函数处理网格点矩阵matrix node和等照度线法光源设置参数,计算离散曲面所有网格点法矢量与入射源的夹角值,并构建等照度线法的角度曲面,结果放入网格点矩阵matrix node;
(5)void HighLight(void);
该函数网格点矩阵matrix node和小面片矩阵matrix surf,采用等值线追踪算法计算曲面品质分析线,对反射线法、高光线法、高光圆法和等照度线法均适用,结果存储于控制点矩阵matrix ctrlpoints;
(6)matrix HighPoints_Interp(matrix A,matrix B,matrix C);
该函数按线性插值算法计算曲面品质分析点,其中matrix A为HighLight(void)函数计算过程中得到的存储含曲面品质分析点的网格边矩阵matrix side,matrix B为网格点矩阵matrix node,计算结果为曲面品质分析线的型值点矩阵matrix hightpoint,用矩阵C接收;
(7)matrix DPStoCVS(matrix DPS,int n);
该函数用于根据3次B样条曲线的型值点反算曲线控制点,其中矩阵matrix DPS即为存储样条曲线型值点的矩阵,int n表示型值点的个数,计算结果保存于控制点矩阵matrix ctrlpoints;
(8)void DrawLight(void);
该函数用于根据光源设置参数计算反射线法、高光线法和等照度线法中光源直线组并达到实时动态绘制光源的目的,计算结果保存于矩阵matrix light中;
(9)void DrawCircular(void);
该函数用于根据光源设置参数计算高光圆法中光源直线组,达到实时动态绘制光源的目的,计算结果保存于矩阵matrix light中;
(10)void Display(void);
该函数用于绘制并显示三角网格曲面、曲面特征点、曲面边界、曲面品质分析线、光源线等。
本发明解决了现有品质分析线算法的不足,提高了曲面品质分析的计算效率,扩宽曲面分析技术的应用领域,为重构曲面的精度提升提供理论依据,为高质量逆向工程奠定基础;本发明优化了基于光照模型曲面品质分析方法的计算模型与生成流程,四种方法计算模型也得以统一化;本发明提出离散曲面特征提取和边界提取方法,实现对基于光照模型方法对离散曲面连续性的检查。
附图说明
图1是本发明的步骤划分示意图。
图2是反射线生成流程示意图。
图3(a)~图3(d)是甲壳虫轿车车头点云曲面品质分析实例。其中,
图3(a)是原始点云曲面示意图。
图3(b)是三角网格曲面着色渲染图。
图3(c)是未经特征提取生成的高光线。
图3(d)是特征提取后生成的高光线断开。
图4(a)、图4(b)是轿车引擎盖离散曲面品质分析实例。
图4(a)是汽车引擎盖原始三角网格曲面。
图4(b)是汽车引擎盖离散曲面高光圆分析图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
本发明主要包括三个步骤:“STL数据读取与处理”、“特征提取与边界提取”、“绘制曲面品质分析线”。其中,“STL数据读取与处理”步骤负责初始化三角网格曲面的数据信息并计算网格顶点法矢量;“特征提取与边界提取”步骤负责提取三角网格曲面的C0连续特征和广义边界特征;“绘制曲面品质分析线”步骤负责构建距离曲面,计算曲面品质分析线并显示,步骤划分如图1所示。
1、STL数据读取与处理
读入离散曲面模型的STL数据,定义矩阵变量matrix node存储三角网格曲面中网格顶点数据,数据格式为每行7个数据,分别表示顶点法矢量、顶点坐标和距离值,数据格式如表1所示。
表1点表格式
定义矩阵变量matrix surf存储三角网格中三角面片的数据,数据格式为每行6个数据,分别表示面片法矢量、三角面片三个顶点对应的点表位置,数据格式如表2所示。
表2面表
通过上述矩阵变量node和surf提取出点线面之间拓扑关系;再计算三角网格顶点的法矢量并存入三角网格顶点表中顶点法矢量位置;
2、特征提取与边界提取
2.1特征提取算法
(1)采用几何张量法识别和提取离散曲面特征,首先计算任意网格点P处的特征张量T(p),再计算出张量矩阵的特征值λ1、λ2和λ3,且满足λ1≥λ2≥λ3≥0,将特征值采用归一化处理得到一组新的特征值:
(2)由(1)式得到的特征值组中,将λ2处于[0.02,0.2]区间的网格点标记为弱特征点,将特征值λ2>0.2的网格点标记为强特征点;根据特征成链准则判断和剔除弱特征点中的噪音点;采用公式(2)重新计算所有特征点处法矢量:
其中,Nf1和Nf2分别代表点P邻域内两个子网格面的面片索引集合,di,j为点Pi与点Vj的距离;
2.2广义边界提取算法
(1)定义“广义边界”,既包括狭义概念下的离散曲面边界,还包括已提取的由曲面特征点构成的特征边;首先提取领域边不封闭的所有网格点加入边界点集合;
(2)将2.1中所提取的所有特征点加入边界点集合,从而确定离散曲面广义边界点集合;
表3特征提取与边界提取过程中的参数与变量
2.3特征和边界提取函数
在特征提取与边界提取算法基础上,本发明在VC2008平台上结合VC++数值分析类库,编写如下功能函数实现离散曲面的特征提取和边界提取:
(1)void OnFeatureline(void);
该函数处理STL曲面初始化得到的网格点矩阵matrix node和小面片矩阵matrix surf,识别并提取出所有强特征点和弱特征点,剔除噪音点,结果储于特征点矩阵matrix feature;
(2)void OnBound(void);
该函数处理STL曲面初始化得到的网格点矩阵matrix node和小面片矩阵matrix surf,识别并提取所有广义边界点,结果存储于边界点矩阵matrix bound;
3、绘制曲面品质分析线
3.1绘制曲面品质分析线算法
根据已设定的光源,计算离散曲面网格点法矢量与基准光源的距离值d(u,v),假设点P为三角网格曲面网格顶点,对应法向矢量为N,L0为光源直线上一点,Q为表示入射光线方向的单位向量,H表示光源线方向的单位向量,光源平面法向单位矢量为Z:
(1)反射线法距离曲面的构建采用公式(3):
(2)高光线法距离曲面的构建采用公式(4):
(3)O点为同心圆形光源线的圆心,高光圆法距离曲面的构建采用公式(5):
(4)等照度线法距离曲面的构建采用公式(6):
d(u,v)=∠(Q,N) (6)
再构造离散距离曲面,遍历网格边找到所有曲面品质分析线经过的网格边,采用线性插值算法计算出曲面品质分析线的型值点,最后根据所得点绘制曲面品质分析线。以反射线法为例,反射线的生成流程如图2所示。
表4特征提取与边界提取过程中的参数与变量
3.2绘制曲面品质分析线函数
在绘制曲面品质分析线算法基础上,本发明在VC2008平台上结合VC++数值分析类库和OpenGL图形技术,编写如下功能函数实现基于光照模型的离散曲面品质分析线的计算、绘制和显示:
(1)void DistanceReflect(void);
该函数处理网格点矩阵matrix node和反射线法光源设置参数,计算离散曲面所有网格点法矢量与基准光源的距离,并构建反射线法模型的距离曲面,结果放入网格点矩阵matrix node;
(2)void DistanceHight(void);
该函数处理网格点矩阵matrix node和高光线法光源设置参数,计算离散曲面所有网格点法矢量与基准光源的距离,并构建高光线法模型的距离曲面,结果放入网格点矩阵matrix node;
(3)void DistanceCircu(void);
该函数处理网格点矩阵matrix node和高光圆法光源设置参数,计算离散曲面所有网格点法矢量与光源圆心的距离,并构建高光圆法模型的距离曲面,结果放入网格点矩阵matrix node;
(4)void DistanceIso(void);
该函数处理网格点矩阵matrix node和等照度线法光源设置参数,计算离散曲面所有网格点法矢量与入射源的夹角值,并构建等照度线法的角度曲面,结果放入网格点矩阵matrix node;
(5)void HighLight(void);
该函数网格点矩阵matrix node和小面片矩阵matrix surf,采用等值线追踪算法计算曲面品质分析线,对反射线法、高光线法、高光圆法和等照度线法均适用,结果存储于控制点矩阵matrix ctrlpoints;
(6)matrix HighPoints_Interp(matrix A,matrix B,matrix C);
该函数按线性插值算法计算曲面品质分析点,其中matrix A为HighLight(void)函数计算过程中得到的存储含曲面品质分析点的网格边矩阵matrix side,matrix B为网格点矩阵matrix node,计算结果为曲面品质分析线的型值点矩阵matrix hightpoint,用矩阵C接收;
(7)matrix DPStoCVS(matrix DPS,int n);
该函数用于根据3次B样条曲线的型值点反算曲线控制点,其中矩阵matrix DPS即为存储样条曲线型值点的矩阵,int n表示型值点的个数,计算结果保存于控制点矩阵matrix ctrlpoints;
(8)void DrawLight(void);
该函数用于根据光源设置参数计算反射线法、高光线法和等照度线法中光源直线组并达到实时动态绘制光源的目的,计算结果保存于矩阵matrix light中;
(9)void DrawCircular(void);
该函数用于根据光源设置参数计算高光圆法中光源直线组,达到实时动态绘制光源的目的,计算结果保存于矩阵matrix light中;
(10)void Display(void);
该函数用于绘制并显示三角网格曲面、曲面特征点、曲面边界、曲面品质分析线、光源线等。
4、基于光照模型的离散曲面品质分析实例
现通过高光线法和高光圆法分别说明离散曲面品质分析的应用,以验证本发明所提出方法的正确性和有效性。
例1:甲壳虫轿车车头点云曲面品质分析实例
通过激光扫描获取大众某款甲壳虫轿车车头的点云数据,该点云数据经过精简去噪和分割处理后得到图3(a)中所示的点云,共有14216个数据点。点云三角网格化得到28132个三角面片,三角网格曲面着色渲染后如图3(b)所示。利用高光线法分析该三角网格曲面的光顺性和连续性,所生成高光线如图3(c)和图3(d)所示。两图中离散曲面和光源参数设置完全相同,图3(c)中离散曲面未经特征提取处理,图3(d)中离散曲面经特征提取后共得到393个特征点,排除了25个噪声点。图3(c)中高光线均为连续的,会让工作人员误认为离散曲面满足C2连续,然而特征提取后图3(d)中高光线并不连续,说明车灯与车体间是C0位置连续,车体和引擎盖之间也仅为一阶连续,高光线整体较为平滑表明离散曲面光顺性良好。
例2:轿车引擎盖离散曲面品质分析实例
图4(a)中所示的离散曲面是由某型号汽车引擎盖扫描获取的点云三角网格化得到,该三角网格曲面共有9596个网格顶点和18874个三角片。由于汽车引擎盖有明显的对称性,可采用高光圆法分析该三角网格曲面的光顺性。图4(b)所示为该离散曲面的高光圆线,光源基准点位于引擎盖理论对称面内,光源平面法矢量与曲面对称面平行。整体来看,该离散曲面达到二阶连续,光顺性良好。从对称性来看,曲面右侧部分光顺性次于左侧部分,局部曲面光顺性有待优化。因而,在逆向工程中如果直接对该离散曲面进行光顺优化,则后期重构的连续曲面光顺性也会得到相应提升。
机译: 基于约束曲面拟合在基于曲线的曲面生成中重建曲线网络的系统和方法
机译: 基于脑信号的车辆声品质分析方法及装置
机译: 离散系统及其装置的分析方法,生产线及其装置的分析方法