一个计算每一帧旋转度数的算法

var a = 0.01;
var totalDeg = 360;
var steps = [];

function countSteps() {
    var t = Math.sqrt(2 * totalDeg / a);
    var v = a * t;
    for (var i = 0; i < t; i++) {
        steps.push((2 * v * i - a * i * i) / 2)
    }
    steps.push(totalDeg)
}

在微信大转盘里看到的一个计算转盘每一帧旋转度数的算法,求大神讲解下。(数学是体育老师代的)

阅读 3.3k
1 个回答

匀减速距离公式
$$ s = v i - 1/2 a i^2$$

  • a:加速度

  • v:初速度

  • i:时间/步数

  • t:总时间/总步数

代码在模拟一个圆周上的匀减速运动,到停止时刚好转过一圈(s=360)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题