pub enum CurveFamily {
MaurerRose,
Lissajous,
Hypotrochoid,
Superformula,
Harmonograph,
}Expand description
Which parametric curve family a [curve] preset draws; unknown names are
rejected at load.
A family is a walk and a fit verdict, not a scene: each variant answers
curves::arm, and parametric_curve draws whatever that returns without
naming a family itself. n, d and phase are read with a family-specific
meaning (the attractor precedent, where a..d mean different things per
family).
Variants§
MaurerRose
The Maurer rose — sin(n * theta) walked at a fixed angular step.
Lissajous
The Lissajous figure — x = sin(n t + phase), y = sin(d t).
Hypotrochoid
The spirograph: a circle rolling inside (hypotrochoid) or outside
(epitrochoid) a fixed one, traced by a pen at pen rolling radii from
its centre. The sign of n picks which — positive rolls inside —
so one family name covers both.
Superformula
Gielis’ superformula — starfish, flowers, polygons and rounded shells
from sym, sharpness, lobe and a d that skews the lobes.
Harmonograph
The damped two-pendulum harmonograph — a Lissajous figure whose
amplitude dies away by decay along the trace, so it spirals inward
rather than closing.
Implementations§
Source§impl CurveFamily
impl CurveFamily
Sourcepub const ALL: [CurveFamily; 5]
pub const ALL: [CurveFamily; 5]
Every family, in roster order — the closed set, and the list the schema export renders rather than restating.
Trait Implementations§
Source§impl Clone for CurveFamily
impl Clone for CurveFamily
Source§fn clone(&self) -> CurveFamily
fn clone(&self) -> CurveFamily
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CurveFamily
impl Debug for CurveFamily
Source§impl PartialEq for CurveFamily
impl PartialEq for CurveFamily
Source§fn eq(&self, other: &CurveFamily) -> bool
fn eq(&self, other: &CurveFamily) -> bool
self and other values to be equal, and is used by ==.impl Copy for CurveFamily
impl Eq for CurveFamily
impl StructuralPartialEq for CurveFamily
Auto Trait Implementations§
impl Freeze for CurveFamily
impl RefUnwindSafe for CurveFamily
impl Send for CurveFamily
impl Sync for CurveFamily
impl Unpin for CurveFamily
impl UnsafeUnpin for CurveFamily
impl UnwindSafe for CurveFamily
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.