本发明涉及一种用于网格划分中曲面网格顶点法线计算的改进方法,可应用于计算机图形学领域,特别是涉及曲面图形所包含的细分三角面片的顶点法线。
背景技术:
曲面上某点的法线方向指的是在该点处与表面垂直的方向,对于平面来说,平面上各点的法向是一样的,对于曲面来说,各点的法线方向则并不相同。法线方向作为曲面的重要属性,在图形学领域中被大量使用,其正确性对图形场景中的光照、阴影效果、贴图效果等有直接影响。将曲面的法线信息应用于cae软件网格划分过程中,能够改善划分网格的质量。通常情况下曲面法线计算有两种方式,一种是微分法,通过曲面数学方程计算,如图1所示。
图1中点p处的法向量n可用式(1)计算得到。
n=su×sv(1)
该方法需要处理由参数化引起的奇异性,即采用曲面的参数化方程时,可能会无法计算某点的切向。
另一种是平均邻接面法,通过曲面的离散化三角形计算,如图2所示。
为了得到更加准确的法线向量,采用该方法需要采取不同的平均方式对三角形法线向量进行处理,否则会影响到法线计算的正确性。
现有技术中微分法、平均法线法均不能稳健的计算得到正确的法线方向。
技术实现要素:
本发明针对现有技术存在的问题和不足,提供一种用于网格划分中曲面网格顶点法线计算的改进方法,解决现有方法适用面不够广的问题。
本发明是通过下述技术方案来解决上述技术问题的:
本发明提供一种用于网格划分中曲面网格顶点法线计算的改进方法,其特点在于,其包括以下步骤:
s1、基于给定曲面的曲面类型判断给定曲面的顶点是否是奇异点,若是则进入步骤s2,否则进入步骤s3;
s2、基于给定曲面的曲面类型所对应的几何参数,计算奇异点的法线方向,进入步骤s7;
s3、求顶点处uv参数曲面uv方向上的切向量,判断切向量是否存在为零的情况,若是则进入步骤s4,否则进入步骤s5;
s4、求解顶点处的法线的二阶微分,并利用一阶泰勒展开的方法,计算得到顶点的法线方向,判断法线方向是否为非零向量,若是则进入步骤s7,否则进入步骤s6;
s5、通过两个切向量叉乘得到法线方向,进入步骤s7;
s6、将顶点处所相连的所有三角面片的法线进行平均以作为顶点法线方向,进入步骤s7;
s7、输出法线方向;
s8、在基于三角面片模型边界生成点集时,根据步骤s7获得的法线方向,插值生成边界上的点集,对给定曲面进行三角形网格划分。
较佳地,在步骤s6中,计算每个三角面片的顶点处角度占顶点处所有三角面片角度之和的比例以作为角度权重系数,每一个三角面片的角度权重系数乘以对应的法线的累加和作为顶点法线方向。
较佳地,给定曲面包括圆锥曲面、球面、二次曲面、椭球面和抛物面。
较佳地,球面的几何参数包括球径、南北极位置,圆锥曲面的几何参数包括锥角、主轴方向。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
本发明提出了一种计算法线方向的方法,该方法有效结合了微分法、平均法线法以及曲面的几何属性信息,具有适应性强的特点,能够精确的获取到曲面法线方向。
附图说明
图1为现有技术中曲面切向量及法向量示意图。
图2为现有技术中平均邻接面法示意图。
图3为本发明较佳实施例的曲面网格顶点法线计算的改进方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图3所示,本实施例提供一种用于网格划分中曲面网格顶点法线计算的改进方法,其包括以下步骤:
s1、基于给定曲面的曲面类型判断给定曲面的顶点是否是奇异点,若是则进入步骤s2,否则进入步骤s3。
其中,给定曲面包括圆锥曲面、球面、二次曲面、椭球面和抛物面。
s2、基于给定曲面的曲面类型所对应的几何参数,计算奇异点的法线方向,进入步骤s7。
其中,球面的几何参数包括球径、南北极位置,圆锥曲面的几何参数包括锥角、主轴方向。
s3、求顶点处uv参数曲面uv方向上的切向量,判断切向量是否存在为零的情况,若是则进入步骤s4,否则进入步骤s5;
s4、求解顶点处的法线的二阶微分,并利用一阶泰勒展开的方法,计算得到顶点的法线方向,判断法线方向是否为非零向量,若是则进入步骤s7,否则进入步骤s6;
s5、通过两个切向量叉乘得到法线方向,进入步骤s7。
s6、将顶点处所相连的所有三角面片的法线进行平均以作为顶点法线方向,进入步骤s7。
其中,在步骤s6中,计算每个三角面片的顶点处角度占顶点处所有三角面片角度之和的比例以作为角度权重系数,每一个三角面片的角度权重系数乘以对应的法线的累加和作为顶点法线方向。
s7、输出法线方向。
s8、在基于三角面片模型边界生成点集时,根据步骤s7获得的法线方向,插值生成边界上的点集,对给定曲面进行三角形网格划分。
本发明将曲面几何属性特征引入到顶点法线计算流程中,并组合微分法和平均法线法,给出了能够准确计算曲面网格顶点的方法流程,具有适应性强的特点,能够精确的获取到曲面法线方向。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
1.一种用于网格划分中曲面网格顶点法线计算的改进方法,其特征在于,其包括以下步骤:
s1、基于给定曲面的曲面类型判断给定曲面的顶点是否是奇异点,若是则进入步骤s2,否则进入步骤s3;
s2、基于给定曲面的曲面类型所对应的几何参数,计算奇异点的法线方向,进入步骤s7;
s3、求顶点处uv参数曲面uv方向上的切向量,判断切向量是否存在为零的情况,若是则进入步骤s4,否则进入步骤s5;
s4、求解顶点处的法线的二阶微分,并利用一阶泰勒展开的方法,计算得到顶点的法线方向,判断法线方向是否为非零向量,若是则进入步骤s7,否则进入步骤s6;
s5、通过两个切向量叉乘得到法线方向,进入步骤s7;
s6、将顶点处所相连的所有三角面片的法线进行平均以作为顶点法线方向,进入步骤s7;
s7、输出法线方向;
s8、在基于三角面片模型边界生成点集时,根据步骤s7获得的法线方向,插值生成边界上的点集,对给定曲面进行三角形网格划分。
2.如权利要求1所述的曲面网格顶点法线计算的改进方法,其特征在于,在步骤s6中,计算每个三角面片的顶点处角度占顶点处所有三角面片角度之和的比例以作为角度权重系数,每一个三角面片的角度权重系数乘以对应的法线的累加和作为顶点法线方向。
3.如权利要求1所述的曲面网格顶点法线计算的改进方法,其特征在于,给定曲面包括圆锥曲面、球面、二次曲面、椭球面和抛物面。
4.如权利要求3所述的曲面网格顶点法线计算的改进方法,其特征在于,球面的几何参数包括球径、南北极位置,圆锥曲面的几何参数包括锥角、主轴方向。
技术总结