musicality.scad

arc-vertices

(arc-vertices r1 r2 arc-length center-theta segs)
returns a vec of [[x y] ...] consisting of vertices of an arc

hub-gap-radius

hub-height

(hub-height sphere-radius)

hub-inner

(hub-inner & {:keys [clockface-thickness sphere-radius hub-radius spacer-ring-thickness]})

hub-outer

(hub-outer & {:keys [clockface-thickness sphere-radius hub-radius spacer-ring-thickness]})

output

(output scad-data)

pc-cf-digits

(pc-cf-digits & {:keys [font-thickness font-size radius]})

pc-clockface

(pc-clockface & {:keys [border clockface-thickness pitch-class-font-thickness pitch-class-radius pitch-class-font-size sphere-radius]})

pc-mask

(pc-mask & {:keys [border clockface-thickness pitch-classes pitch-class-font-thickness pitch-class-radius pitch-class-font-size scale-degree-font-size scale-degree-radius sphere-radius]})

pitch-class

(pitch-class pc & {:keys [h size]})
extrudes the character for a pitch-class

pitch-class-order

ring-of-spheres

(ring-of-spheres r r-sphere & {:keys [no-rotate?]})
returns 12 spheres of radius r-sphere arranged in a ring of radius r. no-rotate? specifies whether to rotate each sphere such that its pole is aligned with the ring's center

sphere-gap-radius

translate-on-clockface

(translate-on-clockface r n obj)
translates an object to a position at n-o'clock at radius r