Skip to main content

maurer_rose

Function maurer_rose 

Source
pub fn maurer_rose(p: RoseParams, out: &mut Vec<SegmentInstance>)
Expand description

Sample a Maurer rose into out (cleared first).

A Maurer rose walks samples points at a fixed angular step d degrees, with radius r = sin(n * theta + phase) + radial_offset; connecting the successive chords is what draws the characteristic web. With phase and radial_offset both at 0.0 the formula reduces to the plain sin(n * theta) rose (a no-op — the property that kept the golden fixture unchanged when they were added).

Allocation-free: the caller preallocates out with capacity >= samples, and this pushes at most samples segments (never exceeding that capacity), so no reallocation occurs on the hot path.