Website | Patreon | Instagram | Youtube | Behance | Twitter | BuyMeACoffee
"Creativity is not so much a boundless well, but an all-you-can-eat buffet of elements for your creative endeavor." - Vera Nazarian
Exciting news!
It's been a little less than two weeks since I posted the talk with Tyler, and we have just shy 700 views! That is WAY more than I had ever expected to see on a channel with one other video. But it comes to show how wonderful Tyler is respected in the community and how much interest there is in the world of Generative Art has become in the last years.
In the coming weeks, I will continue to be lining up more conversations for you all to enjoy so we can learn together and muse on our fascinations in the practice of generative mediums. The next couple of interviews will be in the generative music space (a.k.a Dave Yarwood), so stay tuned!
Also, if you have any interest in being featured, let me know.
Coding fun…
This week, I have fun deconstructing various simple shapes to come up with some blocks in a new system that I am working on. Instead of writing too much, I decided that there is a little thing about playing around with arcs.
/*
Programing: Explorations in the Arc Realm
Name: Chris Ried
*/
ArcLine[][] al;
float start_arc, stop_arc, r, diff, margin, x, y, nf;
float noise_factor;
int n;
void setup()
{
size(1000,1000);
background(255);
n = 1;
r = 2000;
noise_factor = 0.002;
diff = width / float(n);
margin = (diff) / 2;
al = new ArcLine[n][n];
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
x = (i * diff)+margin;
y = (j * diff)+margin;
nf = noise(x*noise_factor,y*noise_factor);
al[i][j] = new ArcLine(x,y+random(-5,5)*(x/width), r*nf);
}
}
}
void draw() {
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
al[i][j].draw();
al[i][j].update();
}
}
}
void saveImage() {
int seed = 100;
String timestamp = year() + nf(month(), 2) + nf(day(), 2) + "-" + nf(hour(), 2) + nf(minute(), 2) + nf(second(), 2);
saveFrame(timestamp+"-"+seed+".png");
}
class ArcLine {
float x, y, r;
float start_arc, stop_arc;
color c;
ArcLine(float _x, float _y, float _r)
{
x = _x;
y = _y;
r = _r;
start_arc = random(TWO_PI);
stop_arc = random(start_arc, TWO_PI);
}
void draw()
{
while(r > 0)
{
fill(color(int(random(255)));
stroke(0,200);
pushMatrix();
translate(x,y);
rotate(random(TWO_PI));
arc(0,0, r,r,start_arc,stop_arc);
popMatrix();
r -= random(5);
start_arc = random(TWO_PI);
stop_arc = random(start_arc, TWO_PI);
}
}
void update()
{
}
}
Also, I'll be giving out the code for some of the work that I have done on my Instagram.
Inspirations
Life on the Internet: From Nowhere and Everywhere
in particular. Her art is much the same – ever changing, undefined, and all-encompassing. Alida gave Method a slight glimpse into her world of creation which involves many moving parts, quite literally. And for all hopeful new media artists, she gives direct and indirect advice, the foremost of which is that you don’t need a lot of expensive tech to make meaningful new media artwork.
And here are a few of her works!
Programming Packages
Alda
Alda is a text-based programming language for music composition. It allows you to write and play back music using only a text editor and the command line.
Speaking of generative music, take a look at the following DSL for music composition. It's a simple library to generate or compose some music.
David demos his project Alda with Clojure to generate the music.
📸 Generative Graphics
Particle Series in Max / MSP
If you are a Max for Live user, amazingmaxstuff has several tutorials that will create motion graphics and sound materials very similar to TouchDesigner. It has been designed to be more for sound, and you will find several tutorials and posts on his Instagram or youtube account.
🏛️ Podcasts
What are NFTs?
WTF are NFTs? We look at why crypto is dominating the art market right now. We hear from the artist @beepleand Jason Bailey, founder of @artnome
🚤 Motion
Introduction to Spark AR
2020 hasn’t been great for most of us, I truly wish that everything will go back to normal as soon as possible. But in the meantime, since we are all social distancing ourselves, we need to make the most out of the situation and what’s better than learning something new!
Since August 2019, Instagram has opened for everyone to make an Augmented Reality (AR) filter on Instagram and Facebook. AR filters allow anyone who uses it to change the colour of their surrounding instantaneously, place a 3D object in the real-world, do virtual makeup on your face, and many more all through our smartphone! Learning how to make an AR filter is easy, and it can become a creative hobby or even a skill that can earn you money if you become good at it.
🔖 Articles and Tutorials
Simple Square Packing Algorithm
My initial read of the design was: largest value in the center, then increasingly smaller values packed around it. I knew that there would be fewer than about 7 distinct values. And the domain wouldn’t be too wide (all values between zero and one, roughly). Furthermore, these charts are rendered once each can be reviewed for correctness before the whole website is published. There was no need to have a fancy algorithm which would work for arbitrary input.
The following algorithm was implemented on Observable here...
Blender 2.8 Tutorial | Parametric Voronoi Sphere | 3d Modeling
In this tutorial for Blender 2.8, I'll show you a very quick and simple technique to generate a beautiful Voronoi style sphere from the basic cube using only the default modifiers in the software. The result will be a watertight mesh suitable for 3d printing or rendering.
Sketch-A-Day Code
Welcome! My name is Alexandre Villares and since January, 2018 I have been coding sketches everyday, publishing the source code in the same repository that stores this page, github.com/villares/sketch-a-day.
This is a great code that will help teach some techniques to be used as inspiration in one's own code.
Generative Design is Doomed to Fail
A concerned Autodesk representative pulled me aside at an event recently. “I read your article,” she began.
I tried to recall whether I’d said anything controversial. But my most recent article was relatively tame, just 1,300 words in Architect Magazine about algorithms generating building layouts. If anything, it was complimentary of Autodesk.
Around us, people at the conference were discussing the industry’s most pressing issues – robots, automation, climate change. The representative leaned in to reveal hers: “I noticed you didn’t mention generative design in your article.”
Courses
openFrameworks Tutorial Series
I've found the following series of tutorials is a great beginning video series using openFrameworks. There are around 76 tutorials on the subject of using various features within the framework. The following is the Circle Loop, but there is everything from Fonts to Audio.