• Stars
    star
    157
  • Rank 230,059 (Top 5 %)
  • Language
    C++
  • License
    Other
  • Created over 13 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Wykobi C++ Computational Geometry Library https://www.wykobi.com

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...

More Repositories

1

exprtk

C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html
C++
574
star
2

bitmap

C++ Bitmap Library https://www.partow.net/programming/bitmap/index.html
C++
158
star
3

proxy

C++ TCP Proxy Server https://www.partow.net/programming/tcpproxy/index.html
C++
141
star
4

strtk

C++ String Toolkit Library https://www.partow.net/programming/strtk/index.html
C++
128
star
5

bloom

C++ Bloom Filter Library https://www.partow.net/programming/bloomfilter/index.html
C++
128
star
6

math-parser-benchmark-project

C++ Mathematical Expression Parser Benchmark
C++
121
star
7

schifra

C++ Reed Solomon Error Correcting Library https://www.schifra.com
C++
46
star
8

lexertk

C++ Lexer Toolkit Library (LexerTk) https://www.partow.net/programming/lexertk/index.html
C++
28
star
9

hash

General Purpose Hash Function Algorithms https://www.partow.net/programming/hashfunctions/index.html
C++
18
star
10

exprtk-extras

C++ Mathematical Expression Library Extra Examples https://www.partow.net/programming/exprtk/index.html
C++
13
star
11

galois

C++ Galois Finite Field Arithmetic Library https://www.partow.net/projects/galois/index.html
C++
8
star
12

fastgeo

FastGEO Computational Geometry Library https://www.partow.net/projects/fastgeo/index.html
Pascal
6
star
13

tcpproxy-variations

C++ TCP Proxy Server Variations
C++
5
star
14

exprtk-custom-types

Exprtk Custom Numeric Types
C++
2
star
15

filter

C++ CSV and DSV Filter Library https://www.partow.net/programming/dsvfilter/index.html
C++
2
star
16

sumtk

C++ Summation Toolkit (SumTk) http://www.partow.net/programming/sumtk/index.html
C++
1
star
17

exprtk-perftest

C++
1
star
18

nanocalc

nanocalc lightweight scientific calculator
C++
1
star
19

registry

Win32 Registry Activity Monitor https://www.partow.net/programming/registrymonitor/index.html
Pascal
1
star