一种在三维物体表面画贴合曲线的方法与流程

专利2025-04-20  10


本发明涉及三维物体表面绘制领域,涉及一种在三维物体表面画贴合曲线的方法。


背景技术:

1、在复杂三维物体表面绘制贴合线条时,常常会遇到一些问题,例如线条无法紧密贴合曲面,出现线条穿透模型或者陷入局部最小值的情况。这些问题使得我们在处理三维物体时,亟需寻求一种能够计算并得到贴合表面线段的方法。

2、复杂三维物体表面的曲率和变化程度很高,这就要求我们在绘制线条时,需要根据物体的曲面变化实时调整线条的走势。然而,传统的线条绘制方法很难满足这一要求,因此容易出现线条穿透模型或陷入局部最小值的情况。

3、现有的投影方法(projection methods)是将曲线投影到曲面上。这通常通过计算曲线点到曲面的最近点来完成,然后将曲线点移动到这些最近点上。投影方法可能会导致曲线在曲面上的投影出现不自然的扭曲,尤其是在曲面曲率变化大的区域。此外,找到曲线点到曲面最近点的计算可能在数学上是复杂且计算密集的,尤其是对于复杂的三维曲面。还有可能出现投影点在曲面上的局部最小值,而非全局最优解,导致曲线贴合不理想。


技术实现思路

1、1.所要解决的技术问题:

2、现有在三维物体表面画贴合曲线的方法中,投影方法可能会导致曲线在曲面上的投影出现不自然的扭曲,找到曲线点到曲面最近点的计算可能在数学上是复杂且计算密集的,尤其是对于复杂的三维曲面。还有可能出现投影点在曲面上的局部最小值,而非全局最优解,导致曲线贴合不理想。

3、2.技术方案:

4、为了解决以上问题,本发明提供了一种在三维物体表面画贴合曲线的方法,包括以下步骤:

5、步骤s01:在两个点之间插值,插值方法是基于两点间所需要插值点个数,通过插值点的个数,把每一个点按顺序插入。

6、步骤s02:将步骤s01获得的点与表面上的点进行计算。

7、步骤s03:解决投影点在曲面上的局部最小值问题,而非全局最优解的问题。

8、具体步骤为:步骤s031:发现陷入局部最小值的点;步骤s032;由步骤s031得到所有陷入局部最小值的点对,找到这些点对的中心点,由中心点发射射线,然后保留出与三维表面有交点的射线;步骤s033:将步骤s032中获得的满足条件的射线与三维物体表面交点,计算射线的起点到交点这条线段的长度,选择最小的距离的线段所在的射线作为方向向量;步骤s034:引入动量函数干预自动算得的方向,具体方法是引入人工设定的方向再次计算与表面的交点,得到的交点与点对之间会获得两条线段,重复步骤s01,在线段中间插值寻找表面最近点;步骤s035:重复上述步骤,一直到跳出循环。

9、步骤s04:设计一种基于距离大小的插值方法,距离越大插的点就越多,反之越少,插值结束之后对所有的点进行一次拟合,拟合处为一条顺滑的曲线。

10、步骤s05:得到最终的结果。

11、步骤s01的具体方法为:标定曲面上的两点和,连接两点形成一条线段,在两点之间进行线性距离插值,插值数量为p,定义一个参数 t ,使得,对于两点间的每个插值点,其坐标表示为:

12、,

13、其中,t 是从点 a 到点 b 的插值参数,为了得到 p 个插值点,将 t 均匀分布在区间 [0, 1] 上,具体为:

14、

15、所以每个插值点的坐标计算为:

16、,

17、将得到 a 到 b 的 p 个线性插值点,其中包括起点 a 和终点 b,时,,当时,,通过上述插值获得的所有点为。

18、步骤s02的具体方法为:

19、通过步骤s01中的个点来寻找距离线段最近的表面三角面上的点,假设为中一点,定义一个表面 s,找到s面上的一点,使得q是到点p的最短距离,距离函数表示为:

20、,

21、最小距离问题描述为,为每个点寻找最小的表面点,得到表面点,去重后得到点的集合为,以此点作为基础点进行下一步计算。

22、所述步骤s031具体为:

23、取得所获得的所有点,对每个关键点判断其出现的次数,设置阈值t,每两个相邻的最近点、满足如下条件时:

24、,

25、其中代表的是点在中出现的次数,当次数大于设置阈值t时,则触发局部最小值报警,进入消除局部最小值计算模块。

26、所述步骤s032具体为:

27、由步骤s031得到所有陷入局部最小值的点对,每两对点之间寻找中心点,设点和点为一对点,则中心为:

28、,

29、以为射线起点,射线方向向量 d,向四周发射射线,得到射线

30、,

31、将代入物体表面方程中,解方程找出,如果存在合理的,正实数且满足物体方程,则射线与物体表面相交,保留该射线,满足的条件的射线记作。

32、所述步骤s033具体为:

33、对满足条件的射线,计算其与表面交点的距离,记为,选择距离最短的点作为对应的射线最终确定的方向,表达式如下:

34、,

35、相应的射线是与相对应的射线。

36、所述步骤s034具体为:

37、为避免再次陷入局部最小值,引入参数动量,将动量作为一个影响因素加入到射线方向的计算中,以对应的射线方向,动量 m被看作是一个向量,调整后的射线方向表示为原始方向和动量的组合,将动量向量加到原始方向上:

38、,

39、其中是一个缩放因子,用于控制动量对方向的影响程度。

40、新的射线以步骤s01中以为中心,调整后为射线方向,再次计算与物体表面方程的交点h,则形成新的线段ah、hb,将此线段中进行插值并寻找表面最近点加入到相对应位置。

41、所述步骤s035具体为:

42、再次重复上述步骤,直到没有满足陷入局部最小值的点,设最终得到的点的集合为,其长度是点的数量为,其中表示为解决陷入局部最小值新增的点的数量表示长度。

43、所述步骤s04的具体方法为:在获取曲面一个基础点之后,此时需要在每两点之间进行一次基于权重的插值方法,具体插值方法如下:

44、三维空间中,假设两点和,它们之间的欧式距离 d通过以下公式计算:

45、。

46、设定一个基准距离,这是用于参考的距离,对应于这个基准距离,设定一个基准插值点数,对于任意两点间的实际距离 d,根据与基准距离的比例来确定实际的插值点数,公式如下:

47、,

48、表示向上取整,确保至少有一个插值点,如果 d 大于 0,最后在点 a 和点 b之间插入 q 个插值点,接下来用曲线拟合获得的n个点。

49、所述用曲线拟合获得的n个点的方法为:

50、设和是分段的端点,则一个三次样条在每个分段上表示为:

51、,

52、其中:是在第 i 个分段上的样条函数,

53、是样条函数在该分段上的系数。

54、每个所述插值点通过以下公式计算:

55、,

56、将上述点汇总在一起,此时应获得n个点,n的计算公式如下:

57、。

58、3.有益效果:

59、本发明在投影方法的基础上,1、针对投影法存在采样点较少导致表面贴合线条出现跳变的问题,提出了距离线性插值法,通过设置点的个数,准确获取表面最近点;2、针对投影法可能出现投影点在曲面上的局部最小值,而非全局最优解,导致曲线贴合不理想的问题,创新性的提出了一种解决思路,通过搜索寻找每两点之间的可能陷入局部最小值的位置,用其中心点均匀向四周发射射线寻找欧氏距离最小的方向向量,在此基础上引入动量帮助优化算法更快地收敛到最优解,同时设计一种基于权重的插值方法提高曲线的平滑度和加速算法表面点的二次搜索。通过以上步骤可针对复杂表面,准确处理复杂的表面特征对于在其上画贴合曲线。


技术特征:

1.一种在三维物体表面画贴合曲线的方法,其特征在于:包括以下步骤:

2.如权利要求1所述的在三维物体表面画贴合曲线的方法,其特征在于:步骤s01的具体方法为:标定曲面上的两点 和,连接两点形成一条线段,在两点之间进行线性距离插值,插值数量为p,定义一个参数 t ,使得,对于两点间的每个插值点,其坐标表示为:

3.如权利要求2所述的在三维物体表面画贴合曲线的方法,其特征在于:步骤s02的具体方法为:

4.如权利要求3所述的在三维物体表面画贴合曲线的方法,其特征在于:所述步骤s031具体为:

5.如权利要求3所述的在三维物体表面画贴合曲线的方法,其特征在于:所述步骤s04的具体方法为:在获取曲面一个基础点之后,此时需要在每两点之间进行一次基于权重的插值方法,具体插值方法如下:

6.如权利要求5所述的在三维物体表面画贴合曲线的方法,其特征在于:所述用曲线拟合获得的n个点的方法为:

7.如权利要求5所述的在三维物体表面画贴合曲线的方法,其特征在于:每个所述插值点通过以下公式计算:


技术总结
本发明提供一种在三维物体表面绘制贴合曲线的方法,在现有投影方法的基础上,通过特征加速机制,识别并处理可能陷入局部最小值的点。当检测到陷入局部最小值的中心点时,会均匀地向四周发射射线,以寻找具有最小欧氏距离的方向向量。为了加速算法的收敛速度,还引入了动量优化机制。还设计了一种基于权重的插值方法,以提高曲线的平滑度和加速算法对表面点的二次搜索。通过这一方法,能够更准确地处理复杂表面上的各种特征,从而实现在这些表面上绘制出贴合度更高的曲线。本发明解决了投影点在曲面上易陷入局部最小值的问题,并改善线条的平滑度有效解决了在三维物体表面绘制贴合曲线时面临的挑战,为相关领域的技术发展提供了新的解决方案。

技术研发人员:王泽辉
受保护的技术使用者:江苏霆升科技有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1818897.html

最新回复(0)