Registered by Arash Partow

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.

http://www.wykobi.com/

The Wykobi C++ Computational Geometry library has the following capabilities:

* 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 against - 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 reordering
*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 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...

Project information

Maintainer:
Arash Partow
Driver:
Arash Partow
Licence:
GNU GPL v2

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Git
Programming languages:
C++

Get Involved

  • warning
    Report a bug
  • warning
    Ask a question
  • warning
    Help translate

Downloads

Wykobi does not have any download files registered with Launchpad.