由于整个程序都在调用Ball来形成图像,所以Ball是构成整个图像最重要的部分,接下来我把代码拆开成几个部分讲解:
ClassBall
首先来讨论Ball是如何定义的,就如往常我们所常见的粒子类,Ball拥有位置速度半径等基本属性,具备显示,运动,连线等方法。
这里主要要进行解释的是move函数和lineBetween函数
voidmove(){
sin/cos
这里move中的函数之所以要在位置计算后半部分增加三角函数计算,是为了让各个球体围绕着一点进行圆周运动,你可以观察其中一个球体,它的路径是一个圆形。如果去除后半部分的三角函数,将会让全部的点停止运动。
theta
theta是一个在增长的变量,这个变量决定了点圆周运动的速率,调大增长量后,点的运动速率会变快。