class Vector

extend standard library vector class

Public Instance Methods

cross_product_(v_) click to toggle source

define cross product

# File lib/physics_calculator.rb, line 19
def cross_product_(v_)
  raise ArgumentError, 'Vectors must be 3D' if (self.size != 3 || v_.size != 3)
  Vector.[](self[1]*v_[2] - self[2]*v_[1], self[2]*v_[0] - self[0]*v_[2], self[0]*v_[1] - self[1]*v_[0])
end
distance(v_) click to toggle source

define distance between two vectors

# File lib/physics_calculator.rb, line 25
def distance(v_)
  (self - v_).r
end
dot_product(v_) click to toggle source

dot_product as alias for inner product

# File lib/physics_calculator.rb, line 14
def dot_product(v_)
  self.inner_product(v_)
end
unit_(v_) click to toggle source

define unit vector pointing from v to self

# File lib/physics_calculator.rb, line 30
def unit_(v_)
  (self - v_).normalize
end