math2d
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
program source
github
About
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.
Features and Development Progress
| 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% |
|