Digital Painting with Coded Brushes
Workshop by
Kahani Ploessl
https://linktr.ee/kahoogie
she/her
New media artist and creative technologist specializing in generative, installation, and video game art
digital spiritualism
the glitch
playful hybrid reality
oil concept art
1. The Interface
3. The Code
2. p5 Snapshot
Agenda
1.
Get a fun new painting tool!
3.
A guide to customizing the painting tool
2.
A glimpse into p5 and the code art medium
Goals
The Interface
The Interface
Playful web painter that combines pixelation, generative computation, and their inherent low-brow digital stylization with human movement, figuration, and error
The Interface
The Interface
Playful web painter that combines pixelation, generative computation, and their inherent low-brow digital stylization with human movement, figuration, and error
The Interface
The Interface
Playful web painter that combines pixelation, generative computation, and their inherent low-brow digital stylization with human movement, figuration, and error
Art by
Doodle overtop a photo of yourself
Upload a sketch to trace
Use a series of live capture brushes
Create a drawing and reupload as a brush
Draw your favourite animal
Create an abstract piece
Explore each brush
Activity 1
The Interface
p5 Snapshot
Comfort with Math?
Coding Experience?
The Interface
p5 Snapshot
Canvas
(0,0)
(3,3)
createCanvas(3, 3);
(1,2)
x
y
Canvas
The Interface
(0,0)
width
height
(width,height)
(mouseX,mouseY
createCanvas(windowWidth, windowHeight);
Creating Shapes: Format
shapeName(data, data, data, data …);
Midpoint and dimensions: shapeName(midPoint X, midPoint Y, dimensions …);
Vertex: shapeName(vertex0 X, vertex0 Y, vertex1 X, vertex1 Y, vertex2 X, vertex2 Y …);
Creating Shapes: Midpoint and Dimensions
*Easiest to make into a brush
square(x, y, length);
rect(x, y, lengthX, lengthY);
Creating Shapes: Midpoint and Dimensions
*Easiest to make into a brush
circle(x, y, radius);
ellipse(x, y, radiusX, radiusY);
Creating Shapes: Vertex Shapes
*Requires some math
point(x, y);
line(x0, y0, x1, y1);
Creating Shapes: Vertices
*Requires some math
triangle(x0, y0, x1, y1, x2, y2);
quad(x0, y0, x1, y1, x2, y2, x3, y3);
Shapes Summary
Making Shapes a Brush
Making Brushes Scalable
Making Brushes Scalable
mouseY + size, mouseY + size);
mouseX - size, mouseY + size,
mouseX + size, mouseY + size);
mouseX + size, mouseY,
mouseX, mouseY + size,
mouseX - size, mouseY);
Making Brushes Generative (Bonus)
Randomization
circle(mouseX + random(-10,10),
mouseY + random(-10,10),
size)
Making Brushes Generative (Bonus)
Timebased
circle(mouseX, mouseY, size * sin(frameCount/10));
Stylization
Stylization
fill(0,0,255);
stroke(255,0,255);
strokeWeight(12);
circle(5, 5, 5);
fill(0,255,0);
circle(10, 1, 1);
Break
Optional:
Create a p5 Account
The Code
Bonus!
Step 4. Add custom stylization
Step 5 Make brush generative
Step 1. Make new brush button
Step 2. Locate brushes code
Step 3. Create brush
Guide to Adding a Brush
Step 1. Make new brush button
Step 2. Locate brush code
Step 3. Create brush code
Step 4. Add custom style
Step 5. Make brush generative
Experiment with adding generative code
Create a new brush using multiple shapes
Try adding the code from the brush guide
Activity 2
Send me your art!
kahani.ploessl@gmail.com
I would love love love to see what can be made with this tool and to share in future workshops. Shoot my an email with your art if comfortable. All art sent will be credited.