曲面距离计算系统及方法技术方案

技术编号:8563099 阅读:127 留言:0更新日期:2013-04-11 04:48
本发明专利技术提供一种曲面距离计算系统,该系统分别对需要计算距离的第一曲面及第二曲面进行三角网格化处理,得到第一曲面及第二曲面的所有三角形,并分别确定第一曲面及第二曲面的三角形与空间小包围盒的关联关系,再根据三角形与空间小包围盒的关联关系确定第一曲面及第二曲面上距离最近的三角形。之后,该系统计算该两个最近的三角形之间的距离,以该距离作为第一曲面的每个三角形到第二曲面的最近距离,并取所有最近距离中的最小值作为第一曲面与第二曲面之间的最小距离。本发明专利技术还提供一种曲面距离计算方法。

【技术实现步骤摘要】

本专利技术涉及一种计算机辅助设计系统及方法,尤其是ー种应用于影像量测领域中的。
技术介绍
三坐标测量机是在エ业、科研中被广泛应用于对产品进行测量的一种测量装置,一般的測量方法是将被测物件置于三坐标测量空间,利用三坐标测量机的接触探头沿被测物件的表面经过编程的路径逐点捕捉数据,根据捕捉的数据分析被测物件的曲面品质。在曲面检测过程中,通常需要计算产品上的实际曲面到产品模型上的理论曲面的偏差距离。另外,涉及曲面检测过程中的检测仪器的碰撞安全性检测,也需要计算探针与机台及探针与被检测的曲面之间的空间位置关系以检测安全事故。由于曲面的自由性、不规则性,曲面之间的空间距离无法用公式直接计算,到目前,业界也没有ー个通用的算法。
技术实现思路
鉴于以上内容,有必要提供ー种,可以快速、准确地计算两个曲面之间的最近距离。ー种曲面距离计算系统,该系统包括网格化模块、关系确定模块及距离计算模块。网格化模块,用于从计算装置的存储器读取需要计算距离的第一曲面及第ニ曲面的參数方程,分别对该第一曲面及第ニ曲面进行三角网格化处理,得到第一曲面的所有三角形及第ニ曲面的所有三角形;及将參数平面等分为ー系列小方格,參数平面的每个小方格对应于一个空间小包围盒。关系确定模块,用于分别确定第一曲面及第ニ曲面的三角形与空间小包围盒的关联关系。距离计算模块,用于根据三角形与空间小包围盒的关联关系确定第一曲面及第ニ曲面上距离最近的三角形,计算该两个最近的三角形之间的距离作为第一曲面的每个三角形到第二曲面的最近距离,取最小的最近距离作为第一曲面与第二曲面之间的最小距离。ー种曲面距离计算方法,应用于计算装置。该方法包括(a)从计算装置的存储器读取需要计算距离的第一曲面及第ニ曲面的參数方程,分别对该第一曲面及第ニ曲面进行三角网格化处理,得到第一曲面的所有三角形及第ニ曲面的所有三角形;(b)将參数平面等分为ー系列小方格,參数平面的每个小方格对应于空间中与该小方格边长相等的ー个立方体,该立方体称作空间小包围盒;(c)分别确定第一曲面及第ニ曲面的三角形与空间小包围盒的关联关系 '及(d)根据三角形与空间小包围盒的关联关系确定第一曲面及第ニ曲面上距离最近的三角形,计算该两个最近的三角形之间的距离作为第一曲面的每个三角形到第二曲面的最近距离,取最小的最近距离作为第一曲面与第二曲面之间的最小距离。相较于现有技术,本专利技术提供的,可以快速、准确地计算两个曲面之间的最近距离。附图说明图1是本专利技术曲面距离计算系统较佳实施例的功能模块图。图2是本专利技术曲面距离计算方法较佳实施例的流程图。图3是图2中步骤SlO的具体流程图。图4是图2中步骤S30的示意图。图5是图2中步骤S40的具体流程图。图6及图7是对曲面进行三角网格化的示意图。图8、图9及图10是过滤与曲面上三角形无关联的空间小包围盒的示意图。图11是向空间扩展ー层小包围盒的示意图。主要元件符号说明计算装置rroo-曲面距离计算系统Io-存储设备20~处理器30显示设备40网格化模块11关系确定模块~距离计算模块~结果存储模块~如下具体实施方式将结合上述附图进ー步说明本专利技术。具体实施例方式如图1所示,是本专利技术曲面距离计算系统10较佳实施例的功能模块图。该曲面距离计算系统10安装并运行于计算装置100。该计算装置100还包括存储设备20、处理器30及显示设备40。该计算装置100可以为计算机或其它任何具有数据处理功能的装置。该曲面距离计算系统10包括网格化模块11、关系确定模块12、距离计算模块13及结果存储模块14。存储器20存储模块11至14的计算机化程序代码。处理器30执行所述计算机化程序代码,计算空间中两个曲面之间的距离(具体介绍请參见下文)。显示设备40显示所述曲面及计算結果。模块11至14的功能请參阅图2 5中的具体介绍。參阅图2所示,是本专利技术曲面距离计算方法较佳实施例的流程图。步骤S10,网格化模块11从存储器20读取需要计算距离的两个曲面(以下称做曲面A及曲面B)的參数方程,分别对该曲面A及曲面B进行三角网格化处理,得到曲面A及曲面B的所有三角形(具体介绍请參见下文关于图3的描述)。曲面的參数方程为:x =j (u, v), y = V (u, v), z = c(u, v),其中u、v为參数,其值在O I范围内。曲面上的点可以用三维坐标X,y,z表示,也可以用參数平面中的ニ维參数u,V表示。从曲面參数方程可得到曲面上三维点与參数平面中二维点的对应关系。步骤S20,网格化模块11将參数平面等分为ー系列小方格,參数平面的每个小方格对应于空间中与该小方格边长相等的ー个立方体。在本实施例中,称该立方体为空间小包围盒。步骤S30,关系确定模块12分别确定每个曲面(曲面A或曲面B)的三角形与空间小包围盒的关联关系(具体介绍请參见下文关于图4的描述)。所述关联关系包括空间小包围盒是否与曲面上的三角形相交或是否被曲面上的三角形包围。步骤S40,距离计算模块13根据三角形与空间小包围盒的关联关系确定曲面A及曲面B上距离最近的三角形,计算该两个最近的三角形之间的距离作为曲面A的每个三角形到曲面B的最近距离(具体介绍请參见下文关于图5的描述),取最小的最近距离作为曲面A与曲面B之间的最 小距离。步骤S50,结果存储模块14存储计算结果,包括曲面A的每个三角形到曲面B的最近距离,该最近距离所对应的 曲面A上的位置点及曲面B上的位置点的坐标,以及曲面A与曲面B之间的最小距离。參阅图3所示,是图2中步骤SlO的具体流程图。步骤S100,网格化模块11从存储设备20中读取ー个曲面(曲面A或曲面B)三维模型。步骤SI 10,网格化模块11将该三维模型转换为B样条曲面,得到B样条曲面在UV參数平面内的封闭边界线,对该封闭边界线以U直线和V直线进行等分,得到若干个小方格(如图6所示)。步骤S120,网格化模块11将与封闭边界线无交点的小方格的四个顶点按逆时针顺序组成两个三角形。例如,如图7中所示的小方格box4的四个顶点P、Q、1、0均落入封闭边界线内,则网格化模块11将顶点P、Q、1、0按照逆时针顺序连接组成两个三角形0QP、0IQ。步骤S130,对于与封闭边界线有交点的小方格,网格化模块11将小方格的顶点中落入封闭边界曲线内的顶点、小方格与封闭边界曲线的交点及封闭边界线上的边界点加入2D点组成的队列Q。例如,如图7中所示的小方格boxl中有封闭边界线上的边界点M,小方格boxl与封闭边界曲线的交点E、F ;小方格box2中有顶点D落入封闭边界曲线内,;小方格box2与封闭边界曲线的交点E、F、C、G,则网格化模块11将点M、E、F、C、D、G加入2D点组成的队列Q。步骤S140,网格化模块11读取2D点组成的队列Q中的第一点Pl及与点Pl最近的点p2,Pl、p2组成三角形A的一条边,三角形第三点p3的查找原则是边plp2对应的内角在三角形A的内角中最大以及三角形A的外接圆内没有队列Q中的点,使得三角形A接近于等边三角形。步骤S150,网格化模块11根据上述查找原则在队列Q中查找其它三角形的顶点,得到该曲面的三维模型上的所有三角形。步骤S160,网格化模块11输出该曲面的所有三角形组成的队列。例如,曲面A的所有三角形组成的队列可以记为Tl本文档来自技高网...

【技术保护点】
一种曲面距离计算系统,其特征在于,该系统包括:网格化模块,用于从计算装置的存储器读取需要计算距离的第一曲面及第二曲面的参数方程,分别对该第一曲面及第二曲面进行三角网格化处理,得到第一曲面的所有三角形及第二曲面的所有三角形;网格化模块,还用于将参数平面等分为一系列小方格,参数平面的每个小方格对应于空间中与该小方格边长相等的一个立方体,该立方体称作空间小包围盒;关系确定模块,用于分别确定第一曲面及第二曲面的三角形与空间小包围盒的关联关系;及距离计算模块,用于根据三角形与空间小包围盒的关联关系确定第一曲面及第二曲面上距离最近的三角形,计算该两个最近的三角形之间的距离作为第一曲面的每个三角形到第二曲面的最近距离,取最小的最近距离作为第一曲面与第二曲面之间的最小距离。

【技术特征摘要】
1.ー种曲面距离计算系统,其特征在干,该系统包括 网格化模块,用于从计算装置的存储器读取需要计算距离的第一曲面及第ニ曲面的參数方程,分别对该第一曲面及第ニ曲面进行三角网格化处理,得到第一曲面的所有三角形及第ニ曲面的所有三角形; 网格化模块,还用于将參数平面等分为ー系列小方格,參数平面的每个小方格对应于空间中与该小方格边长相等的ー个立方体,该立方体称作空间小包围盒; 关系确定模块,用于分别确定第一曲面及第ニ曲面的三角形与空间小包围盒的关联关系;及 距离计算模块,用于根据三角形与空间小包围盒的关联关系确定第一曲面及第ニ曲面上距离最近的三角形,计算该两个最近的三角形之间的距离作为第一曲面的每个三角形到第二曲面的最近距离,取最小的最近距离作为第一曲面与第二曲面之间的最小距离。2.如权利要求1所述的曲面距离计算系统,其特征在于,所述网格化模块对该第一曲面及第ニ曲面进行三角网格化处理包括 (al)从存储设备中读取该第一曲面或第二曲面三维模型; (a2)将该三维模型转换为B样条曲面,得到B样条曲面在UV參数平面内的封闭边界线,对该封闭边界线以U直线和V直线进行等分,得到若干个小方格; (a3)将与封闭边界线无交点的小方格的四个顶点按逆时针顺序组成两个三角形; (a4)对于与封闭边界线有交点的小方格,将小方格的顶点中落入封闭边界曲线内的顶点、小方格与封闭边界曲线的交点及封闭边界线上的边界点加入2D点组成的队列Q ; (a5)读取2D点组成的队列Q中的第一点pi及与点pi最近的点p2, PU p2组成三角形A的一条边,三角形第三点p3的查找原则是边plp2对应的内角在三角形A的内角中最大以及三角形A的外接圆内没有队列Q中的点;及 (a6)根据上述查找原则在队列Q中查找其它三角形的顶点,得到该第一曲面或第二曲面的所有三角形组成的队列。3.如权利要求1所述的曲面距离计算系统,其特征在于,所述关系确定模块确定第一曲面及第ニ曲面的三角形与空间小包围盒的关联关系包括 (bl)从第一曲面或第二曲面的三角形队列中读取ー个三角形; (b2)确定该三角形的外接球及最大空间包围盒,该最大空间包围盒指的是包围该三角形的外接球的一个长方体; (b3)过滤掉该三角形的最大空间包围盒之外的所有空间小包围盒; (b4)计算该外接球球心到该最大空间包围盒包含的每个空间小包围盒四个顶点的距离dl,d2,d3,d4,—dl,d2,d3,d4中的最小值大于或等于外接球半径R,则表明对应的空间小包围盒与该三角形不相交,过滤掉该空间小包围盒; (b5)判断是否位于该三角形及该最大空间包围盒之间的每个空间小包围盒都与该三角形有交点,若位于该三角形及该最大空间包围盒之间的某个空间小包围盒与该三角形无交点,则过滤掉该空间小包围盒,若位于该三角形及该最大空间包围盒之间的某个空间小包围盒与该三角形有交点,则判断该空间小包围盒该三角形相交,在该空间小包围盒中设置第一标志; (b6)在被该三角形包含的空间小包围盒中设置第二标志;(b7)判断该曲面的三角形队列中是否还有三角形未被读取,若还有三角形未被读取,则自(bl)开始重复,直到该曲面的所有三角形与所有空间小包围盒的关联关系都被确定。4.如权利要求1所述的曲面距离计算系统,其特征在于,所述距离计算模块根据三角形与空间小包围盒的关联关系确定第一曲面及第ニ曲面上距离最近的三角形包括 (Cl)从第一曲面的队列中读取ー个三角形t ; (c2)根据空间小包围盒中设置的标志判断该三角形t的外接球包含的空间小包围盒是否与第二曲面的某个三角形t’相关联,若相关联,则视该第二曲面的该三角形t’与第一曲面的三角形t距离最近,若无关联,则根据该三角形t与该外接球包含的空间小包围盒的关联关系确定ニ角形t的最大包围盒的顶点的坐标值; (c3)以逐次向空间各个方向扩展ー层空间小包围盒的方式更新最大包围盒的顶点的坐标值,直到第二曲面的某个三角形t’被新的最大包围盒包含,视第二曲面的该三角形t’为与第一曲面的三角形t距离最近 '及 (c4)判断第一曲面的队列中是否还有三角形未被读取,若还有三角形未被读取,则自(Cl)开始重复,直到确定与第一曲面的每个三角形距离最近的第二曲面上的三角形。5.如权利要求1所述的曲面距离计算系统,其特征在于,该系统还包括结果存储模块,用于存储计算结果至存储装置,该计算结果包括第一曲面的每个三角形到第二曲面的最近距离,...

【专利技术属性】
技术研发人员:张旨光吴新元王敏
申请(专利权)人:鸿富锦精密工业深圳有限公司鸿海精密工业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1