我至今都不知道惯性阻尼效果是怎么实现的

前端_Logic 2017-03-21 11:53:04
用鼠标拖动div,快速的拖动再放开后
div会沿着速度的方向继续慢慢停下来

请问怎么实现?

用setTimeout吗?
绑定mousemove不停的记录当前的鼠标x,y坐标
当mouseup时,此次的x,y减去上一次的x,y,算出速度,然后不停的setTimeout让div慢慢停下来?
...全文
465 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
前端_Logic 2017-05-26
  • 打赏
  • 举报
回复
引用 5 楼 xiaoe3504xiaoe 的回复:
阻尼比是无单位量纲,表示了结构在受激振后振动的衰减形式。可分为等于1,等于0, 大于1,0~1之间4种,阻尼比=0即不考虑阻尼系统,结构常见的阻尼比都在0~1之间。 ζ<1的单自由度系统自由振动下的位移u(t) = exp(-ζ wn t)*A cos (wd t - Φ ), 其中wn 是结构的固有频率,wd = wn*sqrt(1-ζ^2) ,Φ为相位移.Φ和常数A由初始条件决定。 把这个公式写到代码里就行了
666
xiaoe3504xiaoe 2017-05-26
  • 打赏
  • 举报
回复
阻尼比是无单位量纲,表示了结构在受激振后振动的衰减形式。可分为等于1,等于0, 大于1,0~1之间4种,阻尼比=0即不考虑阻尼系统,结构常见的阻尼比都在0~1之间。 ζ<1的单自由度系统自由振动下的位移u(t) = exp(-ζ wn t)*A cos (wd t - Φ ), 其中wn 是结构的固有频率,wd = wn*sqrt(1-ζ^2) ,Φ为相位移.Φ和常数A由初始条件决定。 把这个公式写到代码里就行了
  • 打赏
  • 举报
回复
引用 2 楼 jyc999 的回复:
很容易,我弄过,用setInterval,因为24帧是人眼识别连贯的最低值,所以你的setInterval间隔最多选40毫秒,考虑到获取滑动速度,设置初始滑动速度v0,加速度为-a,v(n)=v0 - a*n, n为循环次数,第一次循环时,滑动的像素值为v0,那么第n次循环滑动的像素就是v(n), 很明显v(n)递减,当v(n)小于0,clearInterval
能看下示例么
jyc999 2017-03-23
  • 打赏
  • 举报
回复
很容易,我弄过,用setInterval,因为24帧是人眼识别连贯的最低值,所以你的setInterval间隔最多选40毫秒,考虑到获取滑动速度,设置初始滑动速度v0,加速度为-a,v(n)=v0 - a*n, n为循环次数,第一次循环时,滑动的像素值为v0,那么第n次循环滑动的像素就是v(n), 很明显v(n)递减,当v(n)小于0,clearInterval
业余草 2017-03-22
  • 打赏
  • 举报
回复

39,084

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧