Wykobi C++ Computational Geometry Library
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Makefile Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
readme.md Wykobi C++ Computational Geometry Library http://www.wykobi.com/ Jan 1, 2017
release-notes.txt Wykobi C++ Computational Geometry Library http://www.wykobi.com/ Dec 7, 2010
wykobi.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_algorithm.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_axis_projection_descriptor.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_build.cpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_clipping.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_duplicates.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_earclipping.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_graphics_net.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_graphics_opengl.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_graphics_vcl.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_gui.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_hull.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_instantiate.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_license.txt Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_math.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_matrix.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_matrix.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_minimum_bounding_ball.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_naive_group_intersections.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_nd.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_nd.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_normalization.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_ordered_polygon.inl Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018
wykobi_utilities.hpp Wykobi C++ Computational Geometry Library http://www.wykobi.com Dec 31, 2018

readme.md

Description

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 implemented in C++.

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.

Compatible C++ Compilers

  • GNU Compiler Collection (3.1+)
  • Intel® C++ Compiler (8.x+)
  • Clang/LLVM (1.1+)
  • PGI C++ (10.x+)
  • Microsoft Visual Studio C++ Compiler (7.1+)
  • IBM XL C/C++ (9.x+)
  • C++ Builder (XE4+)

Download

http://www.wykobi.com

Documentation And Tutorial

http://www.wykobi.com/tutorial.html

License

The Wykobi computational geometry library and all its components are supplied under the terms of the MIT License. The contents of the Wykobi library and its components may not be copied or disclosed except in accordance with the terms of the MIT License.

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 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
  • Trilateration
  • Triangle median
  • Triangle symmedian
  • and plenty more...