Skip to main content

Module curve2d

Module curve2d 

Source
Expand description

Curves in the plane: pcurves.

These carry a curve through a surface’s (u, v) parameter space. An edge holds one per adjacent face (docs/DATA_MODEL.md §6), and boolean face splitting happens entirely in this space: without a pcurve on each face there is nothing to split with.

A separate type hierarchy from crate::curve rather than a generic parameter, because a pcurve is used differently from a spatial curve. Distance in parameter space is not distance in space; the same parametric step covers a metre near a cylinder’s equator and nothing at all near a sphere’s pole, so a function that treats the two alike is wrong, and separate types keep that from compiling.

Structs§

BSpline2d
A B-spline in the plane, polynomial or rational.
Circle2d
A circle in the plane, parameterized by angle.
Ellipse2d
An ellipse in the plane, parameterized by eccentric angle.
Line2d
A straight line in the plane, parameterized by length.
Offset2d
A planar curve displaced a constant signed distance along its basis’s left normal (the tangent turned a quarter left), sharing the basis’s parameterization.
Trig2d
The affine-plus-trigonometric curve p(t) = c + d·t + a·cos t + b·sin t.
Trimmed2d
Another planar curve restricted to a sub-interval.

Enums§

PlanarCurve
A curve in the plane.

Functions§

tangent_angle
The angle a planar curve’s tangent makes with the u axis at t.