友情提示:视频教程观看时请手动设置清晰度。
Scratch融合卡通、动画、音效等多媒体的运用和直观拖拽式的编程方式,生动有趣,可以编写各种类型程序,游戏、动画、互动美术、实物模拟、数学模拟等,想象无限。同时蕴含丰富知识,体现现代编程思想,涵盖程序设计、数学、物理、语言、艺术各领域;经过系统学习,编程班的孩子的逻辑思维能力将远远超过一般的同年龄孩子。事实上,Scratch是种“一朝学会,受益终生”的课程。
现在我就将物理只是与程序编程结合起来的scratch算法作品发出来和大家分享一下!
首先是效果图:
是不是比较惊讶?
事实上,行星一直受到恒星对他的引力,为什么能做圆周运动?重力加速度是多大?如何设计脚本?这是我们要考虑的问题
这里我们普及一下概念:
其实初中学过的g就是重力的加速度。
为什么能做圆周运动?
我们将证明步骤省略,有公式g=v^2/r,其中v是行星平抛运动时的初速度(平抛运动的初速度理解为方向与行星和恒心圆心的连线延长线垂直的初速度),r是行星与恒星圆心连线的距离,也就是圆周运动的半径。
我们将行星放在距离恒星r个像素的地方,并给予特定方向的初速度,计算出g,就可以实现圆周运动了!
重力加速度是多大?
我设定小球状态如上图所示,我们利用公式g=v^2/r,计算出g=0.15625px/帧^2
设计脚本!
这两个模块是我们做运动算法的时候都要使用的,这样可实现还要初速度不变化就可以做匀速直线运动,若是初速度变化:
当圈圈碰到行星的时候,行星被引力捕获,获得重力加速度,这个重力加速度我们是事先计算出来的,
利用相似三角形
其中上面几个数据都是可以计算出来的,我们目的要将g分解为水平方向的加速度和竖直方向的加速度
解出来竖直方向的加速度=yg/到角色的距离,竖直方向的加速度=xg/到角色的距离,至此,两个脚本同时运行,最终实现圆周运动!
始发于微信公众号:
临汾南城教辅中心