gpt4 book ai didi

javascript - 减速时机

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:46:48 26 4
gpt4 key购买 nike

我目前正在编写 Flow Slider plugin 的第二版其中一个动画选项是当 slider 以某个恒定加速度加速到某个最大速度,然后以恒定减速度减速时。我无法找到开始减速的正确时机。

如果时间是连续的,就不会有问题,但是时间以离散的间隔移动,因此当运动加速时会有一些帧,并且(使用连续时间数学)你不需要开始减速,但是在下一帧中,您已经来不及减速了。

例如,假设我们的帧速率为每秒 20。我们需要移动500px,起始速度为0px/frame,最大速度为50px/frame,加速度为3px/frame,减速度为3px/frame。您可以在下方看到系统的前 13 帧。

| frame | speed | traveled | to go | deceleration distance |
|-----------------------------------------------------------
| 1 | 3 | 3 | 497 | 3 |
| 2 | 6 | 9 | 491 | 9 |
| 3 | 9 | 18 | 482 | 18 |
| 4 | 12 | 30 | 470 | 30 |
| 5 | 15 | 45 | 455 | 45 |
| 6 | 18 | 63 | 437 | 63 |
| 7 | 21 | 84 | 416 | 84 |
| 8 | 24 | 108 | 392 | 108 |
| 9 | 27 | 135 | 365 | 135 |
| 10 | 30 | 165 | 335 | 165 |
| 11 | 33 | 198 | 302 | 198 |
| 12 | 36 | 234 | 266 | 234 |
| 13 | 39 | 273 | 227 | 273 |
|-----------------------------------------------------------

现在,您可以看到在 0.6 秒(第 12 帧)减速还为时过早,因为 234 的减速距离小于 266 的距离. 但是在下一帧(第 13 帧)中,减速距离 远大于要走 的距离,如果我们从那里开始减速,我们将无法完成时间。

解决这个问题的最佳策略是什么?

最佳答案

您可以尝试在“为时已晚”的帧中调整减速速度,使其适合更小的距离。

关于javascript - 减速时机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com