给定 2 个已知速度方向和位置的点,计算由(圆)弧组成的路径

Given 2 points with known speed direction and location, compute a path composed of (circle) arcs

所以,我有两个点,比如 A 和 B,每个点在同一坐标系中都有一个已知的 (x, y) 坐标和一个速度矢量。我想编写一个函数来生成一组将 A 引向状态 B 的弧(半径和角度)。

角度差是已知的,因为我可以通过减去速度单位向量得到它。假设我用 (radius=r, angle=theta) 移动了一定距离,然后我遇到了完全相同的情况。它有唯一解吗?我只需要一个解决方案,甚至是一个近似值。

当然我可以通过给定一个圆和一条线(radius=infine)来解决它,但这不是我想做的。我认为有一个库具有此功能,因为这是一种很常见的方法。

一条biarc是由两条圆弧组成的平滑曲线。给定两个有切线的点,几乎总是可以构造一个通过它们的双弧(具有正确的切线)。

这是几何建模中非常基础的套路,对于平滑地用圆弧逼近任意曲线(bezier、NURBS等)必不可少。圆弧和直线的近似在 CAM 中大量使用,因为建模人员使用 NURBS 没有问题,但机器控制器通常只理解直线和圆弧。所以我强烈建议阅读这个主题。

特别是 great article on biarcs 关于 biarcs 的文章,强烈建议阅读。它甚至包含一些工作代码和一个交互式演示。