一种针对边界表示模型的网格离散方法

文档序号:37105106发布日期:2024-02-22 21:03阅读:21来源:国知局
一种针对边界表示模型的网格离散方法

本发明涉及模型网格离散化,尤其是一种利用约束德劳内三角化算法进行边界表示模型的网格离散方法。


背景技术:

1、随着工业界对高质量设计建模的需求快速增长,快速准确地将完成设计的模型进行离散并可视化显示,成为了一个重要且具有挑战性的课题。模型网格离散包括对模型的离散化与对离散结果网格进行可视化显示,模型网格离散任务是将用连续信息表示的模型转换为用离散信息表示的网格结构,模型可视化任务则是在离散化完成后将网格使用可视化技术显示出来,模型用连续信息表示的方式通常有边界表示等。

2、现有技术通常采用基于特征简化的模型离散方法,例如延伸边界表示模型后进行曲面修复、特征简化与网格生成。但是由于复杂模型几何信息等因素,基于特征简化的模型离散方法不能很好的解决模型奇点、退化等情况,从而导致离散后的模型网格与实际存在偏差。


技术实现思路

1、本发明的目的是提供一种一种针对边界表示模型的网格离散方法,采用从低维到高维的模型离散采样方式进行模型离散,基于根据边类型进行先初始采样再优化的方式进行边离散采样,在考虑模型特殊几何信息的同时基于扫描线的方式进行模型的面离散采样,通过约束德劳内三角化算法进行模型网格数据的构建,能够准确处理具有奇点、退化情况的模型,有效解决了一般方法难以处理模型特殊几何信息的问题,通过使用扫描线以及并行操作提高了效率,模型离散的效率也更高,鲁棒性好,在计算机辅助设计领域具有一定的应用前景。

2、实现本发明目的的具体技术方案是:一种针对边界表示模型的网格离散方法,其特点是利用从低维到高维先后离散采样模型的所有边与面,使用并行的策略提高模型离散效率,并使用约束德劳内三角化算法对模型的边离散点集与面离散点集进行三角化处理得到模型网格数据,通过模型与网格绑定以及使用图形学api进行模型的可视化显示,该方法具体包括以下步骤:

3、步骤1:模型边离散采样

4、1.1:获取模型的所有边并进行分类

5、将模型的边分为四种类型,分别是直线(straight)、椭圆线(ellipse)、螺旋线(helix)和自由曲线(spline),然后对于不同类型的边进行初始离散采样,直线取首尾两端点即可,椭圆线、螺旋线与自由曲线则根据曲线的次数进行初始均匀分段与采样,得到模型各边的采样分段区间。

6、1.2:对上一步得到的模型各边的所有采样分段区间,分别进行距离容差与角度容差的递归优化检查。其中,距离容差中的距离指的是区间首尾点所连成的线段的中点到首尾点在参数域上的参数中点映射到三维空间中点的距离;角度容差中的角度为首尾点相连的线段的方向向量与该边在首尾点在参数域上的参数中点处的切线方向的夹角。递归检查各区间后,完成对初始离散采样的容差优化。

7、1.3:对上一步处理各边的所有采样区间,判断各区间是否跨越与该区间所在边相邻的面的参数域边界,以保证离散结果的正确性与水密性。获取区间首尾点的参数坐标与区间所在边相邻各面的参数域范围,若相邻某面呈周期性,获取该面的周期(若u分量上呈周期性,计算该面u向上的周期;对v分量同理),之后与首尾参数坐标之差进行比较。一般认为首尾参数坐标之差大于1/2相邻面的对应周期时,该区间跨越相邻面的参数域边界,此时计算该区间与相邻面参数域边界的交点,并按序插入到区间中。最后去除重复的采样点,得到最终的边离散采样结果。

8、步骤2:模型面离散采样

9、2.1:与步骤1的模型边离散采样类似,在进行模型面离散采样时,同样对模型的面进行分类并进行对应面内离散采样,对面分为平面、球面、锥面、环面与样条面(即自由曲面),并获得面的各边的离散采样点集。

10、2.2:检查各面的所有边的采样点中是否存在奇点,若模型面上存在奇点,则根据面的几何特征重置该点的参数值,重置模型奇点的参数值后,可以保证能够正确处理模型的退化情况。

11、2.3:使用扫描线算法进行模型的面内采样,根据步骤1得到的面各边的离散采样结果构成扫描边界,进行均匀间隔的扫描采样,得到面的面内采样结果。

12、步骤3:模型三角化

13、3.1:根据面的各边离散采样点集,按照区间顺序连接作为面的三角化约束边界,根据面的各边离散采样点集和面内离散采样点集,构造模型面完整的离散采样点集,对离散采样点集进行去重处理,并重新映射边界连接顺序。

14、3.2:使用约束德劳内三角化算法(constrained delaunay triangulation)对模型的离散采样点集进行三角化,得到面的网格数据。

15、3.3:根据三角化后得到的面的各三角形顶点与索引信息,构建对应的网格数据结构,最终使用哈希表结构与面进行对应绑定。

16、步骤4:模型离散结果显示

17、4.1:遍历模型的所有面,通过哈希表查询各面对应绑定的网格数据信息。

18、4.2:将网格数据送入如opengl等图形学api的顶点数组与索引数组,这些数据最终通过着色器程序进行渲染,得到模型的可视化结果。

19、所述步骤1对模型边的离散采样,具体步骤如下:

20、a1:获取模型的所有边并进行分类,对于不同类型的边进行初始离散采样,根据曲线的次数进行初始均匀分段与采样,得到模型各边的采样分段区间。

21、a2:对模型各边的所有采样分段区间,分别进行距离容差与角度容差的递归优化检查。递归检查各区间,完成对初始离散采样的容差优化。

22、a3:对进一步处理的各边的所有采样区间,判断其是否跨越与该区间所在边相邻的面的参数域边界,若采样分段区间跨越参数边界,计算该区间与相邻面参数域边界的交点,并按序插入到区间中后,去除重复的采样点,得到最终的边离散采样结果。

23、所述步骤2对模型面的离散采样,具体步骤如下:

24、b1:对模型的面进行分类,同时获取面的各边的离散采样点集。

25、b2:检查各面的所有边的离散采样点中是否存在奇点。若其中存在奇点,根据面的几何特征重置该点的参数值。

26、b3:使用扫描线算法进行模型的面内采样,根据面各边的离散采样结果构成扫描边界,进行均匀间隔的扫描采样,得到面的面内采样结果。

27、所述步骤3的模型三角化操作,具体步骤如下:

28、c1:根据面的各边离散采样点集,按照区间顺序连接作为面的三角化约束边界,根据面的各边离散采样点集与面内离散采样点集,构造模型面完整的离散采样点集,对离散采样点集进行去重处理后并重新映射边界连接顺序。

29、c2:使用约束德劳内三角化算法对模型的采样点集进行三角化,得到面的网格数据。

30、c3:根据三角化后得到的面的各三角形顶点与索引信息,构建对应的网格数据结构,使用哈希表结构与面进行对应绑定。

31、所述步骤4的模型离散结果显示,具体步骤如下:

32、d1:遍历模型的所有面,通过哈希表查询各面对应绑定的网格数据信息。

33、d2:将网格数据送入图形学api的顶点数组与索引数组,并通过着色器程序进行渲染,得到模型的可视化结果。

34、本发明与现有技术相比具有模型离散的效率高,使用从低维到高维的模型离散采样方式进行模型离散,基于根据边类型进行先初始采样再优化的方式进行边离散采样,在考虑模型特殊几何信息的同时基于扫描线的方式进行模型的面离散采样,通过约束德劳内三角化算法进行模型网格数据的构建,能够准确处理具有奇点、退化情况的模型,模型离散的效率也更高,有效解决了一般方法难以处理模型特殊几何信息的问题,鲁棒性好,通过使用扫描线以及并行操作提高了方法的效率,在计算机辅助设计领域具有一定的应用前景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1