Wykobi Computational Geometry Library

repository·master·Indexed 41 days ago

https://github.com/arashpartow/wykobi

A multi-platform C++ library for 2D and 3D computational geometry. It provides primitives, intersection tests, and algorithms including convex hulls (Graham scan, Jarvis march, Melkman), bounding volumes, polygon clipping and triangulation, and statistical geometry tools like covariance matrices and eigenvalues.

Tokens
504
Snippets
0
Records
3
Agent score
2%

What's inside Wykobi

  1. Overview of Wykobi computational geometry library

    master
    Wykobi is a multi-platform 2D/3D computational geometry library implemented in C++. It provides a concise, predictable, and deterministic interface for geometric primitives and complex geometric routines. It is designed for easy integration into projects of any scale requiring robust and efficient geometric back-ends.
  2. Check compiler compatibility for Wykobi

    master

    Wykobi supports a wide range of C++ compilers across different platforms. Ensure your environment uses one of the following compatible 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+)
  3. Explore Wykobi features and algorithms

    master

    Wykobi includes an extensive set of geometric operations and algorithms. Key capabilities include:

    Geometric Operations

    • Intersections: Pairwise intersections in 2D/3D for Rays, Segments, Lines, Planes, Triangles, Quadrics, Circles, Spheres, Rectangles, Boxes, Polygons, and Bezier curves.
    • Point Tests: Inclusion tests for Triangles, Rectangles, Circles, Quadrics, Spheres, and Convex/Concave Polygons.
    • Closest Points: Finding the closest point on Segments, Lines, Triangles, Quadrics, Circles, Spheres, and AABBs.
    • Transformations: Mirroring (reflection) about axes or planes, 2D/3D vector math (addition, subtraction, normalization, dot/cross products), and transformations (rotation, translation, scaling, shear).
    • Distance & Minkowski: Euclidean, Ley, Manhattan, Chebyshev, and inverse Chebyshev distances; Minkowski pairwise sums and differences.
    • Curves: Quadratic and Cubic Bezier curve creation and length calculation.

    Core Algorithms

    • Convex Hull: Graham scan, Jarvis march, Melkman.
    • Bounding Volumes: Minimum Bounding Ball (Randomized, Ritter, and naive).
    • Polygon Processing: Clipping (Sutherland Hodgman) and Triangulation (Ear Clipping for simple polygons).
    • Statistical Geometry: Isotropic normalization, Covariance matrix, Eigenvalues, and Eigenvectors.