通过一组 n 个点绘制一条平滑曲线

Draw a smooth curve through a set of n points

我正在开发一款显示从特定起点到光标的路线的游戏。由于目前的系统很旧(大概有 10 年左右......)并且部分损坏,我想从头开始重写这段代码。 假设我的屏幕上有一个点数组-最后一个点是我的光标-,还有一个 Graphics2D 对象。我如何使用尽可能短的路径绘制一条平滑通过所有这些点的线?

How would I draw a line going smooth through all of those points using the shortest way possible

这个要求有点矛盾。通过点列表的最短曲线是多边形,但多边形通常不平滑。

但是,您正在寻找的可能是样条插值。这在标准 Java 包中不可用,但您可以在 Apache Commons Math 中使用 SplineInterpolator