一种面向网格模型顶点法矢的高精度估算方法及系统技术方案

技术编号:38013232 阅读:16 留言:0更新日期:2023-06-30 10:36
一种面向网格模型顶点法矢的高精度估算方法及系统,其中方法包括以下步骤:获取所求顶点的坐标值以及与该顶点的邻接面片的角点坐标;获取所有邻接面片到顶点的高,并排序得到最短的高以及最短高所在的邻接面片;构建两个相互垂直的平面,其中两个平面都经过顶点,其中一平面经过最短高;每个平面与邻接面片产生交点,交点与顶点之间构成圆弧关系,通过圆弧的圆心坐标计算垂直平面上投影矢量,以投影矢量合成顶点法矢。使用两个垂直平面截取网格顶点邻接面片的交点并使用三点圆弧的方法直接计算所求顶点两个垂直方向的投影矢量并合成为较为精确的顶点空间法矢方向。与目前的研究技术相比较,本发明专利技术相对高效,所计算的数据精度相对较高。精度相对较高。精度相对较高。

【技术实现步骤摘要】
一种面向网格模型顶点法矢的高精度估算方法及系统


[0001]本专利技术涉及网格模型
,特别是一种面向网格模型顶点法矢的高精度估算方法及系统。

技术介绍

[0002]在计算机辅助设计与制造中,复杂曲面零件常使用参数化模型的三维模型数据表达方式,其任意外形尺寸数据均通过外形特征或参数曲面等数字化信息精确记录。网格模型则是另一种有效的三维模型数据表达方式,其通过若干连接的三角面片表达复杂曲面零件的外形尺寸数据。网格模型在计算机中一般存储为STL的文件格式,其中对每个网格面片的数据信息进行了逐一罗列。STL文件格式中每个网格面片的数据信息仅包含了面片法矢及三个顶点的三维坐标。
[0003]然而很多工程领域都需要使用网格顶点的法矢方向这一数据支持,对此也出现了很多的近似计算方法。其中,对网格曲面进行逆向工程的反求操作,获取网格模型的参数化模型,再利用参数化模型计算顶点的法矢,这是一种可行的方法,但这种方法操作过于复杂,计算量大,所以导致了在实际工程中应用极少。

技术实现思路

[0004]针对上述缺陷,本专利技术的目的在于提出一种面向网格模型顶点法矢的高精度估算方法,能够快速且具有较高精度的获取网格模型顶点法矢。
[0005]为达此目的,本专利技术采用以下技术方案:一种面向网格模型顶点法矢的高精度估算方法,包括以下步骤:
[0006]步骤S1:获取所求顶点的坐标值以及与该顶点的邻接面片的角点坐标;
[0007]步骤S2:获取所有邻接面片到所述顶点的高,并排序得到最短的高以及最短高所在的邻接面片;
[0008]步骤S3:构建两个相互垂直且都经过所述顶点的平面,其中一平面经过所述最短高;
[0009]每个平面与邻接面片产生交点,交点与顶点之间构成圆弧关系,通过圆弧的圆心坐标计算垂直平面上投影矢量,以所述投影矢量合成顶点法矢。
[0010]优选的,所述步骤S2中获取邻接面片到所述顶点的高的公式如下:
[0011]其中顶点坐标P为(x0,y0,z0),高与邻接面片的边的交点1为(x
u1
,y
u1
,z
u1
),邻接面片的两个角点为(x
i1
,y
i1
,z
i1
)和(x
i2
,y
i2
,z
i2
),其中
[0012][0013][0014][0015]优选的,步骤S3中构建两个相互垂直的平面的步骤如下:
[0016]步骤S31:设置经过所述最短高的平面为U,获取平面U与另一邻接面片的边的交点2的坐标(x
u2
,y
u2
,z
u2
);
[0017]步骤S32:设置另一个平面为V,令该平面V的法向垂直交点1与交点2的连线方向,通过所述交点1与交点2计算得到所述平面V;
[0018]其中步骤S31中获取交点2的步骤如下:
[0019]将邻接面片的两个角点分别输入至判断公式中,判断平面U是否与邻接面片的边相交,若相交,则交点2落入在该边上,并计算得到交点2的坐标,其中判断公式如下:
[0020]f(V
i
)=Ax+By+Cz+D,其中A=x
i1

x
i2
,B=y
i1

y
i2
,C=z
i1

z
i2
,D=

(x
i2

x
i1
)x0‑
(y
i2

y
i1
)y0‑
(z
i2

z
i1
)z0,将两个角点分别输入至所述判断公式中,若,两个所述f(V
i
)均为0,则该边为交点2所在的边;
[0021]其中(x
u2
,y
u2
,z
u2
)中其中交点2所在的边的两个角点为(x
i3
,y
i3
,z
i3
)和(x
i4
,y
i4
,z
i4
),而d1与d2分别为角点2到该两个角点的距离;
[0022]其中
[0023]步骤S32中具体步骤如下:设置平面V为A
v
x+B
v
y+C
v
z+D
v
=0,由于平面V与平面U相互垂直,所述平面V的法向垂直于交点1与交点2的连线,所以A
v
=x
u2

x
u1
,B
v
=y
u2

y
u1
,C
v
=z
u2

z
u1
,D
v


(x
u2

x
u1
)x0‑
(y
u2

y
u1
)y0‑
(z
u2

z
u1
)z0。
[0024]优选的,步骤S3中通过圆弧的圆心坐标计算垂直平面上投影矢量的步骤如下:
[0025]步骤S33:平面U的交点1、交点2与所求顶点构建成圆心为B1半径为R1的圆弧、平面V的交点3、交点4与所求顶点构成圆心为B2半径为R2的圆弧;
[0026]步骤S34:通过所述交点1、交点2与所求顶点的坐标获取所述B1的坐标以及R1的半径值,通过所述交点3、交点4与所求顶点的坐标获取所述B2的坐标以及R2的半径值;
[0027]步骤S35:通过圆心B1以及圆心B2分别获取对应平面的法矢Fu和法矢Fv;通过两个平面之间的关系将法矢Fu和法矢Fv合成,得到顶点法矢;
[0028]其中步骤S34的具体步骤如下:
[0029]设置平面U的表达方程为:
[0030][0031]其中
[0032]A
u1
=y
u1
·
z0‑
y
u1
·
z
u2

z
u1
·
y0+z
u1
·
y
u2
+z
u2
·
y0‑
y
u2
·
z0;
[0033]B
u1


x
u1
·
z0+x
u1
·
z
u2
+z
u1
·
x0‑
z...

【技术保护点】

【技术特征摘要】
1.一种面向网格模型顶点法矢的高精度估算方法,其特征在于,包括以下步骤:步骤S1:获取所求顶点的坐标值以及与该顶点的邻接面片的角点坐标;步骤S2:获取所有邻接面片到所述顶点的高,并排序得到最短的高以及最短高所在的邻接面片;步骤S3:构建两个相互垂直且都经过所述顶点的平面,其中一平面经过所述最短高;每个平面与邻接面片产生交点,交点与顶点之间构成圆弧关系,通过圆弧的圆心坐标计算垂直平面上投影矢量,以所述投影矢量合成顶点法矢。2.根据权利要求1所述的一种面向网格模型顶点法矢的高精度估算方法,其特征在于,所述步骤S2中获取邻接面片到所述顶点的高的公式如下:其中顶点坐标P为(x0,y0,z0),高与邻接面片的边的交点1为(x
u1
,y
u1
,z
u1
),邻接面片的两个角点为(x
i1
,y
i1
,z
i1
)和(x
i2
,y
i2
,z
i2
),其中),其中),其中3.根据权利要求1所述的一种面向网格模型顶点法矢的高精度估算方法,其特征在于,步骤S3中构建两个相互垂直的平面的步骤如下:步骤S31:设置经过所述最短高的平面为U,获取平面U与另一邻接面片的边的交点2的坐标(x
u2
,y
u2
,z
u2
);步骤S32:设置另一个平面为V,令该平面V的法向垂直交点1与交点2的连线方向,通过所述交点1与交点2计算得到所述平面V;其中步骤S31中获取交点2的步骤如下:将邻接面片的两个角点分别输入至判断公式中,判断平面U是否与邻接面片的边相交,若相交,则交点2落入在该边上,并计算得到交点2的坐标,其中判断公式如下:f(V
i
)=Ax+By+Cz+D,其中A=x
i1

x
i2
,B=y
i1

y
i2
,C=z
i1

z
i2
,D=

(x
i2

x
i1
)x0‑
(y
i2

y
i1
)y0‑
(z
i2

z
i1
)z0,将两个角点分别输入至所述判断公式中,若,两个所述f(V
i
)均为0,则该边为交点2所在的边;其中(x
u2
,y
u2
,z
u2
)中其中交点2所在的边的两个角点为(x
i3
,y
i3
,z
i3
)和(x
i4
,y
i4
,z
i4
),而d1与d2分别为角点2到该两个角点的距离;其中步骤S32中具体步骤如下:设置平面V为A
v
x+B
v
y+C
v
z+D
v
=0,由于平面V与平面U相互垂直,所述平面V的法向垂直于交点1与交点2的连线,所以A
v
=x
u2

x
u1
,B
v
=y
u2

y
u1
,C
v
=z
u2

z
u1
,D
v


(x
u2

x
u1
)x0‑
(y
u2

y
u1
)y0‑
(z
u2

z
u1
)z0。
4.根据权利要求1所述的一种面向网格模型顶点法矢的高精度估算方法,其特征在于,步骤S3中通过圆弧的圆心坐标计算垂直平面上投影矢量的步骤如下:步骤S33:平面U的交点1、交点2与所求顶点构建成圆心为B1半径为R1的圆弧、平面V的交点3、交点4与所求顶点构成圆心为B2半径为R2的圆弧;步骤S34:通过所述交点1、交点2与所求顶点的坐标获取所述B1的坐标以及R1的半径值,通过所述交点3、交点4与所求顶点的坐标获取所述B2的坐标以及R2的半径值;步骤S35:通过圆心B1以及圆心B2分别获取对应平面的法矢Fu和法矢Fv;通过两个平面之间的关系将法矢Fu和法矢Fv合成,得到顶点法矢;其中步骤S34的具体步骤如下:设置平面U的表达方程为:其中A
...

【专利技术属性】
技术研发人员:文豪邹伟全伍雯华彭朝阳张小明
申请(专利权)人:广东科学技术职业学院
类型:发明
国别省市:

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

1