Module: Geometry

Defined in:
lib/geometry.rb,
lib/geometry/arc.rb,
lib/geometry/edge.rb,
lib/geometry/line.rb,
lib/geometry/path.rb,
lib/geometry/size.rb,
lib/geometry/point.rb,
lib/geometry/bezier.rb,
lib/geometry/circle.rb,
lib/geometry/square.rb,
lib/geometry/annulus.rb,
lib/geometry/obround.rb,
lib/geometry/polygon.rb,
lib/geometry/polyline.rb,
lib/geometry/rotation.rb,
lib/geometry/size_one.rb,
lib/geometry/triangle.rb,
lib/geometry/point_iso.rb,
lib/geometry/point_one.rb,
lib/geometry/rectangle.rb,
lib/geometry/size_zero.rb,
lib/geometry/point_zero.rb,
lib/geometry/transformation.rb,
lib/geometry/regular_polygon.rb,
lib/geometry/transformation/composition.rb

Defined Under Namespace

Modules: SlopedLine Classes: Annulus, Arc, Bezier, CenterDiameterCircle, CenteredObround, CenteredRectangle, CenteredSquare, Circle, Edge, EquilateralTriangle, IsoscelesTriangle, Line, Obround, Path, Point, PointIso, PointOne, PointSlopeLine, PointZero, Polygon, Polyline, Rectangle, RegularPolygon, RightTriangle, Rotation, RotationAngle, ScaleneTriangle, Size, SizeOne, SizeZero, SizedObround, SizedRectangle, SizedSquare, SlopeInterceptLine, Square, ThreePointArc, Transformation, Triangle, TwoPointLine, VertexRing

Constant Summary collapse

DimensionMismatch =
Class.new(StandardError)
OperationNotDefined =
Class.new(StandardError)
NotSquareError =
Class.new(ArgumentError)
Ring =

Ring is an alias of Annulus because that’s the word that most people use,

despite the proclivities of mathmeticians.
Annulus

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.translation(*args) ⇒ Object



194
195
196
197
# File 'lib/geometry/transformation.rb', line 194

def self.translation(*args)
	args = *args if args[0].is_a? Array
	Transformation.new translate:args
end

Instance Method Details

#Edge(first, last) ⇒ Object

Convenience initializer for Edge that tries to coerce its arguments into

something useful

Parameters:

  • first (Point, Array)

    the starting point of the Edge

  • last (Point, Array)

    the endpoint of the Edge



170
171
172
# File 'lib/geometry/edge.rb', line 170

def Edge(first, last)
	Edge.new(first, last)
end