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
| Name | Type | Notes |
|---|---|---|
x | Val | |
y | Val | |
radius | Val | |
spread | Val |
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.