System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向三维网格模型的二维平面图生成方法技术_技高网

一种面向三维网格模型的二维平面图生成方法技术

技术编号:42575807 阅读:6 留言:0更新日期:2024-08-29 00:40
本发明专利技术适用于图像生成技术领域,尤其涉及一种面向三维网格模型的二维平面图生成方法。与现有技术相比,本发明专利技术通过获取三维网络模型的三角网格数据;根据三角网格数据通过第一预设规则进行转化,得到轮廓边数据;根据三角网格数据建立对应的包围体分层结构树;根据轮廓边数据对包围体分层结构树进行遍历,将轮廓边数据中进行剪裁处理和重叠扩展处理,得到二维平面图。本发明专利技术在不改变以三角网格数据的基础上,提供了一种以构建模型三角网格的层次包围盒数据结构为基础,来生成三维模型的点线面特征投影的二维平面图的方法,达到了精确稳定、耗时短的效果。

【技术实现步骤摘要】

本专利技术适用于图像生成,尤其涉及一种面向三维网格模型的二维平面图生成方法


技术介绍

1、在目前的三维建模的流程中,上游的建模人员同样依据实际要建成的模型的点线面特征为基础来进行建模,虽然在上游中的建模人员拥有原始的点线面数据,但为了三维模型的传输性和通用性,往往会以三角网格的数据结构进行存储和传播,因此在生产环节中并不能完全保证每一环节都拥有模型的原始点线面数据,在中下游中通常只能留存和操作三角网格模型的数据。

2、三角网格(triangle mesh)是一种在三维建模中广泛使用的表示方法,其能够利用较小的数据规模表示精细的三维空间细节,这意味着即使使用较少的顶点和面,其仍然可以获得高质量的模型,因此三维网格作为一种数据结构被广泛的应用到各个行业的三维建模的渲染中去。而除去模型数据在渲染层面中的需求,在实际对模型的操作中,人们更关注的是模型实际上存在的轮廓点线面特征数据,而三角网格的数据结构会对模型的几何平面进行内部的三角形的划分扩展,这些新增的划分线段在数据结构中与模型实际存在点线面特征数据并无二异,因此在对模型进行二维平面的投影生成时同样会生成这些并不关注的无用信息,属于无效计算,并会造成对点线面特征信息的混淆,同时增加了计算的时间成本。同时,由原始点线面数据生成三角网格数据容易,而反过来则非常困难,目前存在的技术中都很难有一种稳定精确、同时又耗时短的方法进行该种数据的转换,在需要生成模型的二维平面图时,经常会遇到上述的技术问题。

3、因此,亟需一种面向三维网格模型的二维平面图生成方法,解决上述技术问题。


技术实现思路

1、本专利技术提出了一种面向三维网格模型的二维平面图生成方法,旨在提高三维模型生成二维平面的精确性和效率。

2、所述二维平面图生成方法包括以下步骤:

3、s1、获取三维网络模型的三角网格数据;

4、s2、根据所述三角网格数据通过第一预设规则进行转化,得到轮廓边数据;

5、s3、根据所述三角网格数据建立对应的包围体分层结构树;

6、s4、根据所述轮廓边数据对所述包围体分层结构树进行遍历,将所述轮廓边数据中进行剪裁处理和重叠扩展处理,得到二维平面图。

7、优选地,所述第一预设规则为:

8、根据所述三角网格数据中每一三角面对应的三个顶点数据,得到每一三角面对应的边数据;

9、遍历每一所述边数据,获取每一所述边数据对应的正向哈希值和反向哈希值,得到边哈希值数据;

10、通过所述边哈希值数据对所述边数据进行筛选,得到所述轮廓边数据。

11、优选地,步骤s3中,包括以下子步骤:

12、s31、计算所述三角网格数据中每一三角面的包围盒,得到第一包围盒数据;

13、s32、将所述第一包围盒数据中的每一包围盒根据x轴位置大小进行排序,得到第二包围盒数据;

14、s33、将所述第二包围盒数据中所有的包围盒作为根节点进行二叉树的递归构造,得到所述包围体分层结构树。

15、优选地,步骤s33中,包括以下子步骤:

16、s331、将所述第二包围盒数据根据x轴位置大小,划分为左包围盒数据和右包围盒数据;

17、将所述左包围盒数据和所述右包围盒数据分别作为当前深度节点的左子节点和右子节点进行递归处理,直至所述左子节点的深度和所述右子节点的深度达到预设深度,或所述左子节点和所述右子节点中的三角面数达到预设最大值。

18、优选地,步骤s4中,包括以下子步骤:

19、s41、将所述轮廓边数据根据预设投影方向上的位置大小进行排序,得到第一轮廓边数据;其中,所述第一轮廓边数据包括多个轮廓边;

20、s42、对所述第一轮廓边数据进行遍历,判断所述轮廓边是否在所述预设投影方向上退化成点,若是则跳过此次的所述轮廓边,若否则进行步骤s43;

21、s43、根据所述轮廓边生成对应的轮廓边射线,并通过第三预设规则求得所述轮廓边射线与所述包围体分层结构树中包围体的包围体三角面的交点,得到交点数据;

22、s44、根据所述交点数据剪裁掉对应的所述轮廓边中被遮挡部分,得到剪裁边;

23、s45、将所述剪裁边和所述包围体三角面在所述预设投影方向的重叠部分进行处理,得到二维投影边;

24、s46、将所有所述二维投影边进行组合,得到所述二维平面图。

25、优选地,所述第三预设规则为:

26、s431、遍历所述包围体中的每一所述包围体三角面,判断所述包围体三角面是否完全位于所述轮廓边射线的下方,若是,则跳至下一所述包围体三角面;若否,则进行步骤s432;

27、s432、判断所述包围体三角面在所述预设投影方向上是否退化成边,若是,则跳至下一所述包围体三角面;若否,则进行步骤s433;

28、s433、判断所述轮廓边是否完全属于所述包围体三角面的一条边上,若是,则跳至下一所述包围体三角面;若否,则将所述轮廓边与所述包围体三角面对应的交点作为所述交点数据输出。

29、与现有技术相比,本专利技术通过获取三维网络模型的三角网格数据;根据三角网格数据通过第一预设规则进行转化,得到轮廓边数据;根据三角网格数据建立对应的包围体分层结构树;根据轮廓边数据对包围体分层结构树进行遍历,将轮廓边数据中进行剪裁处理和重叠扩展处理,得到二维平面图。本专利技术在不改变以三角网格数据的基础上,提供了一种以构建模型三角网格的层次包围盒数据结构为基础,来生成三维模型的点线面特征投影的二维平面图的方法,达到了精确稳定、耗时短的效果。

本文档来自技高网...

【技术保护点】

1.一种面向三维网格模型的二维平面图生成方法,其特征在于,所述二维平面图生成方法包括以下步骤:

2.如权利要求1所述的面向三维网格模型的二维平面图生成方法,其特征在于,所述第一预设规则为:

3.如权利要求1所述的面向三维网格模型的二维平面图生成方法,其特征在于,步骤S3中,包括以下子步骤:

4.如权利要求3所述的面向三维网格模型的二维平面图生成方法,其特征在于,步骤S33中,包括以下子步骤:

5.如权利要求1所述的面向三维网格模型的二维平面图生成方法,其特征在于,步骤S4中,包括以下子步骤:

6.如权利要求5所述的面向三维网格模型的二维平面图生成方法,其特征在于,所述第三预设规则为:

【技术特征摘要】

1.一种面向三维网格模型的二维平面图生成方法,其特征在于,所述二维平面图生成方法包括以下步骤:

2.如权利要求1所述的面向三维网格模型的二维平面图生成方法,其特征在于,所述第一预设规则为:

3.如权利要求1所述的面向三维网格模型的二维平面图生成方法,其特征在于,步骤s3中,包括以下子步骤:

【专利技术属性】
技术研发人员:邹广鑫邹尚文邱伟强郭芳名林贵祥邓加喜
申请(专利权)人:广州秉优信息科技有限公司
类型:发明
国别省市:

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

1