Tag: 导数

LibGDX路径(CatmullRomSpline)恒速

我正在尝试使用LibGDX CatmullRomSpline在路径上实现恒定速度,并且我在使其工作时遇到问题。 我已经尝试过很多关于这个主题的研究,包括阅读LibGDX维基,但他们对实现恒定速度的解释并没有真正意义,我无法让他们的方法发挥作用。 https://github.com/libgdx/libgdx/wiki/Path-interface-&-Splines在我的例子中,导数值非常大(数百),所以当将0到0之间的数除以导数时非常小,运动非常慢,但仍然不恒定。 所以我不确定他们的例子是如何运作的。 在我的例子中,我有几个视觉辅助工具与球的速度一致,随着速度的增加,屏幕底部的条形长度增加,随着速度的增加,颜色也会从白色变为红色。 在MyPath.java的act()方法中,我从[1]和[2]开始注释掉了两个部分。 第一个是正常的,通过路径可变速度,第二个是我尝试使LibGDX wiki恒速工作失败。 所以只需取消注释这两行就可以在两个版本之间切换。 我对恒速的想法包括根据路径的总长度计算速度(使用样条上的约长度(1000)方法),然后使用导数函数确定给定时刻的实际速度,并调整百分比发送到样条曲线的值以补偿速度变化,以使速度恒定。 但是,我不太明白衍生函数实际上代表什么。 我之前发布了关于衍生函数的问题,但根据我收到的评论,我认为可能更容易询问实现恒定速度。 这是我之前关于导数函数的问题: LibGDX CatmullRomSpline导数意义? 关于如何在我的例子中实现恒定速度的任何想法(或解释CatmullRomSpline的衍生函数实际上代表什么,以便我可以更好地理解如何使用它)将不胜感激。 对于任何想要运行该程序的人,这里是我为我的示例创建的两个图像文件(将这些文件添加到assets文件夹的根目录): http : //dropshots.com/Tekker/date/2015-09- 19 这是我的示例代码: DesktopLauncher.java 🙁将桌面窗口宽度和高度更改为1000) public class DesktopLauncher { public static void main (String[] arg) { LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); config.width = 1000; config.height = 1000; new LwjglApplication(new TEST(), config); } } TEST.java: public […]