曲面处理系统及方法

文档序号:6438168阅读:386来源:国知局
专利名称:曲面处理系统及方法
技术领域
本发明涉及一种计算机辅助设计系统及方法,尤其是一种应用于模型重建中的曲面处理系统及方法。
背景技术
目前,模型重建技术通常 是通过构建曲面来实现的,在构建曲面的过程中,根据实物模型的点云数据构建曲面、对曲面利用几何图形例如三角形进行网格化生成纹理,使得构建的曲面更加逼近实物模型,在计算机辅助设计(computer aided design, CAD)中被广泛应用。通常,在三角网格化的过程中,曲面的内部和外部都会产生大量三角形,且多个三角形会共用顶点(坐标相同的顶点)。生成的内部三角形在象征模型表面纹理中的作用不大,但在生成纹理时会产生大量运算量。其次,在生成纹理时,对相同的数据进行多次重复处理(例如多次处理坐标相同的顶点)会占用处理时间降低处理速度。另一方面,输出三角网格化结果一般是利用单线程处理,没有充分利用计算机的内存资源和CPU的占用率。

发明内容
鉴于以上内容,有必要提供一种曲面处理系统及方法,可以在模型重建生成模型表面纹理的过程中,简化内部三角形纹理生成的运算量,避免重复处理相同数据,并充分利用CPU资源,在不影响模型重建的立体效果的前提下,提高模型重建的速度。一种曲面处理系统,包括曲面网格化模块、重复顶点处理模块、内部三角形删除模块及多线程执行模块。曲面网格化模块根据计算装置存储的产品的点云数据构建曲面,对曲面进行三角网格化得到曲面的所有三角形,记录各三角形的顶点标志及坐标到一个数据结构。重复顶点处理模块以相同标志表示不同三角形中坐标相同的顶点,直到数据结构中坐标相同的顶点的顶点标志也相同。内部三角形删除模块识别曲面的表面三角形及内部三角形,删除曲面的内部三角形。多线程执行模块获取计算装置的执行单元的数目N,创建N个线程,将曲面的表面三角形分割成若干个小单位,随机分配给N个线程。N个线程同步执行读取数据结构中三角形的顶点标志及坐标,以输出曲面的所有表面三角形。一种曲面处理方法,该方法包括(A)根据计算装置存储的产品的点云数据构建曲面,对曲面进行三角网格化得到曲面的所有三角形,记录各三角形的顶点标志及坐标到一个数据结构;(B)以相同标志表示不同三角形中坐标相同的顶点,直到数据结构中坐标相同的顶点的顶点标志也相同;(C)识别曲面的表面三角形及内部三角形,删除曲面的内部三角形;及(D)获取计算装置的执行单元的数目N,创建N个线程,将曲面的表面三角形分割成若干个小单位,随机分配给N个线程,N个线程同步执行读取数据结构中三角形的顶点标志及坐标,以输出曲面的所有表面三角形。相较于现有技术,本发明提供的曲面处理系统及方法,可以在模型重建生成模型表面纹理的过程中,简化内部三角形纹理生成的运算量,避免重复处理相同数据,并充分利用CPU资源,在不影响模型重建的立体效果的前提下,提高模型重建的速度。


图1是本发明曲面处理系统较佳实施例的功能模块图。图2是本发明曲面处理方法较佳实施例的流程图。图3是图2中步骤S20的细化流程图。图4是图2中步骤S30的细化流程图。图5是求取曲面的一个平面的射平面与曲面所有平面的相交线的示意图。图6利用二维图示辅助说明利用相交线数目的奇偶数判断曲面的三角形是内部三角形还是表面三角形。主要元件符号说明
权利要求
1.一种曲面处理方法,应用于计算装置,其特征在于,该方法包括: 曲面网格化步骤:根据计算装置存储的产品的点云数据构建曲面,对曲面进行三角网格化得到曲面的所有三角形,记录各三角形的顶点标志及坐标到一个数据结构; 重复顶点处理步骤:以相同标志表示不同三角形中坐标相同的顶点,直到数据结构中坐标相同的顶点的顶点标志也相同; 内部三角形 删除步骤:识别曲面的表面三角形及内部三角形,删除曲面的内部三角形; 多线程执行步骤:获取计算装置的执行单元的数目N,创建N个线程,将曲面的表面三角形分割成若干个小单位,随机分配给N个线程,N个线程同步执行读取数据结构中三角形的顶点标志及坐标,以输出曲面的所有表面三角形。
2.如权利要求1所述的曲面处理方法,其特征在于,所述重复顶点处理步骤包括: 确定曲面的最大包围盒,将该最大包围盒等分为多个小包围盒,每个三角形对应一个小包围盒,记录小包围盒与三角形的对应关系;及 依次读取各个小包围盒,将读取的小包围盒对应的三角形的顶点坐标与相邻小包围盒对应的三角形的顶点坐标比较,若两个三角形存在坐标相同的顶点,则以相同的顶点标志标示该坐标相同的顶点。
3.如权利要求2所述的曲面处理方法,其特征在于,与一个小包围盒对应的三角形落入或穿过该小包围盒。
4.如权利要求1所述的曲面处理方法,其特征在于,所述内部三角形删除步骤中的识别曲面的表面三角形及内部三角形包括以下步骤: 根据法向量相同的三角形产生一个平面,得到曲面的所有平面; 从该曲面的所有平面中读取一个平面,生成一个沿该读取的平面的法向量方向无限延伸的射平面,计算该射平面与延伸方向上的所有平面的相交线的数目;及 判断相交线的数目为奇数还是偶数,若相交线的数目为奇数,则标志该读取的平面包括的所有三角形为曲面的内部三角形,若相交线的数目为偶数,则标志该读取的平面包括的所有三角形为曲面的表面三角形。
5.一种曲面处理系统,其特征在于,该系统包括: 曲面网格化模块,用于根据计算装置存储的产品的点云数据构建曲面,对曲面进行三角网格化得到曲面的所有三角形,记录各三角形的顶点标志及坐标到一个数据结构; 重复顶点处理模块,用于以相同标志表示不同三角形中坐标相同的顶点,直到数据结构中坐标相同的顶点的顶点标志也相同; 内部三角形删除模块,用于识别曲面的表面三角形及内部三角形,删除曲面的内部三角形; 多线程执行模块,用于获取计算装置的执行单元的数目N,创建N个线程,将曲面的表面三角形分割成若干个小单位,随机分配给N个线程,N个线程同步执行读取数据结构中三角形的顶点标志及坐标,以输出曲面的所有表面三角形。
6.如权利要求5所述的曲面处理系统,其特征在于,重复顶点处理模块以相同标志表示不同三角形的坐标相同的顶点包括: 确定曲面的最大包围盒,将该最大包围盒等分为多个小包围盒,每个三角形对应一个小包围盒,记录小包围盒与三角形的对应关系;及 读取各个小包围盒,将读取的小包围盒对应的三角形的顶点坐标与相邻小包围盒对应的三角形的顶点坐标比较,若两个三角形存在坐标相同的顶点,则以相同的顶点标志标示该坐标相同的顶点。
7.如权利要求6所述的曲面处理系统,其特征在于,与一个小包围盒对应的三角形落入或穿过该小包围盒。
8.如权利要求5所述的曲面处理系统,其特征在于,所述内部三角形删除模块识别曲面的表面三角形及内部三角形包括: 根据法向量相同的三角形产生一个平面,得到曲面的所有平面; 从该曲面的所有平面中读取一个平面,生成一个沿该读取的平面的法向量方向无限延伸的射平面,计算该射平面与延伸方向上的所有平面的相交线的数目;及 判断相交线的数目为奇数还是偶数, 若相交线的数目为奇数,则标志该平面包括的所有三角形为曲面的内部三角形,若相交线的数目为偶数,则标志该平面包括的所有三角形为曲面的表面三角形。
全文摘要
本发明提供一种曲面处理系统,该系统安装并运行于与点云数据捕获装置相连接的计算装置。该计算装置还包括存储设备、处理器及显示设备。点云数据捕获装置扫描得到产品的点云数据,并传送给计算装置。该曲面处理系统一系列功能模块,存储设备存储这些模块的计算机化程序代码。处理器执行所述计算机化程序代码,对根据产品的点云数据构建的曲面进行三角网格化,删除三角形重复的顶点及内部三角形,并创建多线程输出网格化得到的表面三角形象征的曲面。显示设备显示所述输出结果。本发明还提供一种曲面处理方法。
文档编号G06F17/50GK103106690SQ20111035906
公开日2013年5月15日 申请日期2011年11月14日 优先权日2011年11月14日
发明者张旨光, 吴新元, 汤华辉 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1