CN101510226A - 产品stl模型快速自适应细分方法 - Google Patents
产品stl模型快速自适应细分方法 Download PDFInfo
- Publication number
- CN101510226A CN101510226A CNA2009100198986A CN200910019898A CN101510226A CN 101510226 A CN101510226 A CN 101510226A CN A2009100198986 A CNA2009100198986 A CN A2009100198986A CN 200910019898 A CN200910019898 A CN 200910019898A CN 101510226 A CN101510226 A CN 101510226A
- Authority
- CN
- China
- Prior art keywords
- node
- tri patch
- products
- stl model
- tri
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明提供一种用于产品逆向工程中的产品STL模型快速自适应细分方法,其特征在于读取产品STL模型数据文件,基于R*-tree建立其空间索引结构,深度优先遍历产品STL模型空间索引结构,查询各三角面片的近邻三角面片,依据近邻三角面片的法矢计算网格模型中各三角面片所在位置的曲率,依据曲率分布情况对三角面片进行分裂,最后对分裂后的网格顶点进行重定位,提高模型的光顺性。本发明可对各种复杂型面产品STL模型曲面模型进行细分,具有稳定性强、细分效率高的特点,应用于产品逆向工程数据处理中可有效提高模型的光顺性。
Description
技术领域
本发明提供一种产品STL模型快速自适应细分方法,属于产品逆向工程技术领域。
背景技术
逆向工程的主要目的是得到实体模型表面的曲面表示,主要包括点云数据的获取、预处理,产品STL模型的生成,光滑曲面的拟合。产品STL模型细分技术可从任意复杂网格出发构建光滑曲面,满足逆向工程等领域对复杂结构光滑曲面造型的需要,已成为曲面造型领域的研究热点之一。
对现有的技术文献检索发现,吴剑煌等在学术期刊《计算机集成制造系统》(2006,12(10):P1713-1717)上发表的论文“基于网格分割的自适应细分曲面算法研究”中,依据网格顶点与其极限位置间的距离,通过区域增长与合并对三角面片进行分类,由用户指定将模型分为几个区域,并区分细分区域与非细分区域,达到以较少三角面片表达模型信息的目的,但该方法需用户指定将模型分为几个区域并选取细分区域,自适应性差。
温佩芝在学术期刊《计算机集成制造系统》(2007,13(3):P608-614)上发表的论文“自适应细分曲面算法及在快速成型数据处理中的应用”,及Amresh A等在专著《AdaptiveSubdivision Schemes for Triangular Meshes》(Arizona State University,2000)中,采用法矢点积或两面角描述产品STL模型模型的曲率分布状况,依据曲率对模型进行细分,达到以较少面片表达模型信息的目的,但以法矢点积或两面角近似表达模型曲率,不能准确选取细分区域,细分精度低。
上述方法均没有提出稳健、高效的产品STL模型局部型面参考数据快速查询方法,导致计算两面角或近似曲率时需遍历所有三角面片,计算量大,细分效率低,综上所述,快速准确地对产品STL模型进行自适应细分已成为本领域技术人员亟待解决的技术问题。
发明内容
为克服现有产品STL模型自适应细分方法在产品逆向工程数据处理中的不足,本发明的目的在于提供一种产品STL模型快速自适应细分方法,使之能对各种复杂型面产品STL模型进行细分,具有稳定性强、细分效率高的特点,技术方案如下:
一种产品STL模型快速自适应细分方法,其特征在于包含以下步骤:一、将产品STL模型数据文件读入到存储设备中,并为其建立线性表存储结构,基于R*-tree建立产品STL模型空间索引结构;二、深度优先遍历产品STL模型空间索引结构,查询各三角面片的近邻三角面片;三、依据近邻三角面片的法矢计算产品STL模型中各三角面片所在位置的曲率;四、依据曲率分布情况对各三角面片进行分裂;五、对分裂后的三角面片进行顶点重定位,提高模型的光顺性。
为实现发明目的,所述的产品STL模型快速自适应细分方法,在步骤一中,基于R*-tree建立产品STL模型空间索引结构,方法具体是:定义结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为数据结点,每个数据结点对应一个三角面片,次底层结点为叶索引结点,其他结点为内部索引结点,定义M为结点的最大子结点数(M为大于2的整数)、m为结点的最小子结点数(m为小于或等于M/2的整数),每个索引结点的子结点数小于等于M且除根索引结点外所有结点的子结点数大于等于m,所有叶索引结点均在同一层;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点。
为实现发明目的,所述的产品STL模型快速自适应细分方法,在步骤二中,1)设当前结点current_node为产品STL模型索引结构的根索引结点;2)若结点current_node的轴向包围盒外接球与目标三角面片对应数据结点的轴向包围盒外接球相交,则执行步骤3),否则返回;3)若结点current_node为数据结点,则执行步骤4),否则执行步骤5);4)判断结点current_node包含的三角面片与目标三角面片是否共点或共边,若共点或共边,则将当前三角面片添加到目标三角面片的近邻序列L中;5)令结点current_node依次为步骤1)中结点current_node的子结点,执行步骤2)。
为实现发明目的,所述的产品STL模型快速自适应细分方法,在步骤三中,依据近邻三角面片的法矢计算网格模型中各三角面片所在位置的曲率,方法具体是:令目标三角面片T的邻接三角面片集合为L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢为ni,k为集合L包含的三角面片数,采用公式 计算三角面片T的曲率,曲率ξ越大说明三角面片T所在区域的型面特征越复杂,否则说明三角面片T所在区域较为光顺。
为实现发明目的,所述的产品STL模型快速自适应细分方法,在步骤四中,依据曲率分布情况对三角面片进行分裂,方法具体是:若共边(v1,v2)的两三角面片的曲率均大于预设阈值,则规定边(v1,v2)的形状因子为1,否则为0,令三角面片T的形状因子d为其三条边的形状因子之和,依据形状因子d值大小制定面片分裂规则如下:a)若形状因子d为3,则在其三条边上均插入新点,将三角面片T分裂为四个三角面片;b)若形状因子d为2,则在其形状因子为1的两条边上插入新点,将三角面片T分裂为三个三角面片,使这三个三角面片的最小角最大;c)若形状因子d为1,则在其形状因子为1的边上插入新点,将三角面片T分裂为两个三角面片;d)若形状因子d为0,表明三角面片T所在局部型面较为平坦,不对其分裂,若边(v1,v2)为非边界边,且共此边的两三角面片为(v1,v2,v3)、(v1,v2,v4),则新插入点vE的坐标采用公式 计算,若边(v1,v2)为边界边,则新插入点vE的坐标采用公式 计算。
为实现发明目的,所述的产品STL模型快速自适应细分方法,在步骤五中,对分裂后的三角面片顶点进行重定位,方法具体是:设点v的邻接点为vi(i=0,1,…k-1),则重定位后点v的坐标vV采用公式 计算,式中β为各邻接顶点的权值,采用公式 计算。
本发明与现有技术相比,具有以下优点:
1)基于R*-tree建立产品STL模型空间索引结构,采用深度优先遍历方法快速准确地获取目标三角面片的近邻面片,提高了产品STL模型模型的细分效率;
2)采用三角面片法矢点积协方差准确描述了网格的曲率分布状况,选择曲率较大的区域进行细分,提高了模型的光顺性;
3)依据曲率分布状况对三角面片进行自适应细分,在曲率较大的区域进行细分,在较平坦区域只重定位网格顶点,不进行面片分裂,达到了以较少三角面片准确表达模型型面特征的目的。
附图说明
图1是本发明产品STL模型快速自适应细分方法程序流程图。
图2-图6是本发明对维纳斯头像产品STL模型建立的空间索引结构各层结点MBR模型图。
图7是本发明步骤二中获取局部型面参考数据示意图。
图8是本发明步骤四中三角面片分裂规则示意图。
图9是本发明实施例中对图2所示模型细分效果图。
具体实施方法
下面结合附图对本发明作进一步说明:
图1是本发明产品STL模型快速自适应细分方法程序实现流程图,产品STL模型快速自适应细分方法程序包含建立产品STL模型空间索引结构程序1;查询目标三角面片的近邻三角面片程序2;计算各三角面片所在位置的曲率程序3;依据曲率分布情况对三角面片进行分裂程序4;对分裂后的三角面片进行顶点重定位程序5。其中,三角面片空间索引结构构建程序1将索引结构各结点统一表示为四维点对象,采用k-means算法对三角面片进行聚类分簇,建立三角面片空间索引结构;查询目标三角面片的近邻三角面片程序2深度优先遍历产品STL模型空间索引结构,查询与目标三角面片共边或共点的三角面片;计算各三角面片所在位置的曲率程序3依据目标三角面片及其近邻三角面片的法矢计算当前三角面片所在位置的近似曲率;依据曲率分布情况对三角面片进行分裂程序4依据三角面片及其邻边三角面片的曲率决定是否在当前三角面片各边上插入新点,依据插入点的情况对该三角面片进行分裂;对分裂后的三角面片进行顶点重定位程序5依据其近邻点的分布情况重新定位当前点的位置,使曲面更加光顺。
图2-图6是本发明对维纳斯头像产品STL模型建立的空间索引结构各层结点MBR模型图,调用建立产品STL模型空间索引结构程序1建立产品STL模型模型的空间索引结构,方法具体是:定义结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为数据结点,每个数据结点对应一个三角面片,次底层结点为叶索引结点,其他结点为内部索引结点,定义M取20、m取8,每个索引结点的子结点数小于等于M且除根索引结点外所有结点的子结点数大于等于m,所有叶索引结点均在同一层;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点。
图7是本发明步骤二中获取目标三角面片近邻三角面片的示意图,调用查询目标三角面片的近邻三角面片程序2查询任一三角面片的近邻三角面片,步骤具体是:1)设当前结点current_node为产品STL模型索引结构的根索引结点;2)若结点current_node的轴向包围盒外接球与目标三角面片对应数据结点的轴向包围盒外接球相交,则执行步骤3),否则返回;3)若结点current_node为数据结点,则执行步骤4),否则执行步骤5);4)判断结点current_node包含的三角面片与目标三角面片是否共点或共边,若共点或共边,则将当前三角面片添加到目标三角面片的近邻序列L中;5)令结点current_node依次为步骤1)中current_node的子结点,执行步骤2)。
调用计算各三角面片所在位置的曲率程序3计算各三角面片的曲率,令目标三角面片T的邻接三角面片集合为L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢为ni,k为集合L包含的三角面片数。采用公式 计算三角面片T的曲率,曲率ξ越大,说明当前三角面片T所在区域的型面特征越复杂,否则说明T所在区域较为光顺。
图8是本发明中三角面片分裂规则示意图,调用依据曲率分布情况对三角面片进行分裂程序4对三角面片进行分裂,方法具体是:若共边(v1,v2)的两三角面片的曲率均大于预设阈值,则规定边(v1,v2)的形状因子为1,否则为0。令三角面片T的形状因子d为其三条边的形状因子之和,依据形状因子d值大小制定面片分裂规则如下:a)若形状因子d为3,则在其三条边上均插入新点,将三角面片T分裂为四个三角面片;b)若形状因子d为2,则在其形状因子为1的两条边上插入新点,将三角面片T分裂为三个三角面片,使这三个三角面片的最小角最大;c)若形状因子d为1,则在其形状因子为1的边上插入新点,将三角面片T分裂为两个三角面片;d)若形状因子d为0,表明三角面片T所在局部型面较为平坦,不对其分裂。若边(v1,v2)为非边界边,且共此边的两三角面片为(v1,v2,v3)、(v1,v2,v4),则新插入点vE的坐标采用公式 计算,若边(v1,v2)为边界边,则新插入点vE的坐标采用公式 计算。
调用对分裂后的网格进行顶点重定位程序5重新定位分裂后的网格顶点,方法具体是:设点v的邻接点为vi(i=0,1,…k-1),则重定位后点v的坐标vV采用公式 计算,式中,β为各邻接顶点的权值,采用公式 计算。
图9是本发明中对图2所示模型细分效果图,该模型的三角面片数为3921,型面特征较为复杂,分裂后的面片数为6604,从图中可以看出,在眼、鼻等曲率较大区域对模型进行了细分,提高了模型的光顺性,在较平坦区域只对网格顶点重定位,没有进行面片分裂,以较少三角面片准确表达了模型型面特征,从局部放大图可以看出,本发明准确地选取了细分区域,提高了模型的光顺性。
其它产品STL模型曲面模型的基于型面曲率的快速自适应细分方法同上。
Claims (6)
1、一种产品STL模型快速自适应细分方法,其特征在于包含以下步骤:一、将产品STL模型数据文件读入到存储设备中,并为其建立线性表存储结构,基于R*-tree建立产品STL模型空间索引结构;二、深度优先遍历产品STL模型空间索引结构,查询各三角面片的近邻三角面片;三、依据近邻三角面片的法矢计算产品STL模型中各三角面片所在位置的曲率;四、依据曲率分布情况对各三角面片进行分裂;五、对分裂后的三角面片进行顶点重定位,提高模型的光顺性。
2、如权利要求1所述的产品STL模型快速自适应细分方法,其特征在于:在步骤一中,基于R*-tree建立产品STL模型空间索引结构,方法具体是:定义结点包括索引结点和数据结点,索引结点包含根索引结点、内部索引结点和叶索引结点,索引结构的最上层结点为根索引结点、最下层结点为数据结点,每个数据结点对应一个三角面片,次底层结点为叶索引结点,其他结点为内部索引结点,定义M为结点的最大子结点数、m为结点的最小子结点数,M为大于2的整数,m为小于或等于M/2的整数,每个索引结点的子结点数小于等于M且除根索引结点外所有结点的子结点数大于等于m,所有叶索引结点均在同一层;索引结构中每个结点的轴向包围盒恰好包围该结点的所有子结点。
3、如权利要求1所述的产品STL模型快速自适应细分方法,其特征在于:在步骤二中,1)设当前结点current_node为产品STL模型索引结构的根索引结点;2)若结点current_node的轴向包围盒外接球与目标三角面片对应数据结点的轴向包围盒外接球相交,则执行步骤3),否则返回;3)若结点current_node为数据结点,则执行步骤4),否则执行步骤5);4)判断结点current_node包含的三角面片与目标三角面片是否共点或共边,若共点或共边,则将当前三角面片添加到目标三角面片的近邻序列L中;5)令结点current_node依次为步骤1)中结点current_node的子结点,执行步骤2)。
4、如权利要求1所述的产品STL模型快速自适应细分方法,其特征在于:在步骤三中,依据近邻三角面片的法矢计算网格模型中各三角面片所在位置的曲率,方法具体是:令目标三角面片T的邻接三角面片集合为L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢为ni,k为集合L包含的三角面片数,采用公式 计算三角面片T的曲率,曲率ξ越大说明三角面片T所在区域的型面特征越复杂,否则说明三角面片T所在区域较为光顺。
5、如权利要求1所述的产品STL模型快速自适应细分方法,其特征在于:在步骤四中,依据曲率分布情况对三角面片进行分裂,方法具体是:若共边(v1,v2)的两三角面片的曲率均大于预设阈值,则规定边(v1,v2)的形状因子为1,否则为0,令三角面片T的形状因子d为其三条边的形状因子之和,依据形状因子d值大小制定面片分裂规则如下:a)若形状因子d为3,则在其三条边上均插入新点,将三角面片T分裂为四个三角面片;b)若形状因子d为2,则在其形状因子为1的两条边上插入新点,将三角面片T分裂为三个三角面片,使这三个三角面片的最小角最大;c)若形状因子d为1,则在其形状因子为1的边上插入新点,将三角面片T分裂为两个三角面片;d)若形状因子d为0,表明三角面片T所在局部型面较为平坦,不对其分裂,若边(v1,v2)为非边界边,且共此边的两三角面片为(v1,v2,v3)、(v1,v2,v4),则新插入点vE的坐标采用公式 计算,若边(v1,v2)为边界边,则新插入点vE的坐标采用公式 计算。
6、如权利要求1所述的产品STL模型快速自适应细分方法,其特征在于:在步骤五中,对分裂后的三角面片顶点进行重定位,方法具体是:设点v的邻接点为vi(i=0,1,…k-1),则重定位后点v的坐标vV采用公式 计算,式中β为各邻接顶点的权值,采用公式 计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100198986A CN101510226B (zh) | 2009-03-26 | 2009-03-26 | 产品stl模型快速自适应细分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100198986A CN101510226B (zh) | 2009-03-26 | 2009-03-26 | 产品stl模型快速自适应细分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101510226A true CN101510226A (zh) | 2009-08-19 |
CN101510226B CN101510226B (zh) | 2012-07-18 |
Family
ID=41002626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100198986A Expired - Fee Related CN101510226B (zh) | 2009-03-26 | 2009-03-26 | 产品stl模型快速自适应细分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101510226B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880675A (zh) * | 2012-09-11 | 2013-01-16 | 山东理工大学 | 基于均值漂移产品逆向工程数据动态索引自适应构建方法 |
CN103606193A (zh) * | 2013-11-29 | 2014-02-26 | 中国科学院深圳先进技术研究院 | 一种自适应细分方法及装置 |
CN103810313A (zh) * | 2012-11-13 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种stl模型到空间分割模型的转换方法 |
CN106887042A (zh) * | 2017-01-23 | 2017-06-23 | 北京工业大学 | 基于gpu的自适应曲面细分方法 |
CN113496549A (zh) * | 2021-09-10 | 2021-10-12 | 广东省科学院广州地理研究所 | 基于gis系统的三维模型子包围盒构建方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1835021A (zh) * | 2006-04-14 | 2006-09-20 | 东南大学 | 三维扫描系统中三维散乱点集的曲面三角剖分构造方法 |
CN1975787A (zh) * | 2006-12-01 | 2007-06-06 | 中山大学 | 一种基于高阶三角形插值曲面细分的几何数据细分方法 |
-
2009
- 2009-03-26 CN CN2009100198986A patent/CN101510226B/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880675A (zh) * | 2012-09-11 | 2013-01-16 | 山东理工大学 | 基于均值漂移产品逆向工程数据动态索引自适应构建方法 |
CN103810313A (zh) * | 2012-11-13 | 2014-05-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种stl模型到空间分割模型的转换方法 |
CN103810313B (zh) * | 2012-11-13 | 2016-09-14 | 中国科学院沈阳计算技术研究所有限公司 | 一种stl模型到空间分割模型的转换方法 |
CN103606193A (zh) * | 2013-11-29 | 2014-02-26 | 中国科学院深圳先进技术研究院 | 一种自适应细分方法及装置 |
CN103606193B (zh) * | 2013-11-29 | 2016-10-12 | 中国科学院深圳先进技术研究院 | 一种自适应细分方法及装置 |
CN106887042A (zh) * | 2017-01-23 | 2017-06-23 | 北京工业大学 | 基于gpu的自适应曲面细分方法 |
CN106887042B (zh) * | 2017-01-23 | 2020-05-19 | 北京工业大学 | 基于gpu的自适应曲面细分方法 |
CN113496549A (zh) * | 2021-09-10 | 2021-10-12 | 广东省科学院广州地理研究所 | 基于gis系统的三维模型子包围盒构建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101510226B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Secco et al. | Efficient mesh generation and deformation for aerodynamic shape optimization | |
CN101510226B (zh) | 产品stl模型快速自适应细分方法 | |
CN102306396A (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
CN103714577B (zh) | 一种适用于带纹理模型的三维模型简化方法 | |
CN110599506B (zh) | 一种复杂异形曲面机器人三维测量的点云分割方法 | |
CN102508973B (zh) | 产品stl模型快速求交方法 | |
CN106126860A (zh) | 一种考虑加工误差的高超声速机翼鲁棒优化设计方法 | |
CN101930483A (zh) | 应用参数化设计模型化简数字地图居民地多边形的方法 | |
CN103838852A (zh) | 一种快速查找多块结构化网格对接关系的方法 | |
Tao et al. | A robust design for a winglet based on NURBS-FFD method and PSO algorithm | |
CN101510228B (zh) | 产品stl模型非均匀精简方法 | |
Nejat et al. | Airfoil shape optimization using improved Multiobjective Territorial Particle Swarm algorithm with the objective of improving stall characteristics | |
Solar et al. | High performance distributed cluster-based individual-oriented fish school simulation | |
Burgos et al. | Rapid meshing of turbomachinery rows using semi-unstructured multi-block conformal grids | |
CN103744886A (zh) | 一种直接提取的k个最近邻点搜索方法 | |
CN101510315B (zh) | 产品stl模型的空间索引结构建立方法 | |
CN117473655B (zh) | 基于边坍缩网格优化的飞行器仿真驱动设计方法和装置 | |
Klimczyk et al. | Robust design and optimization of UAV empennage | |
CN109241628B (zh) | 基于图谱理论和聚类的三维cad模型分割方法 | |
CN103218493A (zh) | 一种基于多重网格的快速等几何分析数值模拟方法 | |
Tian et al. | Research on fast grouping slice algorithm for STL model in rapid prototyping | |
CN101510227A (zh) | 散乱点云自适应切片方法 | |
Mirjalili et al. | A comparison of multi-objective optimisation metaheuristics on the 2D airfoil design problem | |
Takenaka et al. | The Application of MDO Technologies to the Design of a High Performance Small Jet Aircraft-Lessons learned and some practical concerns | |
CN113806951A (zh) | 一种基于半边数据结构的自然邻近点搜索的弹性仿真方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 Termination date: 20130326 |