The project Forms is an ongoing collaboration between visuals artists Memo Akten and Quayola. It illustrates how athletes’ body motions move in a creative way.
When the video just started, I didn’t notice the human body in it and I thought it was all about visual effects. But after I saw the body motions in it I felt the great power and creativity of the artwork. The blurring between real life experience and the abstract effect interpretes body movement in a new way, which fascinates me the most, implying that body is part of the environment and every movement will have invisible impact to the surroundings. Randomness of the elements plays an important role in achieving the effect. The elements in the video are throwed about randomly but acturally they are in some ways controlled by the pathway of the body. So the randomness is not pure, containing certain level of logic.
Generative Art is art in which there is a level of autonomy that the artist is not in direct control of. More specifically, in generative art, the artist purposefully produces a canvas with certain blank spots that can be generatively filled in and still produces a wonderful outcome within the artist’s vision.
In this particular work, the basic concept that the artist is using is the mathematical concept of B-splines, where a smooth spline is drawn through control points without passing through these points itself. By moving the points, or nodes, the splines follow the nodes, creating an erratic yet smooth picture. Hoff, the artist for this piece, used randomness to change the positions of the nodes. From this piece, I could sense the artist’s intentions of creating a beautiful transitional piece that showcases the calm becoming the erratic.
Karina Smigla-Bobinski is an intermedia artist that focuses on new media and digital art. One of her more well-known works, “ADA”, is an interactive kinetic drawing installation that produces random strokes due to the nature of how this project was constructed and is meant to be interacted with. ADA is a enormous transparent, helium sphere with charcoal stumps attached all along the outside. This sphere is placed in the context of an expansive, all-white room, in which the user can engage with the sphere by pushing it around. As a consequence of such interaction, random black strokes are drawn, strewn, dotted, and created across the white walls.
Although Karina created ADA with precise measurements and specific intentions — crafting of the helium sphere, strategic placement of the charcoal stubs, and size of the room — the result of her work becomes random — marks created by the public.
//Erin Fuller
//SectionA
//efuller@andrew.cmu.edu
//Project 06-Abstract Clock
function setup() {
createCanvas(400, 400);
noStroke();
}
function draw() {
background(60);
var x = width / 2; //ellipse center
var y = height / 2; //ellipse center
var d = 350; //ellipse diameter
fill(90); // background circle
ellipse(x, y, d, d);
fill(255, 146, 68, 120); // MINUTE CHORD
var m = map(minute() + map(second(), 0, 60, 0, 1), 59, 0, 0, PI); // map minutes to half circle
arc(x, y, d, d, m - (PI / 4), -(m) - (PI / 4), CHORD); // -pi/4 to shrink diagonally right to left
fill(252, 123, 129, 120); // HOUR CHORD
var h = map(hour() + map(minute(), 0, 60, 0, 1), 23, 0, 0, PI); // map hours to half circle
arc(x, y, d, d, h + HALF_PI, -(h) + HALF_PI, CHORD); // +pi/2 to shrink bottom to top
fill(215, 105, 172, 120); // SECONDS CHORD
var s = map(second(), 59, 0, 0, PI); // map seconds to half circle
arc(x, y, d, d, s - (3 * PI / 4), -(s) - (3 * PI / 4), CHORD); // -3pi/4 to shrink diagonally left to right
}
My “clock” is based on three translucent chords. The data for the minutes, seconds, and hours, are mapped along half the circle and reflected. The color and opacity, allowing the colors to overlap and add on each other, were chosen for visual variety along with shifting the start of the chords in different positions along the circle.
To explore the realm of randomness in computational art, I decided to look into a project that integrates traditional craft alongside digital work. Random Number Multiples is a limited edition artwork collection created by data visualization artists Jer Thorp and Marius Watz. The collection seeks to integrate analog work alongside the programming, digital aspect. This hybridization of techniques adds a subtle touch of art into the randomization of data. As the artists claim, modern day art viewed on the computer can have a cold essence to it. When bringing that digital art onto a printed medium however, the effect can be more sensual, despite its digital randomness. This idea of digital randomness being combined with analog mediums to evoke an emotion is something I think is very interesting. As lots of data is being filtered into our lives on a daily basis, it is neat to see such data being presented as “art” where the randomness acts as an expression of the sort of tension and branching of the different data sets interacting with one another.
[the image above depicts a finished data visualization art piece after undergoing a post process in analog medium]
[below is how they print out the data visualization art pieces and prepare to work on in a more traditional medium. The different colors come from the different paths and types of data being visualized.]
[The above image looks into the fine detail of the printed work. Some other completed works done by the artists can be seen below ]
There is not much said in how the artists generate the “randomness” in their work algorithmically. It can be speculated however, that there might exist some sort of tree data structure to help determine the different branches of the work (Similar to the snag tree method shown below).
The creative sensibilities of the work really rely on the means by which the artists utilize traditional methods of visualization with digital methods. The entire hybridization of the work is important in how the artists author their creativity.
Orbital is a project generated by J. Tarbell using computational method. It is composed of a random collection of particles operating on one single rule: randomly choose another particle in the system and orbit it with a constant radius and same velocity. From the beginning, there is one single root particle instantiating at the center of the canvas, and then all other particles brought into the system fall into orbit at some level.
Looking at Orbital System From Far Away
The particles initially start with a fast velocity. Gradully they slow down so their position, orbit path, and connection can be clearly represented.
System of 500 Orbital Elements Exposed over 400 Years
System of 500 Orbital Elements Exposed over 400 Years
system of 500 orbital elements exposed over 400 years
system of 500 orbital elements exposed over 400 years
This project is interesting and demonstrate the role of randomness played in computational art. Although the selection of particles and the position of orbit generated are random, the one basic rule that is not changed is that the orbitals have a constant radius. Overtime, various patterns and shapes can be created and such randomness allows more space for creativity and visual representation. Randomness itself, when combines with time, might be able to generate many unexpected results.
function setup() {
createCanvas(480, 100);
stroke(17, 21, 28);
}
function draw() {
// background colour
var H = hour();
if (H >= 7 & H <= 19) {
background(228, 246, 248); // day background
stroke(228, 246, 248);
}
else {
background(17, 21, 28); // night background
stroke(17, 21, 28);
}
// hour circles
var d1 = width / 24; // diameter (L)
for (var i = 0; i < 24; i++) { // 24 hours
var hx = i * d1 + d1 / 2; // x position
if (H >= 7 & H <= 19) { // day circle colour
// top edge
if (H - 1 == i) {
fill(98, 194, 204);
ellipse(hx, height - d1 / 2, d1, d1);
}
// bottom edge
else {
fill(98, 194, 204);
ellipse(hx, d1 / 2, d1, d1);
}
}
else { // night circle colour
if (H - 1 == i) {
fill(48, 72, 120);
ellipse(hx, height - d1 / 2, d1, d1);
}
// bottom edge
else {
fill(48, 72, 120);
ellipse(hx, d1 / 2, d1, d1);
}
}
}
// minute circles
var M = minute();
var d2 = width / 60; // diameter (M)
for (var j = 0; j < 60; j++) { // 60 minutes
var mx = j * d2 + d2 / 2;
if (H >= 7 & H <= 19) { // day circle colour
if (M - 1 == j) {
fill(241, 112, 34);
ellipse(mx, height - d2 / 2, d2, d2);
}
else {
fill(241, 112, 34);
ellipse(mx, d1 + d2 / 2, d2, d2);
}
}
else { // night circle colour
if (M - 1 == j) {
fill(120, 144, 168);
ellipse(mx, height - d2 / 2, d2, d2);
}
else {
fill(120, 144, 168);
ellipse(mx, d1 + d2 / 2, d2, d2);
}
}
}
// second circles
var S = second();
var d3 = width / 60 - 2; // diameter (S)
var space = 2; // spacing between ellipse centres
for (var k = 0; k < 60; k++) { // 60 seconds
var sx = k * d3 + space * k + d3 / 2 + 1;
if (H >= 7 & H <= 19) { // day circle colour
if (S - 1 == k) {
fill(253, 184, 19);
ellipse(sx, height - d3 / 2, d3, d3);
}
else {
fill(253, 184, 19);
ellipse(sx, d1 + d2 + d3 / 2, d3, d3);
}
}
else { // night circle colour
if (S - 1 == k) {
fill(240, 168, 24);
ellipse(sx, height - d3 / 2, d3, d3);
}
else {
fill(240, 168, 24);
ellipse(sx, d1 + d2 + d3 / 2, d3, d3);
}
}
}
}
I tried to make a clock that uses the colour and position of graphic elements to indicate the time of day. Three rows of circles that represent the hour, minute, and second appear at the top to their correct quantity (24, 60, 60). For the current time, the corresponding circle appears at the bottom edge of the canvas.
I also wanted the colour scheme of the clock to change with the time of day. I coordinated colours for a day and night setting that change at 7 a.m. and 7 p.m with that range using the daytime colour scheme. I looked up the sunrise and sunset times in Pittsburgh to make sure.
Zach Lieberman is an artist and programmer that specializes in computational and graphic art. I’m especially drawn to the pieces below for his beautifully generated compositions that blend random color juxtapositions beautifully. In terms of how it was generated, I assume the placement, colors, and direction of each shape are randomly generated each time, while the key visual qualities remain consistent in the algorithm— the diffusion rates of colors, the shapes of each point, and the spacing of the stripes in the composition.
The ability to visually balance these elements despite the randomness is what I absolutely love about these compositions. The randomness is used with a purpose that is artistically driven and envisioned.
//Jenny Hu
//Section E
//jjh1@andrew.cmu.edu
//Project 06
//sphere beats with the second
//torus' grow with the minute & hour
var sphereR = 29;
var smallTR = 30;
var largeTR = 100;
var sThick = 8;
var lThick = 25;
var buffer = 50;
var sphereToggle = 1;
function setup(){
createCanvas(480, 480, WEBGL);
}
function draw(){
background(250);
normalMaterial();
var M = minute();
var H = hour();
//inner sphere as seconds
//pulsed with a framerate calculation below
for (var i=0; i<2; i++){
//if statements isolate if the sphere is growing/shrinking
if (sphereR < 30) {
sphereToggle = 1;
}
if (sphereR > 32.5) {
sphereToggle = -1;
}
// pulse per beat = 5/60
// aka sphereR units traveled/60 frames
sphereR = sphereR + i*(5/60)*sphereToggle;
sphere(sphereR);
}
//middle torus radius as the minutes
smallTR = 35 + buffer/3 + M;
push();
rotateZ((frameCount * 0.01)/2);
rotateX((frameCount * 0.01)/2);
rotateY((frameCount * 0.01)/2);
torus(smallTR, sThick);
pop();
//outer torus radius as the hour
largeTR = smallTR + sThick + buffer + H;
push();
rotateZ((frameCount * 0.02)/5);
rotateX((frameCount * 0.005)/2);
rotateY((frameCount * 0.005)/2);
torus(largeTR, lThick);
pop();
}
Exciting! I wanted to use this project as an excuse to just get familiar with basic WebGL and 3D primitives. (My main references to learn these are the in the links at the end.) Outside of the 3D elements— this clock is relatively straightforward— the inner sphere pulses ( in, out, and back in) per second in a simple for-loop, calculated by the distance it needs to pulse over the framerate (60). The inner torus radius is growing based on the minutes of the hour, while the outer torus radius is growing based on the hour of the day. Since the change is so slow, you can see the comparison of the smallest and largest times of the day below— midnight and 11:59 pm.
The rotations of each torus are essentially just coded with numbers to provide diverse volumes and angles in a given moment (basically, I just proportioned thicknesses and speeds by eye).
The artwork that I would like to talk about today is from an artist named Jean Arp. This artwork is called According to the Laws of Chance, and it is made in the year 1933. The process of generating the art was dropping painted pieces of paper onto a surface. The idea is rather similar to that of Jackson Pollock’s drip painting, but this artwork dates back to before Pollack made his famous action paintings. The artist has other randomly generated art that is created in similar fashion, but the this particular artwork stood out to me.
What I admire about Arp’s art is that despite being randomly created, it is still on a rather subtle scale, where there aren’t too much clashing elements that compete for attention. The artist’s use of white space is what really gives this simple artwork the praise it deserves. The title really describes the artwork well, and I find the simplicity in the art to be very resembling of the design of nature.
Regarding the process, it is not a completely random piece of art. For one, the color of the paint was determined by the artist, and the number of the painted papers dropped was also in his control. The random aspects that go into the process are the shapes of the papers and where they are dropped.
The artist’s artistic sensibilities are manifested into the final form, when he is able to make deeply impactful pieces through the usage of randomness itself. Beauty is traditionally not attributed to randomness, but rather repetition and harmony, but Arp was able to tie the two together where randomness was used to create unsymmetrical yet harmonic piece.