给定点和角度的插值(简化的贝塞尔曲线)?

Interpolation given points and angles (simplified Bezier)?

我有兴趣在具有相应角度的二维点集合之间找到插值。贝塞尔曲线与我想要的非常相似,但我们可以使用给定的端点和角度创建多个不同的贝塞尔插值(参见下面的示例,在 Blender 中创建)。

我的问题如下:仅给定端点的位置和角度,有没有办法找到 独特的 插值,它符合边界条件并且是 尽可能平滑? (我会定义平滑度,例如,曲率在路径上应该尽可能均匀)。如果你想给出具体的建议,我有兴趣Python申请

我相信你想做的事情可以通过这篇paper中提到的“优化几何Hermite曲线”来实现。

基本上,您将使用三次 Hermite 曲线在端点处对给定位置和一阶导数向量进行插值。三次厄米曲线由两个端点和端点处的两个切向量定义。在本文的情况下(与您的情况相同),切线向量仅以其方向为人所知,其大小是通过最小化曲线的“弯曲能量”来确定的,这将导致非常平滑的曲线。

切向量大小a*0a*1的公式在论文中列为等式(4)