一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维网络模型弯曲变形方法与流程

2023-01-15 08:45:21 来源:中国专利 TAG:


1.本发明涉及三维网格模型处理方法,尤其涉及一种三维网络模型弯曲变形方法。


背景技术:

2.在工业、医疗和艺术设计等领域中,由于个性化的需求,常常需要采用弯曲变形的方法,将三维网格模型设计为符合用户设计意图的目标模型;在医用外固定支具领域,医生需要将扫描得到的伤患处模型通过弯曲变形,得到符合临床意义的模型。这些个性化要求都需要一种网格弯曲变形技术作为支撑,传统的三维cad系统不具备三维网格模型的此种设计功能。


技术实现要素:

3.本发明的目的在于针对上述现有技术的不足,提供了一种三维网络模型弯曲变形方法,提高网格弯曲变形精度,改善网格质量,实现个性化地弯曲变形。
4.为实现上述目的,本发明采用了如下技术方案:
5.本发明提供了一种三维网络模型弯曲变形方法,包括以下步骤:
6.s1、综合用户设置的基准点和变形平面、方向及幅度的信息,进行变形预处理,得到源控制点集和目标点集;
7.s2、采用tps插值函数,对模型点集进行初次插值,计算初次插值的插值误差;
8.s3、遍历所有误差值,提取超过误差极限的控制点,构成二次控制点,以二次控制点的插值误差作为插值位移进行二次tps插值,直到插值误差达到误差极限时迭代终止,实现弯曲变形;
9.s4、对变形后模型采用建立的最小角度量法来度量标准度量网格质量,若未达到要求,则对输入模型进行网格质量优化;以优化后的模型和弯曲变形条件为输入,得到最终的弯曲变形模型。
10.进一步,所述s2中,包括以下步骤:
11.s201、建立插值函数f,使f的能量e最小,以使插值误差最小, f需要满足的插值条件为:
12.f(ri)=ti,i=1,2,3...n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
13.其中,ri为模型源控制点集;ti为目标控制点集,n为自然数;
14.s202、f的能量e表示为:
[0015][0016]
其中,r3为三维空间,x、y、z为三维坐标轴;
[0017]
s203、满足仿射部分和非仿射部分为线性组合的插值函数f为:
[0018]
[0019]
其中,f(x,y,z)为模型上某点插值的位移;||(xi′
,yi′
,zi′
)-(x,y,z)||为欧拉范数;tps插值函数在三维空间中的基函数为u(r)=r;qi为对应于每个源控制点的权重系数;p1 p
x
x pyy pzz是表示仿射变换的线性多项式;
[0020]
s204、结合式(2)和式(3)计算出各系数线性系统:
[0021][0022]
其中,是u(r)的矩阵;为目标控制点集;o(4,4)和 o(4,3)分别为4
×
4和4
×
3的零矩阵;
[0023]
s205、计算式(4)中权重矩阵q和放射矩阵p后,能够描述出空间中任意一点在x、y、z上的变形分量分别为f
x
(x,y,z)、fy(x,y,z)和 fz(x,y,z),表示为:
[0024][0025]
s206、结合式(5)中各变形分量和源模型顶点集合,得到插值后的顶点集合:
[0026][0027]
进一步,所述s3包括以下步骤:
[0028]
s301、对源模型进行tps初次插值后,得到的模型分析计算插值误差,得到位移量s0,以不满足插值误差极限的点为插值点,以当前点的插值误差为插值对象进行二次插值,得到位移量s1,模型上所有顶点的总位移量s
sum
为:
[0029]ssum
=s0 s1ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0030]
s302、由于算法的终止条件是插值误差达到误差极限,即会出现多次的再插值,再插值的总位移s1为:
[0031][0032]
在多次的插值过程中,模型中第i个顶点第k次的插值位移为:
[0033][0034]
s303、得到第k 1次的坐标为:
[0035][0036]
其中,为第k 1次插值在第k次插值位移上进行的x、y、z方向上位置的修正,减小插值误差;
[0037]
进一步,所述s4包括:经过v次插值的修正,整个模型点的最终位置为:
[0038][0039]
初始位移经过多次迭代修正位移,直到位移满足误差极限,即停止迭代。
[0040]
本发明的有益效果为:针对传统的tps网格模型弯曲变形插值结果不精确、插值误差较大,且弯曲变形时会产生细长的退化网格、生成不自然的变形网格的问题;
[0041]
该方法使操作更加简单,变形效果更加直观可控。
附图说明
[0042]
图1为本发明一种三维网络模型弯曲变形方法的流程图;
[0043]
图2为变形条件的确定与演示图;
[0044]
图3为不同参数的下采样对比图;
[0045]
图4为变形平面的选择图;
[0046]
图5为变形方向的选择图;
[0047]
图6为变形幅度的选择图;
[0048]
图7为变形前后的ankle模型图;
[0049]
图8为位移误差图;
[0050]
图9为网格质量的对比图。
具体实施方式
[0051]
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0052]
请参阅图1,一种三维网络模型弯曲变形方法,包括以下步骤:
[0053]
s1、综合用户设置的基准点和变形平面、方向及幅度的信息,进行变形预处理,得到源控制点集和目标点集;
[0054]
其中,算法的变形条件由用户自定义选择的基准点、变形平面、变形方向及幅度确定。该算法的弯曲平面使用铰链式模型确定,如图2所示。在选择基准点a、b后,连接两个基准点生成向量ab,作为弯曲变形算法的弯曲轴。在模型上遍历顶点,找到模型上离ab中点的最近点m,求出模型上点m的法向量nor1,将向量am与nor1叉乘,求出am与nor1 组成的平面的法向量nor2,分别沿着nor2的正反方向移动点m,移动的距离为向量am与nor2差的模,得到两个空间中的点。在模型上找到离这两个点最近的点c、d。至此,a、b、c、d形成的平面即为弯曲平面,ab两点的连线为弯曲轴,cd两点的连线决定弯曲方向。以弯曲轴为基准轴,根据设置的变形方向沿着变形平面变形。
[0055]
网格模型顶点数据很庞大,严重影响变形的效率。因此本方法对网格模型进行下采样操作,简化变形模型点集规模,提高变形效率。采用体素化网格下采样方法,根据网格模型长宽高的大小创建一个包围盒,然后根据需求设置小长方体的长宽高,将包围盒分解成多个指定大小的小长方体。划分完毕后将网格模型的顶点数据放到相应的小长方体中,同时删除不包含顶点数据的小长方体。在每个小长方体中,将离小长方体重心最近的顶点数据保留下来,舍弃其他的顶点数据。
[0056]
具体为:请参阅图3,包围盒中小长方体的大小用采样系数λ确定,λ∈[0,1],小长方体的长宽高是包围盒长宽高的λ倍,λ越小,小长方体越小,下采样的点数越多。λ=0时,模型不做采样操作,λ=1时小长方体与包围盒重合,下采样点数为1。如图9所示,λ分别取0、
0.03、0.05、 0.1时,对cat模型进行下采样操作,n为下采样后模型点数。本算法选用采样系数λ=0.05,既简化变形顶点的规模,也未改变模型整体的形状。
[0057]
经过体素下采样的模型点集{ri},i=1,2,3...n,在设置的变形条件下得到预变形点集{ti},i=1,2,3...n。
[0058]
网格模型除下采样的点集外,剩余顶点将采用插值的方法,实现模型整体的变形。
[0059]
s2、采用tps插值函数,对模型点集进行初次插值,计算初次插值的插值误差;
[0060]
s3、遍历所有误差值,提取超过误差极限的控制点,构成二次控制点,以二次控制点的插值误差作为插值位移进行二次tps插值,直到插值误差达到误差极限时迭代终止,实现弯曲变形;
[0061]
s4、对变形后模型采用建立的最小角度量法来度量标准度量网格质量,若未达到要求,则对输入模型进行网格质量优化;以优化后的模型和弯曲变形条件为输入,得到最终的弯曲变形模型。
[0062]
所述s2中,包括以下步骤:
[0063]
s201、建立插值函数f,使f的能量e最小,以使插值误差最小, f需要满足的插值条件为:
[0064]
f(ri)=ti,i=1,2,3...n
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0065]
其中,ri为模型源控制点集;ti为目标控制点集,n为自然数;
[0066]
s202、f的能量e表示为:
[0067][0068]
其中,r3为三维空间,x、y、z为三维坐标轴;
[0069]
s203、满足仿射部分和非仿射部分为线性组合的插值函数f为:
[0070][0071]
其中,f(x,y,z)为模型上某点插值的位移;||(xi′
,yi′
,zi′
)-(x,y,z)||为欧拉范数;tps插值函数在三维空间中的基函数为u(r)=r;qi为对应于每个源控制点的权重系数;p1 p
x
x pyy pzz是表示仿射变换的线性多项式;
[0072]
s204、结合式(2)和式(3)计算出各系数线性系统:
[0073][0074]
其中,是u(r)的矩阵;
为目标控制点集;o(4,4) 和o(4,3)分别为4
×
4和4
×
3的零矩阵;
[0075]
s205、计算式(4)中权重矩阵q和放射矩阵p后,能够描述出空间中任意一点在x、y、z上的变形分量分别为f
x
(x,y,z)、fy(x,y,z)和 fz(x,y,z),表示为:
[0076][0077]
s206、结合式(5)中各变形分量和源模型顶点集合,得到插值后的顶点集合:
[0078][0079]
所述s3包括以下步骤:
[0080]
s301、对源模型进行tps初次插值后,得到的模型分析计算插值误差,得到位移量s0,以不满足插值误差极限的点为插值点,以当前点的插值误差为插值对象进行二次插值,得到位移量s1,模型上所有顶点的总位移量s
sum
为:
[0081]ssum
=s0 s1ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0082]
s302、由于算法的终止条件是插值误差达到误差极限,即会出现多次的再插值,再插值的总位移s1为:
[0083][0084]
在多次的插值过程中,模型中第i个顶点第k次的插值位移为:
[0085][0086]
s303、得到第k 1次的坐标为:
[0087][0088]
其中,为第k 1次插值在第k次插值位移上进行的x、y、z方向上位置的修正,减小插值误差;
[0089]
所述s4包括:经过v次插值的修正,整个模型点的最终位置为:
[0090][0091]
初始位移经过多次迭代修正位移,直到位移满足误差极限,即停止迭代。
[0092]
实施例一
[0093]
以dinosaur模型为例,分别展示变形平面、变形方向和变形幅度的差别带来的不同变形效果。
[0094]
变形平面的选择
[0095]
如图4所示,变形可以在xoz和yoz两个平面上进行,图中深色 dinosaur模型为源模型,浅色dinosaur模型为动态的目标模型。选择变形平面xoz,在俯视图下观察,可见浅色的目标模型在xoz平面上变化。选择变形平面为yoz,在正视图下观察,可以看到浅色的目标模型在yoz 平面上变化。
[0096]
变形方向的选择
[0097]
如图5所示,变形可以根据需求的不同选择不同的弯曲方向,包括头部变形、尾部变形和同时变形。如图5(a)所示,选择变形方向为头部变形,在俯视图下观察,可以看到浅色的目标模型尾部基本保持不动,头部发生变形。如图5(b)所示,选择变形方向为尾部变形,在俯视图下观察,可以看到浅色的目标模型头部基本保持不动,尾部发生变形。如图5
(c)所示,选择变形方向为同时变形,在俯视图下观察,可以看到浅色的目标模型头部和尾部都发生变形。
[0098]
变形幅度的选择
[0099]
如图6所示,可以自由选择变形幅度,并能动态展现变形后的效果,直观可控。图6(a)、图6(b)、图6(c)、图6(d)分别是变形幅度为-0.71、0.71、
ꢀ‑
0.28、0.28时的变形效果。
[0100]
如图7所示,用外固定支具的ankle模型来检验算法的准确性。三维扫描仪得到的患者ankle模型的脚掌与地面不平行,难以支撑患者站立,需要对ankle模型进行弯曲变形,使其脚掌与地面平行,满足患者实际的站立需求。
[0101]
选择变形平面为yoz平面,变形方向为头部方向,变形幅度为-0.44。图7(a),图7(b)分别是未变形与已弯曲变形的ankle模型的对比。ankle 模型在保持小腿部位不动的情况下,弯曲脚掌部位,满足了患者需求,生成了符合临床意义的模型。设置的误差极限为1e-3
,迭代三次达到误差极限。
[0102]
图8分别是加入网格质量优化算法前后网格质量的对比,图9(a)圆圈部分为网格展示部分,图9(b)和图9(c)分别为优化前与优化后的网格质量对比。采用网格质量优化算法后,平均度量值均有提高,网格质量得到增强。本文的网格质量优化算法在原有网格上对单一的三角面片进行了细分,既提高网格质量,也未细分整体模型,可有效减少计算复杂度,降低算法的运行时间,提高算法处理效率。
[0103]
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献