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