Utilities for sketching in Canvas, WebGL and generative art
Utilities for sketching in Canvas, WebGL and generative art
Utilities for generative art in Canvas, WebGL and JavaScript.
This is designed to be used alongside the canvas-sketch toolset, but it is generic enough to work for various Node.js/Browser use cases.
You can require each module individually, and grab only the necessary functions.
Some examples:
const math = require('canvas-sketch-util/math');
console.log(math.clamp(1.25, 0, 1));
// 1Or by using destructuring to grab only a select few functions:
const { fract, lerp } = require('canvas-sketch-util/math');
console.log(fract(51.23));
// 0.23
console.log(lerp(0, 50, 0.5));
// 25The random utility has been inspired by Unity3D, as well as other engines.
const random = require('canvas-sketch-util/random');
console.log(random.value());
// some random number between 0 (inclusive) and 1 (exclusive)
// Create a seeded random generator
const seeded = random.createRandom(25);
console.log(seeded.range(25, 50));
// some deterministic random number
console.log(seeded.shuffle([ 'a', 'b', 'c' ]));
// deterministically shuffles a copy of the arrayThe following modules have been implemented:
math - Math & interpolation utilitiesrandom - A random number generatorcolor - RGB and HSL color utilitiesgeometry - Utilities for geometry & shapespenplot - Utilities for working with pen plotters (e.g. AxiDraw)shader - A full-screen GLSL shader utilityThe following are planned but not yet implemented:
tween - Tweening, easing & animation utilitiesAnd more to come...
Use npm to install.
npm install canvas-sketch-util --saveFor full API documentation, see Documentation.
You can also see a few examples in ./test/examples.js.
MIT, see LICENSE.md for details.
No open issues yet, or sync has not completed.