class GeometricVector
Public Class Methods
new_by_array(array)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 3 def self.new_by_array(array) self.new(array[0], array[1]) end
Public Instance Methods
*(scalar)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 19 def *(scalar) GeometricVector.new(x * scalar, y * scalar) end
+(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 11 def +(vector) GeometricVector.new(x + vector.x, y + vector.y) end
-(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 15 def -(vector) self + (-1) * vector end
==(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 7 def ==(vector) x === vector.x && y === vector.y end
coerce(scalar)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 23 def coerce(scalar) if scalar.is_a?(Numeric) [self, scalar] else raise ArgumentError, "GeometricVector: cannot coerce #{scalar.inspect}" end end
collinear_with?(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 39 def collinear_with?(vector) cross_product(vector) === 0 end
cross_product(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 31 def cross_product(vector) x * vector.y - y * vector.x end
modulus()
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 43 def modulus Math.hypot(x ,y) end
scalar_product(vector)
click to toggle source
# File lib/flash_math/modules/geometry/geometric_vector.rb, line 35 def scalar_product(vector) x * vector.x + y * vector.y end