All Projects → ArashPartow → Wykobi

ArashPartow / Wykobi

Licence: other
Wykobi C++ Computational Geometry Library

Projects that are alternatives of or similar to Wykobi

Qhull
Qhull development for www.qhull.org -- Qhull 8.0.2 (2020.2 candidate) at https://github.com/qhull/qhull/wiki
Stars: ✭ 400 (+247.83%)
Mutual labels:  computational-geometry
Flatbush
A very fast static spatial index for 2D points and rectangles in JavaScript
Stars: ✭ 1,031 (+796.52%)
Mutual labels:  computational-geometry
Hgeometry
HGeometry
Stars: ✭ 98 (-14.78%)
Mutual labels:  computational-geometry
Kdbush
A fast static index for 2D points
Stars: ✭ 412 (+258.26%)
Mutual labels:  computational-geometry
Polysnap
A work in progress polygon operations library with integer snap-rounding
Stars: ✭ 14 (-87.83%)
Mutual labels:  computational-geometry
Visibility
Simple sweep line visibility polygon algorithm implementation
Stars: ✭ 62 (-46.09%)
Mutual labels:  computational-geometry
Wordsandbuttons
A growing collection of interactive tutorials, demos, and quizzes about maths, algorithms, and programming.
Stars: ✭ 328 (+185.22%)
Mutual labels:  computational-geometry
Delaunator
An incredibly fast JavaScript library for Delaunay triangulation of 2D points
Stars: ✭ 1,641 (+1326.96%)
Mutual labels:  computational-geometry
Polytri
🔺 Fast and simple polygon triangulation library.
Stars: ✭ 37 (-67.83%)
Mutual labels:  computational-geometry
Supercluster
A very fast geospatial point clustering library for browsers and Node.
Stars: ✭ 1,246 (+983.48%)
Mutual labels:  computational-geometry
Turf
A modular geospatial engine written in JavaScript
Stars: ✭ 6,659 (+5690.43%)
Mutual labels:  computational-geometry
Pympc
Stars: ✭ 26 (-77.39%)
Mutual labels:  computational-geometry
Bru 9
Aesthetic Engine 2
Stars: ✭ 74 (-35.65%)
Mutual labels:  computational-geometry
Hmm
Heightmap meshing utility.
Stars: ✭ 403 (+250.43%)
Mutual labels:  computational-geometry
Earcut
The fastest and smallest JavaScript polygon triangulation library for your WebGL apps
Stars: ✭ 1,359 (+1081.74%)
Mutual labels:  computational-geometry
Martinez
Martinez-Rueda polygon clipping algorithm, does boolean operation on polygons (multipolygons, polygons with holes etc): intersection, union, difference, xor
Stars: ✭ 391 (+240%)
Mutual labels:  computational-geometry
Euclid
Exact Computation Geometry Framework Based on 'CGAL'
Stars: ✭ 52 (-54.78%)
Mutual labels:  computational-geometry
Lazysets.jl
A Julia package for calculus with convex sets
Stars: ✭ 107 (-6.96%)
Mutual labels:  computational-geometry
Melt
Automatic conservative mesh occluder generation by box filling
Stars: ✭ 105 (-8.7%)
Mutual labels:  computational-geometry
Simplification
Very fast LineString simplification using RDP or Visvalingam-Whyatt and a Rust binary
Stars: ✭ 78 (-32.17%)
Mutual labels:  computational-geometry

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...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].