A workshop on creative coding & generative art
See the codeThis repository includes code & resources for students attending my Generative Art & Creative Coding with JavaScript workshops in 2018.
Here is a list of tools, software and libraries that will be used during the workshop.
| Tool | Documentation | Description |
|---|---|---|
| Code Editor | A JavaScript code editor, VSCode is recommended | |
| Browser | A modern browser, Chrome is recommended | |
| Canvas API | [docs] | The HTML5 <canvas> API, built into all browsers |
| Command-Line | [guide] | A command-line application like Terminal (macOS) or cmder (Windows) |
| Node.js (v8+) | [docs] | Used for running command-line JavaScript tools |
| npm (v5+) | [docs] | Used to install third-party dependencies and tools |
canvas-sketch | [docs] | A development tool & framework for Generative Art |
canvas-sketch-util | [docs] | Utilities for Math & Random Number Generation |
| ThreeJS | [docs] | A 3D rendering engine for WebGL |
Before starting the workshop, make sure you have installed and set up:
If you already have these tools installed, you can use the --version flag to make sure you have at least node@8 and npm@5:
npm --version
node --version
If you haven't installed these yet, you can find more instructions here:
canvas-sketch CLIWe will be using canvas-sketch and its command-line interface (CLI) during the workshop.
To install the CLI with npm, use the --global or -g flag like so:
npm install canvas-sketch-cli --global
💡 Note the
-clisuffix in the name; this tells npm to install the CLI tool, not the code library.
If you are new to the command-line, you can read more details here:
During the workshop, you won't need to clone and run this repository locally. However, if you wish to do so, you can find more instructions here:
I've also included a small "cheat sheet" that you can use as a reference if you are forgetting some of the patterns and recipes discussed during the workshop.
Below are a couple exercises you can tackle during lunch and free coding periods:
This workshop encourages students to make use of npm modules to build complex and interesting artworks.
If you find a module you want to use, like point-in-polygon, you can install it from your project folder like so:
npm install point-in-polygon
Below are some nice modules for creative coding & generative art:
More links to generative art & creative coding:
Generative Art
Anders Hoff — Writing on Generative Art
Tyler Hobbs — Writing on Generative Art
My Blog — Writing on Creative Coding & Generative Art
GLSL & Shaders
Math
Linear Interpolation — intro to lerp
math-as-code — A cheat sheet for mathematical notation in code form
More Resources
awesome-creative-coding — a large list of resources
graphics-resources — a large list of papers & study material
Tools
giftool.surge.sh — A simple tool for creating looping GIF animations from a folder of PNG frames
cubic-bezier.com — A cubic Bezier curve editor, useful alongside the bezier-easing module
ThreeJS Editor — An online scene editor for ThreeJS
Communities
#plottertwitter, #generative, #webgl and similar hashtags on Twitter, Instagram etc.
This repository has a dual license.
The textual documentation and markdown files are all licensed as MIT.
The JavaScript source files have been released under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0), see src/LICENSE.md for details.
141 followers · starred May 2021
460 followers · starred Apr 2019
306 followers · starred Jan 2024
12 followers · starred Aug 2019
A workshop on creative coding & generative art
See the codeThis repository includes code & resources for students attending my Generative Art & Creative Coding with JavaScript workshops in 2018.
Here is a list of tools, software and libraries that will be used during the workshop.
| Tool | Documentation | Description |
|---|---|---|
| Code Editor | A JavaScript code editor, VSCode is recommended | |
| Browser | A modern browser, Chrome is recommended | |
| Canvas API | [docs] | The HTML5 <canvas> API, built into all browsers |
| Command-Line | [guide] | A command-line application like Terminal (macOS) or cmder (Windows) |
| Node.js (v8+) | [docs] | Used for running command-line JavaScript tools |
| npm (v5+) | [docs] | Used to install third-party dependencies and tools |
canvas-sketch | [docs] | A development tool & framework for Generative Art |
canvas-sketch-util | [docs] | Utilities for Math & Random Number Generation |
| ThreeJS | [docs] | A 3D rendering engine for WebGL |
Before starting the workshop, make sure you have installed and set up:
If you already have these tools installed, you can use the --version flag to make sure you have at least node@8 and npm@5:
npm --version
node --version
If you haven't installed these yet, you can find more instructions here:
canvas-sketch CLIWe will be using canvas-sketch and its command-line interface (CLI) during the workshop.
To install the CLI with npm, use the --global or -g flag like so:
npm install canvas-sketch-cli --global
💡 Note the
-clisuffix in the name; this tells npm to install the CLI tool, not the code library.
If you are new to the command-line, you can read more details here:
During the workshop, you won't need to clone and run this repository locally. However, if you wish to do so, you can find more instructions here:
I've also included a small "cheat sheet" that you can use as a reference if you are forgetting some of the patterns and recipes discussed during the workshop.
Below are a couple exercises you can tackle during lunch and free coding periods:
This workshop encourages students to make use of npm modules to build complex and interesting artworks.
If you find a module you want to use, like point-in-polygon, you can install it from your project folder like so:
npm install point-in-polygon
Below are some nice modules for creative coding & generative art:
More links to generative art & creative coding:
Generative Art
Anders Hoff — Writing on Generative Art
Tyler Hobbs — Writing on Generative Art
My Blog — Writing on Creative Coding & Generative Art
GLSL & Shaders
Math
Linear Interpolation — intro to lerp
math-as-code — A cheat sheet for mathematical notation in code form
More Resources
awesome-creative-coding — a large list of resources
graphics-resources — a large list of papers & study material
Tools
giftool.surge.sh — A simple tool for creating looping GIF animations from a folder of PNG frames
cubic-bezier.com — A cubic Bezier curve editor, useful alongside the bezier-easing module
ThreeJS Editor — An online scene editor for ThreeJS
Communities
#plottertwitter, #generative, #webgl and similar hashtags on Twitter, Instagram etc.
This repository has a dual license.
The textual documentation and markdown files are all licensed as MIT.
The JavaScript source files have been released under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0), see src/LICENSE.md for details.
141 followers · starred May 2021
460 followers · starred Apr 2019
306 followers · starred Jan 2024
12 followers · starred Aug 2019