class Body

Attributes

mass[R]
position[RW]
velocity[RW]

Public Class Methods

new(mass:, position:, velocity:) click to toggle source
# File lib/body.rb, line 5
def initialize(mass:, position:, velocity:)
  @mass = mass
  @position = position.is_a?(Vector) ? position : Vector.new(position)
  @velocity = velocity.is_a?(Vector) ? velocity : Vector.new(velocity)
end

Public Instance Methods

force_from(body) click to toggle source
# File lib/body.rb, line 11
def force_from(body)
  rvec = body.position - position
  r = rvec.norm
  rhat = rvec * (1/r)
  rhat * (Newtonian.G * mass * body.mass / r**2)
end