A collection of math utilities for 2D lines, bezier curves and arrangements made of them.
(work in progress)
Version 0.0.0
09-Oct-2019
This is a not yet finished collection of math utilities required to deal with polygons or so called arrangements consisting of 2D lines and bezier curves. It is still under heavy development and I do not suggest to use it in its current state.
Major difference to existing math libraries is a method to define the required precision of calculated results.
Feature | Progress |
---|---|
Basic Math | |
root finding for polynomials up to 4th degree | 90% |
numerical root finding algorithm based on Newton-Raphson | 100% |
Lines | |
intersection point of line and ray | 100% |
intersection point of line segments | 100% |
test if point on on line segment | 100% |
determine superposing section of two line segments | 100% |
determine graphical relationship of two line segments | 100% |
Bezier Curves | |
intersection points with line segment | 100% |
intersection points of two bezier curves | 80% |
intersection points of one bezier curve with itself | 80% |
extrema in respect to X and Y | 100% |
inflection point | 100% |
split curve at arbitrary point | 100% |
merge two adjacent curves | 100% |
Arrangements of Lines (Polygons) | |
planarise (split segments at intersections) | 97% |
identify faces and holes (even-odd and non-zero rule) | 97% |
triangulate faces | 97% |
Arrangements of Lines and Curves | |
planarise | 0% |
identify faces and holes | 0% |
triangulate faces | 0% |
separate curved outline from inner polygon | 0% |
Final Tasks | |
Source Cleanup/Refactoring | 0% |
Documentation | 0% |