You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/vendor/bundle/ruby/4.0.0/gems/geom2d-0.4.1
Wabo 5282ea43fe
Apply WaboSign rebrand sweep to upstream 3.0.1
4 weeks ago
..
lib Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
test Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
CHANGELOG.md Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
CONTRIBUTERS Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
LICENSE Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
README.md Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
Rakefile Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago
VERSION Apply WaboSign rebrand sweep to upstream 3.0.1 4 weeks ago

README.md

Geom2D - Objects and Algorithms for 2D Geometry in Ruby

This library implements objects for 2D geometry, like points, lines, line segments, arcs, curves and so on, as well as algorithms for these objects, like line-line intersections and arc approximation by Bézier curves.

License

Copyright (C) 2018-2023 Thomas Leitner t_leitner@gmx.at, licensed under the MIT - see the LICENSE file.

Features

  • Objects
    • Point
    • Segment
    • Polygon
    • PolygonSet
    • Rectangle
    • Polyline (TODO)
    • Rectangle (TODO)
    • QuadraticCurve (TODO)
    • QubicCurve (TODO)
    • Arc (TODO)
    • Circle (TODO)
    • Path (TODO)
  • Algorithms
    • Segment-Segment Intersection
    • Boolean Operations on PolygonSets

Usage

require 'geom2d'

# Point, can also be interpreted as vector
point1 = Geom2D::Point(2, 2)
point2 = Geom2D::Point([2, 2])   # arrays are fine but not as efficient
point3 = Geom2D::Point(point2)   # copy constructor

# Segment defined by two points or a point and a vector
line1 = Geom2D::Segment(point1, point2)
line2 = Geom2D::Segment(point1, vector: point2)
line3 = Geom2D::Segment([3, 4], [9, 6])   # arrays are also possible

# Segment intersection
line1.intersect(line3)  # => intersection_point