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.
General FeaturesPairwise 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 agains - 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 AlgorithmsConvex Hull - Graham scan, Jarvis march, Melkman Minimum Bounding Ball - Randomized, Ritter and naive Polygon Clipping - Sutherland Hodgman, Polygon re-ording 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 CentersAnticevian 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 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...
Compatible C++ CompilersGCC 4.0+ Intel C++ Compiler 9.0+ Microsoft Visual C++ 8.0+ Comeau C/C++ 4.1+ For more information please visit: http://www.wykobi.com [Less]
The General Hash Function Algorithm library contains implementations for a series of commonly used additive and rotative string hashing algorithm in the Object Pascal, C and C++, Java, Python and Ruby programming languages
For more information please visit:
Schifra is a very robust, highly optimized and extremely configurable Reed-Solomon error correcting code library for both software and IP core based applications with implementations in C++ and VHDL.
Schifra supports standard, shortened and punctured Reed-Solomon codes. It also has support for
... [More] stacked product codes and interleaving.
* Errors and Erasures
* Supported Symbol Sizes - 2 to 32 bits
* Variable Code Block Length
* User defined primitive polynomial and finite field
* Accurate and Validated Reed-Solomon Codecs - Complete combinatorial errors and erasures unit testing [Less]
C++ Bloom Filter Library, with the following capabilities:
1. Optimal parameter selection based on expected false positive rate.
2. Union, intersection and difference operations between bloom filters.
3. Compression of in-use table (increase in false positive probability vs space)
... [More] 4. Portable and efficient source code implementation.
* GCC 4.0+
* Intel C++ Compiler 9.0+
* Microsoft Visual C++ 8.0+
* Comeau C/C++ 4.1+
For more information please visit: http://www.partow.net/programming/hashfunctions/index.html [Less]
The C++ String Toolkit (StrTk) Library is a free library that consists of robust, optimized and portable generic string processing algorithms and procedures for the C++ language. The library is designed to be easy to use and integrate within existing code.
The library capabilities:
... [More] string tokenizer and token iterators
User specified delimiter and splitter policies (simple and regex based etc.)
Conversions between data and hex and base-64
In-place removal and replace routines Wild-card matching and globing
Fast 2D token grid processing Extensible string processing templates and plenty more.
Compatible C++ Compilers:
Intel C++ Compiler 9.0+
Microsoft Visual C++ 8.0+
Comeau C/C++ 4.1+