wykobi


Wykobi is an extremly efficient, robust and simple to use C++ 2D/3D oriented computational geometry library.

Wykobi is an efficient, robust and simple to use multi-platform 2D/3D computational geometry library. Wykobi provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines using and conforming to the ISO/IEC 14882:2003 C++ language specification.

The design and structure of Wykobi lends itself to easy and seamless integration into projects of any scale that require a robust yet efficient 2D/3D computational geometry back-end.

site: http:/www.wykobi.com

General Features

  • Pairwise intersections in 2D/3D between - Rays, Segments, Lines, Planes, Triangles, Quadii, Circles, Spheres, Rectangles, Boxes, Polygons, Cubic and Quadratic beziers
  • Point inclusion test - Triangle, Rectangle, Circle, Quadix, Sphere and Convex\Concave Polygon region, In Circle and In Sphere
  • Closest point from a point on - Segment, Line, Triangle, Quadix, Circle, Sphere and AABB
  • Closest point on a circle/sphere from a 2D/3D segment or line
  • Mirroring 2D/3D (reflection) about an axis or plane - Point, Segment, Line, Triangle, Quadix, circle, Sphere, Polygon
  • Nonsymmetric mirroring 2D/3D (reflection) about an axis or plane - Point, Segment, Line, Triangle, Quadix, Circle, Sphere, Polygon
  • Euclidean, Ley, Manhattan, Chebyshev and inverse Chebyshev pairwise distance - Rays, Segments, Lines, Planes, Triangles, Quadii, Circles, Spheres, Rectangles, Boxes, Cubic and Quadratic beziers
  • Minkowski pairwise sum and differences between - Rays, Segments, Triangles, Quadii, Circles, Spheres, Rectangles, Boxes and Polygons
  • Clipping of segments agains - Rectangles, Triangles, Quadii, Boxes and Circles
  • Area Calculation - Triangle, Quadix, Rectangle, Circle and Polygon
  • Perimeter Calculation - Triangle, Quadix, Rectangle, Circle and Polygon
  • Generate random points within - AABB, Triangle, Quadix, Circle, Pentagon, Hexagon, Heptagon and Octagon
  • Projection along linear path - Point, Segment, Triangle, Quadix, Circle, Sphere and Polygon
  • Axis aligned bounding boxes - Segments, Triangles, Quadii, Circles, Sphere and polygons
  • Centering of 2D geometric primitives at a specified location
  • 2D/3D Vector addition, subtraction, normalization, magnitude, dot product, cross product calculation
  • 2D/3D Rotations, fast rotations, translations, scaling and shear
  • Point of reflection
  • Quadratic and Cubic Bezier curve creation (2D/3D)
  • Quadratic and Cubic Bezier curve length calculation
  • Polygon approximation of supported geometrical objects
  • Conversions between Cartesian and Barycentric coordiante systems
  • Orientation, Collinear, Coplanar Perpendicular and Parallel primitives
  • Vertex and relative Cartesian angle calculation

Algorithms

  • Convex Hull - Graham scan, Jarvis march, Melkman
  • Minimum Bounding Ball - Randomized, Ritter and naive
  • Polygon Clipping - Sutherland Hodgman, Polygon re-ording
  • Polygon Triangulation - Ear Clipping Algorithm For Simple Polygons
  • Statistical - Isotropic normalization, Covariance matrix, Eigen values and vectors
  • Group Intersections - Naive pairwise intersections

Special triangles, Circles and Centers

  • Anticevian triangle
  • Anticomplementary triangle
  • Antipedal triangle
  • Antipodal points
  • Cevian triangle
  • Circle tangent points
  • Circum-center
  • Circum-circle
  • Confined triangle median
  • Contact triangle
  • Cyclocevian conjugate
  • Equilateral triangle
  • Euler Line
  • Excentral triangle
  • Exmedian point
  • External triangle bisector
  • Extouch triangle
  • Feuerbach point and triangle
  • Incentral triangle
  • Incenter
  • Inscribed circle
  • Inner and outer napoleon triangles
  • Inner and outer vecten vecten triangles
  • Inverse Point
  • Inverse Circle and Sphere
  • Isogonal conjugate
  • Isosceles triangle
  • Medial triangle
  • Morley triangle
  • Orthocenter
  • Orthic triangle
  • Pedal trianglepoint
  • Perspectrix between 2D/3D triangles
  • Symmedial triangle
  • Symmedian point
  • Torricelli point
  • Triangle median
  • Triangle symmedian

and plenty more...

Compatible C++ Compilers

  • GCC 4.0+
  • Intel C++ Compiler 9.0+
  • Microsoft Visual C++ 8.0+
  • Comeau C/C++ 4.1+

For more information please visit: http://www.wykobi.com