Skip to content

thegengen/ruby-geometry

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Geometry in Ruby
================

Implementation of basic 2D geometry algorithms in Ruby.


Defined geometry objects
========================

  * Point

  * Segment

  * Vector

  * Polygon

  * Line


Already implemented algorithms
==============================

  * Do segments overlap? { Segments#overlaps? }

  * Do segments lie on one line? { Segment#lies_on_one_line_with? }

  * Do segments intersect? { Segment#intersects_with? }

  * Segments intersection point { Segment#intersection_point_with }

  * Does segment contain given point?  { Segment#contains_point? }

  * Are segments parallel? { Segment#parallel_to? }

  * Are vectors collinear? { Vector#collinear_with? }

  * Vectors cross product (outer product, vector product) { Vector#cross_product }

  * Vectors scalar product (inner product, dot product) { Vector#scalar_product }

  * Segment length { Segment#length }

  * Vector modulus { Vector#modulus }

  * Trivial vector arithmetics: summation, subtraction, vector-number multiplication { Vector#+(vector); Vector#-(vector); Vector#*(numeric) }

  * Euclid distance { Geometry#distance }

  * Line slope { Line#slope }

  * Y-intercept of a line { Line#y_intercept }

  * X-intercept of a line { Line#x_intercept }

  * Are lines parallel? { Line#parallel_to? }

  * What x-value do lines intersect at? { Line#intersect_x }

  * What is the angle between two lines? { Line#angle_to }

  * Rectangular bounds of polygon { Polygon#bounding_box }   
  
  * Does polygon contain a given point? { Polygon#contains? }


Coming up
=========

  * Is polygon self-intersecting?

  * Area of polygon

  * Is polygon convex?  

  * Do polygons intersect?

  * Does circle contain given point?

  * Do circles intersect?

  * Area of circle
  

Copyright (c) 2008 Daniel Vartanov, released under the MIT license

About

Simple geometry classes and algorithms in Ruby

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Ruby 100.0%