
wykobi
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
Project Information
- License: GNU GPL v2
- 14 stars
- svn-based source control
Labels:
geometry
computational
cPlusPlus
3d
graphics
mathematic
physics
convex
triangulation
intersection
distance
transformation
bezier
spline
polygon