@labcat2020/p5.sacredgeometry
v0.1.0
Published
p5.js sacred geometry — vesica piscis, seed/flower/fruit of life, Metatron's Cube, Tree of Life (requires p5 + p5.Polar)
Maintainers
Readme
@labcat2020/p5.sacredgeometry
Sacred geometry for p5.js — vesica piscis, seed/egg/flower/fruit of life, Metatron's Cube, Tree of Life. Built on p5.Polar.
Extracted from @labcat2020/p5.audioreactive for standalone use (polar shape type optional; polygon shape types via @labcat2020/p5.polygon).
Install
pnpm add @labcat2020/p5.sacredgeometry @labcat2020/p5.polygon p5
# if using polar shape type:
pnpm add @labcat2020/p5.audioreactive # for p5.Polar.min.jsExports
{
".": "./src/sacredGeometry.js",
"./sacredGeometry.js": "./src/sacredGeometry.js"
}Usage
import p5 from 'p5';
import '@labcat2020/p5.audioreactive/p5.Polar.min.js'; // polarEllipse/polarEllipses
import '@labcat2020/p5.polygon'; // if using polygon shape types
import '@labcat2020/p5.sacredgeometry';
const sketch = (p) => {
p.setup = () => { p.createCanvas(600, 600); p.angleMode(p.RADIANS); };
p.draw = () => {
p.background(10);
p.translate(p.width/2, p.height/2);
// polar variant:
p.drawFlowerOfLife('polarEllipse', 200);
// polygon variant (requires p5.polygon loaded):
p.drawSeedOfLife('hexagon', 150);
};
};
new p5(sketch);API (on p5.prototype, currentShapeType e.g. 'polarEllipse'|'polygon'|'hexagon'):
drawVesicaPiscis(shapeType, size)drawSeedOfLife(shapeType, size)drawEggOfLife(shapeType, size)drawFlowerOfLife(shapeType, size)drawFruitOfLife(shapeType, size)drawMetatronsCube(shapeType, size)— also strokes interconnectionsdrawTreeOfLife(shapeType, size)
Dependencies: p5@^2.2.3 peer, @labcat2020/p5.polygon@^0.1.0 (for non-polar shapes). Polar helpers (polarEllipse) come from @labcat2020/p5.audioreactive/p5.Polar.min.js (intentionally left there per project decision).
License
MIT — LABCAT
