System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图形仿真,尤其涉及一种基于网格拉伸的圆柱侧表面三角形网格生成方法。
技术介绍
1、随着计算机技术和数值计算方法的不断发展,仿真技术已经成为现代工程领域中不可或缺的一部分,仿真技术是一种通过模拟现实情况中真实物品或真实情况,已生成虚拟的物品或者情境进行测试的技术。
2、现如今的仿真技术已经大大提高了真实世界仿真的精度和准确性,但是在图形仿真过程中,出现较长且较细的圆柱体时,如果圆柱体的网格尺寸与全局网格尺寸保持一致的话,生成的网格会将几何描述为棱柱似的几何,有时甚至会出现圆柱侧表面网格直接贴在一起的情况。同时,众多主流网格生成算法会使网格趋近正三角形的特性,所以整个圆柱体的网格数量占整体网格数量的很大一部分,但是一般在仿真中圆柱面上的网格过多对求解结果的提升不大,相反网格过多使得求解时间大幅增加。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种基于网格拉伸的圆柱侧表面三角形网格生成方法。
2、一种基于网格拉伸的圆柱侧表面三角形网格生成方法,包括以下步骤:
3、获取待处理圆柱模型,根据所述待处理圆柱模型,得到圆柱侧表面;
4、判断所述圆柱侧表面是否为可拉伸侧表面,响应于所述圆柱侧表面为可拉伸侧表面,对所述可拉伸侧表面进行初始参数设定,确定起始圆弧线、终止圆弧线和任一拉伸线;
5、根据所述拉伸线,进行第零网格的生成,确定多个拉伸点,得到拉伸层数;
6、根据所述拉伸点,进行第一网格的生成,确定
7、根据所述拉伸线段,进行第二网格的生成,确定圆柱侧表面三角形网格。
8、在其中一个实施例中,还包括:
9、对所述圆柱侧表面三角形网格进行网格微调,得到调整圆柱侧表面三角形网格。
10、在其中一个实施例中,根据所述待处理圆柱模型,得到圆柱侧表面包括:
11、通过几何引擎识别模型对所述待处理圆柱模型进行识别,得到圆柱侧表面。
12、在其中一个实施例中,判断所述圆柱侧表面是否为可拉伸侧表面,响应于所述圆柱侧表面为可拉伸侧表面,对所述可拉伸侧表面进行初始参数设定包括:
13、判断所述圆柱侧表面是否为平行四边形,响应于所述圆柱侧表面为平行四边形,判断所述圆柱侧表面是否包含嵌入实体;
14、响应于所述圆柱侧表面不包含嵌入实体,对所述可拉伸侧表面进行初始参数设定。
15、在其中一个实施例中,对所述可拉伸侧表面进行初始参数设定,确定起始圆弧线、终止圆弧线和任一拉伸线包括:
16、获取所述可拉伸侧表面中的带剖分数组中线和两条圆弧线,根据所述带剖分数组中线进行初始参数设定,确定起始圆弧线和终止圆弧线,保证所述起始圆弧线在所述终止圆弧线之前;
17、确定任一和所述起始圆弧线的起点和终点相同的直线为拉伸线。
18、在其中一个实施例中,根据所述拉伸线,进行第零网格的生成,确定多个拉伸点,得到拉伸层数包括:
19、获取拉伸线的两个端点,根据两个端点计算所述拉伸线的长度:
20、h=sqrt((t[0])2+(t[1])2+(t[2])2)
21、t[3]={x2-x1,y2–y1,z2–z1}
22、t[0]=x2-x1,t[1]=y2-y1,t[2]=z2-z1
23、其中,h表示拉伸线的长度,sqrt表示平方根计算,t[3]表示两个端点的距离向量,t[0]表示距离向量x轴值,t[1]表示距离向量y轴值,t[2]表示距离向量z轴值;
24、获取全局网格尺寸,根据所述全局网格尺寸计算拉伸层数:
25、n=(h/s)+1
26、其中,n表示拉伸层数,h表示拉伸线的长度,s表示全局网格尺寸。
27、在其中一个实施例中,根据所述拉伸点,进行第一网格的生成,确定多个拉伸线段包括:
28、计算任一拉伸线段的长度,根据所述拉伸线段的长度确定多个拉伸线段:
29、l=h/n
30、l表示拉伸线段长度,h表示拉伸线的长度,n表示拉伸层数。
31、在其中一个实施例中,根据所述拉伸线段,进行第二网格的生成,确定圆柱侧表面三角形网格包括:
32、根据所述起始圆弧线和所述拉伸层数计算投影尺寸,根据所述投影尺寸、所述终止圆弧线和对所述拉伸线段进行投影,得到多个投影拉伸点;
33、根据所述拉伸线段和投影拉伸点,通过投影关系依次连接属于同一起始点的不同层网格点,得到矩形网格;
34、连接所述矩形网格的对角线,得到圆柱侧表面三角形网格。
35、在其中一个实施例中,根据所述起始圆弧线和所述拉伸层数计算投影尺寸,根据所述投影尺寸和对所述拉伸线段进行投影,得到多个投影拉伸点包括:
36、根据如下公式计算投影尺寸:
37、k=(i/n)*(t[0],t[1],t[2])
38、k表示投影向量值,i表示第i层,n表示拉伸层数,t[0]表示距离向量x轴值,t[1]表示距离向量y轴值,t[2]表示距离向量z轴值。
39、在其中一个实施例中,还包括:
40、响应于所述圆柱侧表面包含嵌入实体,使用正三角形剖分进行网格划分。
41、相比于现有技术,本专利技术的优点及有益效果在于:本专利技术能够利用网格拉伸将圆柱侧表面的网格生成为较长的直角三角形,不仅可以很好的描述的圆柱侧表面,而且使得网格数量大大减少,既能提高求解的仿真精度,也可以提升求解的速度。
本文档来自技高网...【技术保护点】
1.一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,包括:
2.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,还包括:
3.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述待处理圆柱模型,得到圆柱侧表面包括:
4.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述判断所述圆柱侧表面是否为可拉伸侧表面,响应于所述圆柱侧表面为可拉伸侧表面,对所述可拉伸侧表面进行初始参数设定包括:
5.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述对所述可拉伸侧表面进行初始参数设定,确定起始圆弧线、终止圆弧线和任一拉伸线包括:
6.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述拉伸线,进行第零网格的生成,确定多个拉伸点,得到拉伸层数包括:
7.根据权利要求6所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述拉伸
8.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述拉伸线段,进行第二网格的生成,确定圆柱侧表面三角形网格包括:
9.根据权利要求8所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述起始圆弧线和所述拉伸层数计算投影尺寸,根据所述投影尺寸和对所述拉伸线段进行投影,得到多个投影拉伸点包括:
10.根据权利要求4所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,还包括:
...【技术特征摘要】
1.一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,包括:
2.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,还包括:
3.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述根据所述待处理圆柱模型,得到圆柱侧表面包括:
4.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述判断所述圆柱侧表面是否为可拉伸侧表面,响应于所述圆柱侧表面为可拉伸侧表面,对所述可拉伸侧表面进行初始参数设定包括:
5.根据权利要求1所述一种基于网格拉伸的圆柱侧表面三角形网格生成方法,其特征在于,所述对所述可拉伸侧表面进行初始参数设定,确定起始圆弧线、终止圆弧线和任一拉伸线包括:
6.根据权利要求1所述一种基于网格拉伸...
【专利技术属性】
技术研发人员:杨超越,刘梅林,
申请(专利权)人:重庆数字赛道科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。