平滑 3 点线带的角

smooth out corners of a 3-point line strip

我有一个由 3 个点定义的线带,每个点都有一个 x 和 y 坐标。

我正在尝试平滑中间(点 2)角,如下图所示:

灰色线是原始线带,黑色线是平滑线。 平滑区域在多个值之间应该是恒定的(因为它不依赖于 p1 和 p2 或 p2 和 p3 之间的线的长度)。

我最初一直在使用贝塞尔曲线和简单的样条曲线,但是这并没有起到作用,因为平滑曲线在多个值之间显然不相同。

我该怎么做?

在每条直线上选取 2 个与角点距离相同的点。在这些点上绘制两条与您已有的线成直角的线(法向量指向左下角)。他们将在一个圆心点交叉,然后将这个圆的一部分作为平滑的角。