Android我的Android之路程序员

android动画实现单摆效果

2015-09-16  本文已影响399人  1琥珀川1

效果图


最终效果

又赶上了一年一度的校招季这个效果来自一道笔试题让写出思路如何实现该效果所以按耐不住还是想用代码去实现一下当然实现起来也不是很复杂

思路


涉及到一些基本的物理定律

单摆的运动周期 T=2 * Math.PI * Math.sqrt(l / 10);

单摆的运动规律为正余玄函数

我们先考虑第一圆的运动规律

对于1圆我们坐标系的位置建立在o1位置为原点

它对应的 x y随时间的运动规律为 (第1个1/4 T和第4个1/4T)

int x = -(int) (l * Math.sin(angle) * Math.cos(W * jiange * count));

int y = (int) Math.sqrt(l * l - x * x);

count为一个自增量去代表时间变化

对于2圆我们坐标系的位置建立在o2位置为原点

它对应的 x y随时间的运动规律为

int x =0

int y =l; (l为摆长)

canvas.drawCircle(0, l, radius, paintcircle2);

对于3圆我们坐标系的位置建立在o3位置为原点

它对应的 x y随时间的运动规律为(第2个1/4 T和第3个1/4T)

int x = -(int) (l * Math.sin(angle) * Math.cos(W * jiange * count));

int y = (int) Math.sqrt(l * l - x * x);

变化规律与1相同

项目地址

https://github.com/huopochuan/Simplependulum

后记

简书插入代码怎么插入呀 还有想请教一下各位面试总是失败怎么破 面试了去哪,美团都以失败告终面试官看重985 211院校吗(本人在普通的一本上学)。其实这才是这篇短文的重点。希望前辈指点迷津。。不多说了明天还有笔试。

上一篇下一篇

猜你喜欢

热点阅读