p5.js: Screen Drawing

When assigned to create any sort of screen drawing with p5.js, I thought to pull inspiration from modern art. We reviewed the classic programming example of Sol LeWitt’s Wall Drawings, where a museum, gallery, or other space simply receives a set of instructions of how to create the artwork. I thought I would pick a random Sol LeWitt work, and I came across this prompt for the Boston Museum:

Random points on a canvas that are not evenly spaced.

Random points on a canvas that are not evenly spaced.

I started working on the code for this: https://editor.p5js.org/niccab/sketches/fmrRtWck1

I paused after making the random points and came up with the conclusion that this set of instructions might be better suited for Week 6’s class on arrays. My code only creates 50 random dots without any concern of where each dot is in relation to another, therefore, it would not be evenly spaced across the canvas. Furthermore, in order to connect the random, evenly placed points, I would need to store their coordinates in an array.

My question then might be, is there a way to randomly place dots that are evenly spaced? If the spacing is defined and each point has consideration for its neighbor, is the coordinate of the point truly random?

I thought a bit further about what we had discussed in class, and I remember that one of the example questions was “how do you use the arc function and define its parameters?” Still inspired by paintings, I wanted to replicate Hilma Af Klint’s Svanen.

p5.js replica of Svanen.

p5.js replica of Svanen.

Here is the p5.js sketch: https://editor.p5js.org/niccab/sketches/Fci2SMXje

When making this, I did get a bit confused using the arc function. Of course after a bit of trial and error, I figured out how to place the coordinates. Is there a particular reason why an arc starts to draw clockwise beginning east? Why not north? Is there a way to define the arc with degrees instead of radians?

I would like to add visible brush strokes onto the p5.js version of Svanen. What might be the best way to approach an organic brush stroke overlay that follows the confines of the shape that contains it?