Closed Michael-F-Bryan closed 4 years ago
To get the ball rolling, I really like the way euclid
attaches a tag to prevent accidentally mixing up coordinate spaces.
At the moment we kinda do this by using kurbo::Point
for Canvas Space (things drawn on a canvas) and Drawing Space (the coordinate space for all things in the "drawing").
Some other benefits are:
ndarray::ArrayBase
Angle
s and the associated modular arithmetic annoyancesI mean the description of euclid
sounds like a perfect fit:
A collection of strongly typed math tools for computer graphics with an inclination towards 2d graphics and layout.
Out of all the crates named it's the only one I haven't used before, but sure looks really promising!
I've already started a branch switching over to euclid
locally and so far it looks quite promising... I just need to finish resolving the hundreds of compile errors then look over to make sure I haven't subtly broken anything.
At the moment we're reimplementing a lot of basic geometry math with
Vector
andBoundingBox
. Is it worth reusing primitive types from an existing geometry library?