vesica

A vesica: the lens where two equal circles overlap.

vesica(x: Val, y: Val, radius: Val, spread: Val): Expr

Import shape from shaders/std and use shape.vesica.

radius is each circle's radius, in uv. spread (0–1) is how far apart the circles sit as a fraction of the radius. 0 is a full circle, 1 an infinitely thin lens.

Parameters

NameTypeNotes
xVal
yVal
radiusVal
spreadVal

Example

shape: {distance: ({x, y}, u) => vesica(x, y, u('radius'), u('spread')), …}

See also

  • ellipse — An ellipse with separate horizontal and vertical radii.
  • crescent — A crescent: a disc with a smaller disc bitten out of it.

Used by

Vesica