Programming for Visual Artists
ARTS-A0701 – Digital Art 1
2024 - Lecture 9
- Mon, 26.2: Introduction, P5.js editor, shapes, coordinates and colours
- Tue, 27.2.: Variables, randomness
- Mon, 4.3: Animating with trigonometric functions
- Tue, 5.3: Animating with noise
- Mon, 11.3.: If-else, for-loop
- Tue, 12.3.: For-loop, noise
- Mon, 18.3.: Audio input, Interaction
- Tue, 19.3.: Images and video
- Mon, 25.3.: Recap, personal project
- Tue, 26.3.: Personal project
- Mon, 8.4.: Personal project, course feedback
- Tue, 9.4.: Presentations / exhibition?
Pass: final project + 6/8 assignments
Final Project
Goals
- Create a finalized thing
- Apply the new technical skills in a creative context
- Improve programming skills through debugging and committing to an end result
- Artistic expression in a a possibly unfamiliar medium
Generative art
Art that in whole or in part has been created with the use of an autonomous system
Tools: repetition
Emergent-like behavior from simple foundations:
Draw a diagonal line from left to right or right to left
Tools: repetition
Repeat the diagonal line
Tools: repetition
Change the line type
Tools: displacement
Draw a shape
Tools: displacement
Displace properties of the shape
Tools: displacement
Apply rules to displacement logic
Tools: displacement
Add repetition
Tools: displacement
Add more repetition
Autonomous systems
Code is a way to describe an autonomous system:
On blue walls, all two-part combinations of white arcs from corners and sides, and white straight, not straight, and broken lines within a 36-inch (90 cm) grid.
Sol LeWitt, Wall Drawing 260A
Massachusetts Museum of Contemporary Art
Autonomous systems
Code is a way to describe an autonomous system:
On blue walls, all two-part combinations of white arcs from corners and sides, and white straight, not straight, and broken lines within a 36-inch (90 cm) grid.
Sol LeWitt, Wall Drawing 260A
Massachusetts Museum of Contemporary Art
Instructions
- Create a generative print, a series of prints or an animation with p5.js
- Experiment and iterate.
- Technical complexity is not of intrinsic value.
- Take small steps and make sure you understand your code.
- You can recreate a work that you have seen during this class or on Instagram etc. If you do that, focus on why you found it interesting and be open about the source.
- Don't copy code and if you do, cite the source in comments.
- Submit a p5js link on MyCourses before TBD
Take a look at #p5js on Instagram. You might recognise familiar algorithms and techniques.
Zach Lieberman's daily sketches are a great example on experimenting and iterating on a certain theme
You can also take a historical perspective and recreate something created before.