话说这篇文章的起源还得从1643年1月4日谈起。这一天,一位引领人类认知世界的巨人诞生了,他就是艾萨克·牛顿(Isaac Newton)。
扯远了,就近一点:2010年1月4日,为了纪念牛顿,google设计了一个Google Doodles
看这里:今日google纪念logo,典型的物理运动实现
进口审核剪切版:
随后,我便模拟了一个重力环境下的抛物线运动:
模拟采用的公式
- Function: 对于运动瞬间
- V=V0+aT;
- S=S0+VT;
- T:运动的时间间隔,是固定值。
这个公式有别于那种运动模拟中常用的补间动画公式(tween算法)。
补间动画是需要事先确定总路程,和总时间的,
而我们模拟的运动轨迹没有事先计算,因为我们运动中间或许还有一些变数,比如撞击,主动改变方向(键盘控制)等等,所以我觉得这个物理公式更能模拟出真实的各种运动。
直至本月前两天,某同事向我展示了这个:
重力版google(浏览首选chrome,safari,次选opera,firefox,若是ie9以下请无视)
膜拜啊。js且不论,css3已经大量使用了。我还只局限用用阴影,圆角呢。
不才,也做一个关于落体,撞击,摩擦的简单模拟。以表膜拜。
对于这个运动的模拟,我觉得以后倒是可以扩展出一些挺有趣的交互游戏的模拟。比如,射击啊,驾驶啊等等,当然纯属娱乐啦。
牛逼的HTML5 http://hakim.se/experiments/html5/blob/03/
回复
高手哇,,以后我常来学习
回复
ONEBOYS 回复:
八月 31st, 2010 at 08:57
@BoKeam,
欢迎
回复
您好,最近在做一个购物车,希望实现点击加入购物车,抛物线自动运动到顶部的购物车一栏,看了您这个很有启发,但不知道怎么弄,希望向您请教,多谢! ^_^
回复
ONEBOYS 回复:
七月 17th, 2013 at 18:08
@Sundy, 你这个需求可能用补间动画就好了。因为确定了起始点和终止点的位置,分x轴y轴,用tween算法分别算出left,top值进行设置。你可以先看下这篇文章:http://bbs.blueidea.com/thread-2978474-1-1.html
回复