class Point
Attributes
coordinates[R]
Public Class Methods
new(coordinates)
click to toggle source
# File lib/point.rb, line 4 def initialize(coordinates) @coordinates = coordinates end
Public Instance Methods
+(vector)
click to toggle source
# File lib/point.rb, line 12 def +(vector) if vector.dimension != dimension raise Newtonian::DimensionError end Vector.new(coordinates.zip(vector.components).map {|(vi,wi)| vi+wi }) end
-(point)
click to toggle source
# File lib/point.rb, line 20 def -(point) if point.dimension != dimension raise Newtonian::DimensionError end diffs = coordinates.zip(point.coordinates).map {|(ui,vi)| ui-vi } ::Vector.new(diffs) end
dimension()
click to toggle source
# File lib/point.rb, line 8 def dimension coordinates.length end
distance(point)
click to toggle source
# File lib/point.rb, line 29 def distance(point) if point.dimension != dimension raise Newtonian::DimensionError end (self - point).norm end