Home > m-discovr

m-discovr

M-discovr is a project mainly written in ..., it's free.

用 HTML5 实现类 Discovr 的动画效果

用 HTML5 实现类 Discovr 的动画效果。

整体思路是每个box是一个div,用AppBox类来管理,之间的连线是是后面嵌了个 canvas。

分析运动方式,看似复杂的运动只有三个力而已:

1,box之间的排斥力。这里有个特性越近排斥越厉害(还没加进去,现在是排斥半径内都会反方向运动)

2,绳子之间的弹力。绳子有个期望长度 wantL ,当实际长度不符是,产生弹力。(目前是匀速运动,其实根据胡克定律运动更合适)

3,还有一个比较麻烦的是,一个 box 的所有分支 box,呈圈状均匀分布。 -这个还真把我难倒了…… -我目前的想法是每个box可以持有自己所有分支box的line,假设 box0 有 3 个 lines。 -可以遍历 lines ,根据其斜率对其排序,然后遍历比较每个 line 的前一个 line 和后一个 line 之间的角度,如果角度的差值大于某值,则转动使其差值减小。最终每个 line 与前后 line 的夹角相同,自然均匀散开了。 我不知道这样设计合不合理,有其它想法的请跟我联系:[email protected]

目前版本不完善,想接触其它的东西,先放一放,有心情的时候再看。

Previous:PlayingLyrics