001
0 balls 0.00 avg vel 0.00 avg dist 0 overlaps Ready

Faceted Forms

Lexicon & Nomenclature

Every form begins as a circle. Three geometric modifications produce distinct primitive types.

When two same-color circles come within gap range (0.65× minR), a connection is computed. Two types exist, chosen per pair at generation time (~70% rod bar probability).

Fillet Neck Anatomy

Four arcs: two outer arcs (back of each circle) and two concave fillet arcs (the bridge). The fillet circle radius determines neck thickness: Rf = max(Ra×0.55, gap×0.5 + (Ra+Rb)×0.22).

Rod Bar Anatomy

Common external tangent lines touch both circles simultaneously. φ = lineAng ± acos((Rb−Ra)/dist). Contact point = center − R×(cosφ, sinφ). Min bar width enforced at 55% of smaller radius.

TermDefinition
AttractForce pulling each shape toward canvas center. Controls composition tightness.
RepelInter-circle push force within 2× touching distance. Velocity-level separation.
DampenVelocity multiplier per frame (0.7–0.98). Lower = more friction.
Same-color attractAdditional pull between circles sharing a color. Creates clusters that form blobs and rods.
Positional correction6 iterations per frame of direct position pushing. Resolves all circle-circle overlap. Mass-weighted.
KEKinetic energy = Σ(v²×mass). Bake stops when KE < 0.12.
BakeRun physics until rest. Auto-triggers on Generate. Same-color shapes cluster and form connections.
FormatDescription
Solid SVGFlat-fill vector. Per-shape <clipPath> contains fills. Washer holes as <mask> knockouts. Rod bars as polygon fills.
Plotter SVGStroke-only for AxiDraw. One Inkscape layer per color. Arc segments clipped by occlusion testing. Rod bars as two tangent stroke lines.
PNG Proof2× raster with seed/date metadata strip.
Ray SVGBlack background. Shape silhouettes punched as voids. Spiral fills radiate outward from each shape center.
ParamTypeDescription
RpxCircle radius.
cx, cypxCircle center.
colorhexFrom the Grabie 36-pack marker palette (72 hues).
colorIdx0|1|2Which of the 3 active palette slots this shape belongs to.
hasWasherboolPunched hole. ~25% of shapes. Shapes with washers skip facet chord cuts.
washerRpxWasher hole radius. Always < R.
facetDepth0.28–0.60Half-angle of chord cut. Deeper = flatter facet.
hasFillboolGets spiral fill in plotter/SVG output.
density0.5–5.0Spiral fill spacing. Higher = denser.
mass0.5–1.8Physics mass. Heavier shapes move less during Bake.
useBarboolRod bar vs fillet neck. Seeded ~70%. Clusters max 2 bars.
_smoothETobjectLerped tangent contact positions for smooth rod bar animation (factor 0.18/frame).
_mergedboolTrue if part of a blob. Skips solo rendering.