缩放贝塞尔曲线

Scale Bezier Curve

我需要调整一条(三次)贝塞尔曲线的长度以匹配另一条曲线的长度,而不影响其整体形状。我猜,这涉及按比例递归缩放它,直到长度大小合适(或者有更好的方法吗?)。

我得到了计算长度的函数。对于缩放,我坚持计算新控制点的坐标。 this question 似乎有答案,但我无法弄清楚答案中的变量 a、b 等指的是什么。此外,我需要从头开始编写一个函数,而无需求助于任何 API 库(python 数学除外)。

感谢任何帮助。

L 和所需长度 D 表示曲线的长度,在我看来你只需要缩放你的曲线 (D/L) 次。感谢 affine invariance,它应该足以缩放所有控制点。也就是说,将每个控制点的每个坐标乘以 D/L.

还是我漏掉了什么?