ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > 动画2--抛物线和圆周运动动画

动画2--抛物线和圆周运动动画

作者:绿色风 分类: 时间:2022-08-17 浏览:361
楼主
amulee
利用Excel做动画可以做出很多效果。下面来介绍一下抛物线运动和圆周运动。

一、抛物线动画
首先,我们要知道抛物线的一般方程
  1. Y=a*(X+b)^2+c

然后我们设定三个点就能够确定抛物线方程。我们假设圆点经过三个点(0,0),(10,0),(0,5),将这些坐标带入方程,可以得到a、b、c,从而得到抛物线方程。
  1. Y = -0.2 * (X - 5) ^ 2 + 5

这样,我们只要设定X方向上的直线匀速运动,就能够得到相应的Y值,从而得到每个时刻X、Y的值。(直线运动请参考下贴:动画1:创建一个简单的加速、减速、匀速运动动画 http://www.exceltip.net/thread-8102-1-1.html

然后就是建立散点图。将A2定为X坐标,将B2定为Y坐标。
建立一个循环来不断更新,代码如下:
  1. Sub MoveThrow(V0)
  2.     [A2] = 0    'X初始坐标
  3.     [B2] = 0    'Y初始坐标
  4.     Do While [A2] <= 10     '循环--反复给X坐标和Y坐标赋值
  5.         '通过方程定义新的坐标
  6.         [A2] = [A2] + V0 * 0.01
  7.         [B2] = -0.2 * ([A2] - 5) ^ 2 + 5
  8.         t = Timer
  9.         Do While Timer - t < 0.01   '取间隔0.01秒
  10.         Loop
  11.         DoEvents
  12.     Loop
  13. End Sub

其中V0为圆点在X方向上的运动速度。
具体的动画我们来看下附件吧。是不是很酷?

动画02——炮弹发射——抛物线运动.rar


二、圆周运动
圆周运动不同于我们之前讲的直线运动和抛物线运动,因为圆的一般方程中
  1. (X-a)^2+(Y-b)^2=R^2

X坐标和Y坐标都是2次项,没有一一对应关系。如果通过解方程而得到X,Y的值就需要通过复杂的判断来得到圆点到底运行到哪里。
其实我们可以通过建立极坐标方程来解决这个问题。(如何根据极坐标方程制作散点图? http://www.exceltip.net/thread-7990-1-1.html

我们的例子中,就是建立了最简单的极坐标方程,通过角速度来控制圆点运行。
同样,将A2定为X坐标,将B2定为Y坐标。
然后设定一个角速度,通过角度的变化来得到X、Y的坐标。
  1. [A2] = Cos(i)
  2. [B2] = Sin(i)

其中i为角度
然后通过循环来得到各个时刻的坐标。这里我们用FOR循环。
  1. For i = 0 To 2 * Num * Pi Step A0
  2.     [A2] = Cos(i)
  3.     [B2] = Sin(i)
  4.     t = Timer
  5.     Do While Timer - t < 0.01
  6.     Loop
  7.     DoEvents
  8. Next

其中A0就是角速度。
Num为旋转的圈数。
看看附件吧,是不是很有趣呢?

动画03——圆周运动.rar


接下来,我会出一系列Excel的制作动画教程,敬请大家期待。
2楼
zhyou
期待着高手能提高更多的教程,关注着你哦

3楼
liuguansky
学习了,模拟运动轨迹的思路。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap