cakelab
Home Projects Research Misc. Contact

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%

Holger Machens, 02-Jan-2021