Bézier (pronounced bez-E-ey) curves are super cool and commonly used in animation!
Here is an excellent video on them.
This module borrows a lot of code from Elm Geometry, but is much more focused on animation needs for Elm Animator.
A very common Bézier curve that goes from (0,0) to (1,1) with control points at (0.4,0) and (0.2,1).
This is the standard transition curve for a lot of animation systems.
Note This only approximates a Catmull-Rom spline, it won't successsfully round trip with toCatmullRom because the control points are lost.
Given a spline and a proportion, return the point on the spline at that proportion.
Trace out a curve by sampling it at regular intervals.
Return a list of splines that approximates the curve.
Split a spline at a particular parameter value, resulting in two smaller splines.
Note, this is not the intuitive version you're thinking of.
The math here comes the fromEndpoints constructor in elm-geometry
https://github.com/ianmackenzie/elm-geometry/blob/3.9.0/src/CubicSpline2d.elm#L174
Render a spline to a string that can be used in SVG
e.g. (M100,250 C100,100 400,100 400,250)
This uses absolute coordinates.