- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.6 飞机投弹 5.4
1. 添加变量isStart ,用于判断开始还是暂停计时
isStart=false
2. 添加变量dt ,表示时间间隔
dt=0.02
3. 添加变量t ,表示时间
t=0
4. 添加滑动条speed ,1 ∼ 10,增量为1 ,控制动画速度
5. 添加滑动条N ,1 ∼ 1 ,增量1 ,计时用,速度用滑动条speed 控制
dt
SetValue(t,t+dt)
6. 添加《on/off》按钮,用于控制开始或暂停,添加脚本
SetValue(isStart,!isStart)
StartAnimation(N,isStart)
SetCaption(button1,if(isStart,off,on))
7. 添加《reset》按钮,用于重置。添加脚本
SetValue(isStart,false)
StartAnimation(N,isStart)
SetCaption(button1,on)
SetValue(t,0)
8. 添加变量h ,表示高度
h=10
9. 添加滑动条theta ,0° ∼45° 表示地面的倾角
theta=0°
10. 添加射线,表示地面
ray((0,0),(1;theta))
11. 添加变量dt1 ,表示投弹间隔
dt1=0.3
12. 添加变量h0 ,表示投弹时间间隔内地面上升的高度
h0=v0 dt1 tan(theta)
13. 添加变量g ,表示重力加速度
g=10
第48 页,共93 页 2.
14. 添加变量v0 ,表示飞机速度
v0=5
15. 添加点A ,表示飞机
A=(v0 t,h)
16. 添加列表,表示飞机形状
{ellipse(A+(-sqrt(0.4^2-0.2^2),0),A+(sqrt(0.4^2-0.2^2),0),0.4),
polyline(A+(-0.4,0),A+(-0.6,0),A+(-0.8,0.2))}
1 2
h −ih0 − gt
17. 添加列表lsttm ,表示落地时间,因为地面倾斜时的时间不同。公式 2 = tan θ
v t
0
lsttm=sequence((-v0tan(theta) +sqrt((v0 tan(theta))^2-2g(i h0-h)))/g,i,1,floor(t/ dt1))
18. 添加序列,表示炸弹
Sequence((v0i dt1 + v0 If(t - i dt1 lsttm(i), t - i dt1, lsttm(i)),
h - 0.5g If(t - i dt1 lsttm(i), t - i dt1, lsttm(i))^2),i, 1, floor(t / dt1))
19. 添加序列,表示轨迹
Sequence(Curve(v0i dt1 + v0 j, h - 0.5g j^2, j, 0, If(t - i dt1 lsttm(i),
t - i dt1, lsttm(i))), i, 1, floor(t / dt1))
/
20. 添加复选框,显示隐藏轨迹
21. 添加变量xm ,表示斜面与飞行线的交点水平坐标
xm=if(theta!=0°,h/tan(theta))
22. N 中添加脚本,防止飞机与斜面碰撞
if(theta!=0° v0 t=xm-1,Ex
文档评论(0)