曲面网格化方法技术

技术编号:2952416 阅读:949 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种曲面网格化方法。该方法将曲面网格划分问题转化为对参数平面的平面网格划分问题,再通过映射将参数平面网格化得到的三角形转化为三维空间的三角形,曲面网格化得到的三角形分布均匀、数量可根据用户实际需求灵活设定。

【技术实现步骤摘要】

本专利技术涉及一种曲面重建方法,尤其是关于一种。
技术介绍
在产品的开发及制造过程中,几何造型技术已使用得相当广泛,但是,由于种种原因, 仍有许多产品并非由CAD模型描述,设计和制造者面对的是实物样件。为了适应先进制造技 术的发展,需要通过一定途径,将这些实物转化为CAD模型,使之能利用CAD、 CAM、 RPM、 PDM及CMIS先进技术进行处理或管理。目前,与这种从实物样件获取产品数学模型技术相关 的技术,已发展成为CAD/CAM中的一个相对独立的范畴,称为"反求工程"(Reverse Engineering)。通过反求工程复现实物的CAD模型,简称模型重建。目前较为成熟的模型重建技术是通过构建曲面来实现的,在构建曲面的过程中,根据实 物模型的坐标测量数据构建曲面、对曲面进行三角网格化以逼近实物面在实践中被广泛应用 。常用的曲面三角网格化方法有迭代法和迪式(Delaunay)算法,然而这两种方法都存在不 足之处用迭代法直接算出曲面的控制点,再根据控制点坐标拟合三角形的速度非常慢,且 拟合出来的三角形大小不一致,速度和精度都不尽人意;用Dela皿ay算法所获得的三角网格 比较规则,但Dela皿ay算法致力于提高剖分质量,而导致剖分生成的三角面片的数量巨大, 所以速度缓慢。
技术实现思路
鉴于以上内容,有必要提供一种,能够根据用户实际需求快速生成均匀 的三角形网格曲面,提高曲面重建的速度和精度。一种,该方法包括以下步骤(A)接收来自数据库的曲面对象及用户 设置的曲面网格化后曲面上的三角形网点数目;(B)根据曲面的面积及曲面网格化所需的 三角形网点数目计算划分参数平面时水平方向及垂直方向的步长;(C)获取曲面上的封闭 边界曲线及各封闭边界曲线的长度;(D)根据各封闭边界曲线的长度及划分参数平面时水 平方向及垂直方向的步长计算出曲面网格化时曲面上各封闭边界曲线被分得的网点数;(E )由各封闭边界曲线的参数方程得到各被分得的网点的二维坐标值;(F)将上述二维坐标 值所对应的参数平面内的点用线段依次连接,得到与曲面上各封闭边界曲线相应的参数平面 内的封闭边界曲线,并根据划分参数平面时水平方向及垂直方向的步长将参数平面内最大封闭边界曲线的包围盒用水平直线及垂直直线划分成若干个小包围盒;(G)获取水平、垂直 直线与参数平面内各封闭边界曲线的交点、各封闭边界曲线上的顶点,以及各小包围盒顶点 中落入相邻封闭边界曲线之间区域的点,将所述交点及顶点加入相应的小包围盒内;(H) 将参数平面内各小包围盒内的上述交点、顶点及各小包围盒顶点中落入相邻封闭边界曲线之 间区域的点连接成三角形,并调整所有三角形的顶点顺序为逆时针;(I)根据曲面的参数 方程将所有三角形顶点的二维坐标映射回三维空间曲面中的三维点坐标,并根据三角形的三 维点坐标计算每个三角形所在平面的法向量;及(J)根据三角形信息,包括三角形顶点三 维坐标、三角形顶点的连接方式、及各三角形所在平面的法向量输出三角网格化后的曲面。相较于现有技术,本专利技术所提供的将曲面网格划分问题转化为对参数平 面的平面网格划分问题,再通过映射将参数平面网格化得到的三角形转化为三维空间的三角 形,曲面网格化得到的三角形分布均匀、数量可根据用户实际需求灵活设定。附图说明图l是本专利技术较佳实施例的应用环境图。图2是本专利技术较佳实施例的主流程图。图3是图2中步骤S102的细化流程图。图4是图3中步骤S203的细化流程图。图5是图2中步骤S104的细化流程图。图6是图2中步骤S 106中获取内点的细化流程图。图7是图2中步骤S107的细化流程图。图8是一个曲面对象的三维图示。图9是图8中曲面对象在参数平面中的相应图示,及执行图2中步骤S105划分参数平面的 示意图。图1 O是执行图2中步骤S 107得到的点的示意图。图11是执行图5中步骤S303分割参数平面时各封闭边界曲线分得的网点数的示意图。 图12和图13举例说明图7中连接中间三角形和边界三角形的步骤。 图14是在参数平面内生成边界三角形的图示。图15是在参数平面内生成所有三角形包括边界三角形和中间三角形的图示,其中相较于 图14多出的三角形为中间三角形。图16是图15的参数平面内生成所有三角形映射回三维空间后得到的网格化后均匀分布的 三角形的示意图。 具体实施例方式如图1所示,是本专利技术较佳实施例的应用环境图。该应用环境图主要包 括数据库IO、与数据库10连接的计算机20以及与计算机20连接的显示设备30。数据库10用于储存曲面对象。每一个曲面对象包括该曲面的参数方程,从曲面参数方程 可得到曲面上三维点与参数平面中二维点的对应关系,曲面的面积,曲面上封闭边界曲线的 参数方程;由封闭边界曲线的参数方程可以得到封闭边界曲线的长度。于本实施例中,参数 平面的水平方向用U表示,垂直方向用V表示,U、 V的取值范围为0-1。计算机20用于接收来自数据库10的曲面对象及用户设置的曲面网格化后的三角形网点数 目并执行曲面三角网格化程序200,将曲面网格划分问题转化为对参数平面的平面网格划分 问题,再通过映射将参数平面网格化得到的三角形转化为三维空间的三角形,得到均匀分布 的三角形网格曲面。显示设备30提供一显示界面用于显示三角网格化前的曲面及三角网格化后的曲面。 曲面三角网格化程序200包括接收模块210、计算模块220、获取模块230、网格化模块 240及输出模块250。接收模块210用于接收来自数据库10的曲面对象及用户设置的曲面网格化后曲面上的三 角形网点数目。计算模块220用于根据曲面的参数方程计算曲面面积,并根据曲面的面积及曲面网格化 所需的三角形网点数目计算划分参数平面时U方向及V方向的步长。获取模块230用于获取曲面上的封闭边界曲线及各封闭边界曲线的长度。计算模块220还用于根据封闭边界曲线的参数方程计算封闭边界曲线的长度,并根据各 封闭边界曲线的长度及划分参数平面时U方向及V方向的步长计算出曲面网格化时曲面上各封 闭边界曲线被分得的网点数。接下来,获取模块230由各封闭边界曲线的参数方程得到各被分得的网点的二维UV坐标值。网格化模块240用于将上述二维UV坐标值所对应的参数平面内的点用线段依次连接,得 到与曲面上各封闭边界曲线相应的参数平面内的封闭边界曲线,并根据划分参数平面时U方 向及V方向的步长将参数平面内最大封闭边界曲线的包围盒用若干平行于U方向的直线(以下 简称U直线)及若干平行于V方向的直线(以下简称V直线)划分成若干个小包围盒。接下来,获取模块230获取U、 V直线与参数平面内各封闭边界曲线的交点、各边界曲线 上的顶点,以及各小包围盒顶点中落入相邻封闭边界曲线间区域内的点(以下简称内点)。网格化模块240将参数平面内的上述交点、顶点及内点连接成三角形,并调整所有三角 形的顶点连接顺序为逆时针。计算模块220根据曲面的参数方程将所有三角形顶点的二维UV坐标映射回三维空间曲面 中的三维点坐标,并根据三角形的三维点坐标计算每个三角形所在平面的法向量。输出模块250根据三角形信息,包括三角形顶点三维坐标、三角形顶点的连接顺序、及 各三角形所在平面的法向量输出三角网格化后的曲面。如图2所示,是本专利技术较佳实施例的主流程图。首先,接收模块2本文档来自技高网...

【技术保护点】
一种曲面网格化方法,其特征在于,该方法包括以下步骤: (a)接收来自数据库的曲面对象及用户设置的曲面网格化所需的三角形网点数目,所述曲面对象包括曲面的参数方程及曲面上各封闭边界曲线的参数方程; (b)根据曲面的参数方程计算曲面面积,并根据曲面面积及曲面网格化所需的三角形网点数目计算划分参数平面时水平方向及垂直方向的实际步长; (c)根据各封闭边界曲线的参数方程计算得到曲面上各封闭边界曲线的长度; (d)根据曲面上各封闭边界曲线的长度及划分参数平面时水平方向及垂直方向的步长计算出曲面网格化时曲面上各封闭边界曲线被分得的网点数; (e)由各封闭边界曲线的参数方程得到曲面上各封闭边界曲线被分得的网点的二维坐标值; (f)将上述二维坐标值所对应的参数平面内的点用线段依次连接,得到与曲面上各封闭边界曲线相应的参数平面内的封闭边界曲线,并根据划分参数平面时水平方向及垂直方向的步长将参数平面内最大封闭边界曲线的包围盒用若干水平直线及若干垂直直线划分成若干个小包围盒; (g)获取所述若干水平、垂直直线与参数平面内各封闭边界曲线的交点、各封闭边界曲线上的顶点,以及各小包围盒顶点中落入参数平面内相邻封闭边界曲线之间区域的点,并将所述交点及顶点加入相应的小包围盒内; (h)将参数平面内各小包围盒内的上述交点、顶点及各小包围盒顶点中落入参数平面内相邻封闭边界曲线之间区域的点连接成三角形,并调整所有三角形的顶点连接顺序为逆时针; (i)根据曲面的参数方程将所有三角形顶点的二维坐标映射回曲面中的三维点坐标,并根据三角形的三维点坐标计算每个三角形所在平面的法向量;及 (j)根据各三角形顶点的三维坐标、各三角形顶点的连接顺序及各三角形所在平面的法向量,输出三角网格化后的曲面。...

【技术特征摘要】

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

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

1