Java 适用于Android的catmull rom样条曲线

Java 适用于Android的catmull rom样条曲线,java,android,curve,spline,catmull-rom-curve,Java,Android,Curve,Spline,Catmull Rom Curve,我试图找到一种在android平台上实现catmull rom样条线的方法,以便通过n个点平滑地绘制一条线。理想情况下,我将能够通过路径及其cubicTo方法调整立方贝塞尔,如本线程中所述: 不幸的是,我没有能够遵循那里的实现,所以我希望有人已经这样做了,可以共享几行示例代码 谢谢 这个Android游戏开发库似乎有: p、 在美国,您标记了Bezier,这是不正确的——这是一种使用曲线外控制点的曲线,具有外部影响:)我也面临同样的问题,我找到了解决方案: 它是用JavaScript实现的,但

我试图找到一种在android平台上实现catmull rom样条线的方法,以便通过n个点平滑地绘制一条线。理想情况下,我将能够通过路径及其cubicTo方法调整立方贝塞尔,如本线程中所述:

不幸的是,我没有能够遵循那里的实现,所以我希望有人已经这样做了,可以共享几行示例代码


谢谢

这个Android游戏开发库似乎有:


p、 在美国,您标记了Bezier,这是不正确的——这是一种使用曲线外控制点的曲线,具有外部影响:)

我也面临同样的问题,我找到了解决方案:


它是用JavaScript实现的,但可以很容易地重写为Java-结果是使用Path.quadTo()绘制的自然样条曲线。

谢谢:)我想我可能会因为标记而受到一些批评-只标记了它,因为android上似乎有一种方法可以使用三次贝塞尔实现catmull rom样条曲线。这似乎是可能的,但是方程可能太复杂了,你不想去那里:)在转换过程中,你会损失比任何潜在加速度(如果有的话)更多的CPU。将Bezier曲线转换为Catmull Rom(反之亦然)就像乘以正确的矩阵一样简单。@Rusty-你是否碰巧有一个链接可以告诉我如何实现这一点?我在《计算机图形学基础》一书中了解到了这一点,这本书对样条曲线有一个很好的逐步解释。快速的谷歌搜索让我找到了文档(第12页),其中包含了您需要的转换矩阵。我终于有机会使用这里提出的解决方案,遗憾的是,这是不可能的。虽然代码确实提供了平滑的线条,但它生成的线条取决于每个点与其他点之间的关系,可能会显著超出或超出范围,从而导致数据的错误表示。