= -G , r = √ x + y この移動速度の数式をコード化した以下は、数式そのままです ( 最近、関数型しか書いて無いので、状態を持てる・更新できる言語に拒否反応が(-_-u… ) … // 公転対象の位置から重力影響を計算し、速度を変更後、公転対象の位置を移動 moveOnGravityEffect: function() { var r = Math.sqrt( Math.pow( this.x, 2 ) + Math.pow( this.y, 2 ) ); this.dx = this.dx - G * M * this.x / Math.pow( r, 3 ); // x方向の移動速度 this.dy = this.dy - G * M * this.y / Math.pow( r, 3 ); // y方向の移動速度 this.x = this.x + this.dx; // x位置を、x方向の移動速度で更新 this.y = this.y + this.dy; // y位置を、y方向の移動速度で更新 }, … Mx r 3 My r 3 2 2 再掲