level 11
夏午👀
楼主
我在高中阶段学了不少啦,现在我就将知识与程序结合的算法和大家分享一下!
首先是效果图

是不是比较惊讶?
事实上,行星一直受到恒星对他的引力,为什么能做圆周运动?重力加速度是多大?如何设计脚本?这是我们要考虑的问题
这里我们普及一下概念:

其实初中学过的g就是重力的加速度。
为什么能做圆周运动?

我们将证明步骤省略,有公式g=v^2/r,其中v是行星平抛运动时的初速度(平抛运动的初速度理解为方向与行星和恒心圆心的连线延长线垂直的初速度),r是行星与恒星圆心连线的距离,也就是圆周运动的半径。
我们将行星放在距离恒星r个像素的地方,并给予特定方向的初速度,计算出g,就可以实现圆周运动了!
重力加速度是多大?

我设定小球状态如上图所示,我们利用公式g=v^2/r,计算出g=0.15625px/帧^2
设计脚本!

这两个模块是我们做运动算法的时候都要使用的,这样可实现还要初速度不变化就可以做匀速直线运动,若是初速度变化:

当圈圈碰到行星的时候,行星被引力捕获,获得重力加速度,这个重力加速度我们是事先计算出来的,
利用相似三角形

其中上面几个数据都是可以计算出来的,我们目的要将g分解为水平方向的加速度和竖直方向的加速度
解出来竖直方向的加速度=yg/到角色的距离,竖直方向的加速度=xg/到角色的距离,至此,两个脚本同时运行,最终实现圆周运动!
发张谍照:![[阴险]](/static/emoticons/u9634u9669.png)

下节课敬请期待!
2017年12月10日 01点12分
1
首先是效果图

是不是比较惊讶?事实上,行星一直受到恒星对他的引力,为什么能做圆周运动?重力加速度是多大?如何设计脚本?这是我们要考虑的问题
这里我们普及一下概念:
其实初中学过的g就是重力的加速度。为什么能做圆周运动?

我们将证明步骤省略,有公式g=v^2/r,其中v是行星平抛运动时的初速度(平抛运动的初速度理解为方向与行星和恒心圆心的连线延长线垂直的初速度),r是行星与恒星圆心连线的距离,也就是圆周运动的半径。我们将行星放在距离恒星r个像素的地方,并给予特定方向的初速度,计算出g,就可以实现圆周运动了!
重力加速度是多大?

我设定小球状态如上图所示,我们利用公式g=v^2/r,计算出g=0.15625px/帧^2设计脚本!

这两个模块是我们做运动算法的时候都要使用的,这样可实现还要初速度不变化就可以做匀速直线运动,若是初速度变化:
当圈圈碰到行星的时候,行星被引力捕获,获得重力加速度,这个重力加速度我们是事先计算出来的,利用相似三角形

其中上面几个数据都是可以计算出来的,我们目的要将g分解为水平方向的加速度和竖直方向的加速度解出来竖直方向的加速度=yg/到角色的距离,竖直方向的加速度=xg/到角色的距离,至此,两个脚本同时运行,最终实现圆周运动!
发张谍照:

下节课敬请期待!