class Silicium::Geometry::Rectangle
TODO: Add a description
Public Class Methods
new(p1, p2, p3, p4)
click to toggle source
# File lib/geometry/figure.rb, line 38 def initialize(p1, p2, p3, p4) raise ArgumentError, 'This is not a rectangle.' unless valid?(p1, p2, p3, p4) @side1 = distance_point_to_point2d(p1, p2) @side2 = distance_point_to_point2d(p2, p3) @side3 = distance_point_to_point2d(p3, p4) @side4 = distance_point_to_point2d(p4, p1) end
Public Instance Methods
area()
click to toggle source
# File lib/geometry/figure.rb, line 57 def area @side1 * @side2 end
perimeter()
click to toggle source
# File lib/geometry/figure.rb, line 53 def perimeter @side1 + @side2 + @side3 + @side4 end
valid?(p1, p2, p3, p4)
click to toggle source
Checks if input points form rectangle
# File lib/geometry/figure.rb, line 49 def valid?(p1, p2, p3, p4) distance_point_to_point2d(p1, p3) == distance_point_to_point2d(p2, p4) end