LO-02 Generative Art

This generative artwork is Probability Lattice by the artist Marius Watz. This artwork was created in 2012 using a 3D printer from a Makerbot replicator.

Probability Lattice by Marius Watz

I admire this artwork as it uses a repetition of geometric shapes on the surface, and the overall dynamics of the form of the piece is created using the geometric surface. Another reason I was interested in this artwork is because I have used 3D pens in the past to create a 3D form with triangles before, similar to the artist’s work. 

The algorithm that generated this work seems like it used the repetition of shapes (triangles) with lengths of the sides that are slightly different for each shape. Because the triangles are created with just the outlines and have no surface area, this results in an interesting combination of positive and negative space in the work. 

Link to artwork

LO2: generative arts

Artwork by Nervous System: ZOETROPES

Zotropes is a 3D-printing project that prints a series of kinetic sculptures that illustrate natural growth processes.
Link:https://n-e-r-v-o-u-s.com/projects/sets/zoetropes/
Video:https://vimeo.com/136939640

I really like how this project integrates art with technology(3D printing) and with nature. I feel like this is an interactive exploration between human, nature, and beauty. I don’t have knowledge regarding the 3D printing process, but what I know is that the project repeats again and again, which is representative of the looping feature that a program has. And I believe that it is a program of 3D drawing, and can be displayed on a webpage. With this program, 3D printing enables the real-life version of the program. The team learned well on how the natural growth processes happen. It is a model that corresponds well to what would happen in real-life. The team’s observation on nature, imitation of nature, understanding of nature are manifested in the program.

Looking Outwards 2


For this week’s looking outwards assignment, I decided to explore Sougwen Chung’s “Drawing Operations”, a piece of improvised drawing collaboration between Sougwen and a robot. The robot is connected to a neural network, trained on Sougwen’s other drawings using computer vision: gestures from her previous works are saved into the neural net’s memory, and analyzed with comparison to other known styles to ‘translate’ the gestures into executable vectors with color palettes that the robot can then execute. The final product is a drawing duet with Sougwen and the robot.
Sougwen wanted to explore the concepts of “ownership” and “collaboration” through this piece. In the drawing duet, the robot and the artist co-create a piece of art, inspired by the artist’s previous work. I am very attracted to this concept, and a really interested in learning more about Sougwen’s other works and exploration of art and labor as a commodity.

Sougwen Chung, Drawing Operations (2014)

Project-02:Variable Face

cody.variable.face
function setup() {
    createCanvas(640, 480);
    background(220);
    text("p5.js vers 0.9.0 test.", 10, 15);
}
var faceWidth=400
var faceHeight=470
var noseCenter=300
var mouthAngle=0

function draw() {
    background(176, 196, 222);
    ellipse((width/2),(height/2), 400,470);  
    arc((width/2),(height/2+40),410,550,3.14,0) //hair
    arc((width/2),(height/2+40),400,540,3.14,0)
    arc((width/2),(height/2+40),390,530,3.14,0)
    arc((width/2),(height/2+40),390,520,3.14,0)   
    arc((width/2),(height/2+40),390,510,3.14,0)
    arc((width/2),(height/2+40),390,500,3.14,0)
    arc((width/2),(height/2+40),390,490,3.14,0)
    arc((width/2),(height/2+40),390,480,3.14,0)
    arc((width/2),(height/2+40),390,470,3.14,0)
    arc((width/2),(height/2+40),390,460,3.14,0)
    arc((width/2),(height/2+40),390,450,3.14,0)
    arc((width/2),(height/2+40),390,440,3.14,0) //hair line
    ellipse(225,220,80,45) //orbit left
    fill(0)
    ellipse((faceWidth/2+15),220,37,37) //eyeball left
    fill(255)
    ellipse(375,220,80,45) //orbit right
    fill(0)
    ellipse((faceWidth/2+170),220,37,37) //eyeball right
    fill(255,182,193)
    arc((width/2-10),380, 150, 100, (mouthAngle-0.5), (2.5+mouthAngle)) //mouth
    fill(255,192,203)
    triangle(300, 280, (noseCenter), 350, 320, (noseCenter+60)) //nose
    fill(255)
    stroke(72,209,204)
    strokeWeight(6)
    arc(225, 185, 80, 40, 3.2, -0.04) //eyebrow left
    arc(375,185, 80, 40, 3.2, -0.04) //eyebrow right
    arc(130, 280, 50, 60, 1.5, 4.75) //ear left
    arc(500, 280, 50, 60, 4.75, 1.65) //ear left
    
}

function mousePressed(){
    faceWidth=random(360,440)
    noseCenter=random (250,300)
    mouthAngle = random(0,1)
}
noLoop();

The part I like the most is how the eyeballs change randomly.

Project-02-Variable-Face

sketch

var faceWidth =  150;
var faceHeight = 200;
var eyeWidth = 45;
var eyeHeight = 45;
var noseWidth = 7;
var red = random(1,255);
var green = random(1,255);
var blue = random(1,255);
var eyebrowWidth= 15;
var eyebrowHeight= 15;
var mouthHeight=30;





function setup() {
    createCanvas(640, 480);
    
    text("p5.js vers 0.9.0 test.", 10, 15);
}

function draw() {
  background(220);
  //face size and skin color
  fill(red, green, blue);
  ellipse(width/2, height/2, faceWidth, faceHeight);
  
  
  //eye size
  
  //outer eye
  fill(255,255,255);
  ellipse(width/2 + eyeWidth, height/2 - eyeHeight, faceWidth/6, faceHeight/8);
  ellipse(width/2 - eyeWidth, height/2 - eyeHeight, faceWidth/6, faceHeight/8);
  //cornea
  fill(0,0,0);
  ellipse(width/2 + eyeWidth, height/2 - eyeHeight, faceWidth/15);
  ellipse(width/2 - eyeWidth, height/2 - eyeHeight, faceWidth/15);
  fill(255,255,255);
  rect(width/2 + eyeWidth, height/2 - eyeHeight,4,4);
  rect(width/2 - eyeWidth, height/2 - eyeHeight,4,4);
  
  //mouth and eyebrow
  line(width/2-mouthHeight, height/2+mouthHeight, width/2+mouthHeight, height/2+mouthHeight);
  line(width/2+eyeWidth+eyebrowWidth,height/2-eyeHeight-eyebrowHeight,width/2-eyeWidth-eyebrowWidth,height/2-eyeHeight-eyebrowHeight);
  
  
  //nose
  fill(red, green, blue);
  ellipse(width/2, height/2,faceWidth/5, faceHeight/7);
  fill(0,0,0);
  ellipse(width/2+noseWidth, height/2, faceWidth/20);
  ellipse(width/2-noseWidth, height/2, faceWidth/20);
  
  
}

function mousePressed() {
    // when the user clicks, these variables are reassigned
    // to random values within specified ranges. For example,
    // 'faceWidth' gets a random value between 75 and 150.
    faceWidth = random(150, 250);
    faceHeight = random(150, 250);
    eyeHeight = random (30,40);
    eyeWidth = random(30,40);
    noseWidth= random(6,8);
    red = random(141,241);
    green = random(125,155);
    blue = random (36,125);
    eyebrowWidth= random(10,20);
    eyebrowHeight= random(20,30);
    mouthHeight = random(30,40);
}


Doing this project was a lot of fun, but it was a little tedious trying to figure out all the measurements. Little sad it came out looking like a pig more than a human but it still looks cute to me!

Generative Art: Meet Your Creator (2012)

The project that caught my eye is Meet Your Creator, which was a live performance at the Cannes International Festival of Creativity in 2012. As a student in stage design, I found this project particularly interesting, and a little easier to understand from a programming perspective. 

When programming stage lights, we use certain softwares that already contain code for our specific needs, and program individual instructions for each light. These instructions are called cues, and during a live performance, there will be a person operating a console that runs the software, launching each cue throughout the performance.

Meet Your Creator is a little more complex from a design standpoint because this show involved the use of several drones which were programmed to execute aerial movements. I’m not familiar with how these would be programmed, however there is a screenshot from this project showing the software used for the drones, and you can see some ‘else if’ statements!

http://www.memo.tv/works/meet-your-creator/

Memo Akten: Show Director

Looking Outwards 02: Generative Art

One Generative art piece that I find inspirational is My Climate 2050 by Mitchell Whitelaw and Geoff Hinchcliffe. Made in December 2018, it was requested by Australian Conversation Foundation to “communicate localized climate change impacts for a range of sites around Australia”. The mission for this generative art piece is what I admire so much about it. Especially when a time where Global Warming is becoming such an issue, using art to make a statement is extremely necessary. It touches on the idea that art can create change within our world. Using art also enables a larger audience to understand and take action against a complicated idea like Global Warming. An algorithm was used with a dataset of 4700 projections to develop an “adaptable visual form that reveals changes including average temperature increase, summer extremes and changes to seasonality”.  Mitchell Whitelaw’s and Geoff Hinchcliffe’s artistic sensibilities manifest in this piece as they are trying to persuade a larger audience on an issue. With this mission, it forces the artists to portray their art a very specific way making them use their artistic sensibilities. In conclusion, I really enjoy looking at this piece and the message that it has to offer.

https://mtchl.net/acf-my-climate/

“Body Paint”

Uniqueness – something that every living and nonliving object possesses. Every fingerprint, every snowflake, every grain of sand is unique. Our every action or thought somehow, even by little, is very different from the actions or thoughts of another person.  An artist and computer scientist from Istanbul, Memo Atkins, created an interactive visual piece known as “Body Paint” that uses motions made by people and transforms them into paint of certain color on an interactive canvas: “Different aspects of the motion – size, speed, acceleration, curvature, distance all have an effect on the outcome – strokes, splashes, drips, spirals – and is left up to the users to play and discover” said Memo Atkins in 2009. I admire this artist due to his vision of the world – his biggest inspiration is studying the nature of  nature. He gets inspiration to create from very little and random things such as the nuclear fusion in the heart of the sun or the photosynthesizing organisms that bring everything to life. He created “Body Paint” for people to paint on interactive canvas and not a single painting was the same – every action was different due to its speed or size of a person which makes it so beautiful. Memo Atkins uses artificial intelligence and computational creativity, maybe a language like p5.js, to generate his creative works. Memo’s artistic sensibilities play the biggest role in his algorithm because he creates it for people to have fun, he always makes sure that his new creation is something that others will enjoy. 

http://www.digiart21.org/art/body-paint

Memo Atkins, “Body Paint”, 2009

Project 2: Variable Faces; Face Variables.

lucacao-02-project

var headwidth = 200
var headheight = 250
var eyewidth = 30
var eyeheight = 30
var pupilwidth = 30
var pupilheight = 30
var mouthwidth = 150
var mouthheight = 50
var bodywidth = 300
var bodyheight = 300
var hairhx = 0
var hairhy = 0


function setup() {
    createCanvas(480, 640);
    background(171, 196, 255);
}


function draw() {
    fill(0)
    rect((width-bodywidth)/2,400,bodywidth,bodyheight)//blazer
    fill(255,255,255)
    rect((width-100)/2,400,100,300)//shirt

    fill(252,210,175)
    ellipse(width/2,height/2, headwidth, headheight)//head

    fill(248, 237, 235)
    ellipse(width/2-40,height/2-20,eyewidth,eyeheight)
    ellipse(width/2+40,height/2-20,eyewidth,eyeheight)//eyes

    fill(51, 53, 51)
    ellipse(width/2-40,height/2-20,pupilwidth-20,pupilheight-20)
    ellipse(width/2+40,height/2-20,pupilwidth-20,pupilheight-20)//pupil

    fill(239, 99, 81)
    ellipse(width/2,height/2+70,mouthwidth-100,mouthheight-25)//mouth

    fill(70, 63, 58)
    triangle(width/2-30,200,hairhx+width/2,hairhy+width/2,width/2,195)
    triangle(width/2,195,hairhx+width/2+50,hairhy+width/2,width/2+45,200)
    triangle(width/2-10,197,hairhx+width/2+20,hairhy+width/2,width/2+20,200)//hair


}

function mousePressed() {
    eyewidth=random(30,50)
    eyeheight=random(30,50)
    pupilwidth=random(30,40)
    pupilheight=random(30,40)
    mouthwidth=random(50,150)
    mouthheight=random(25,50)
    hairhx=random(20,50)
    hairhy=random(80,100)
}


    




After declaring variables (var) in my code, locating and editing the shapes became more intuitive. However, I struggled with assigning values to my variables and understanding the relationship between each variable. Overall, I feel like adding variables helped my coding process a lot, but I still need more practice to become more efficient.

LO: Generative Art

The art work that attracts my attention is a hypertext poems website called “Do You Want Love or Lust?”. This website presents decontextualized This or That questions from popular magazine. Instead of directly writing the poem, the creator let participants to focus on choosing their preferences, thus generating the poem based on the choices made earlier by the participants. This project then create a place, where people could interact with art individually, by applying algorithms. I suppose that the creator must have a basic structure for the poem that would be generated eventually, but there are parts in the structure that would be filled by choices participants made in the provided questions. Therefore, the content in the poem may be based on different people’s preferences, but the overall poem structure and style are dependent on the creator’s taste. It is just interesting that basic algorithms, which seem totally irrelevant to art, actually help people to create a new form of art that could let them easily manifest their personal bias and styles.

Artist: Claude Closky; Title: Do You Want Love or Lust?; Inception: 2001

https://webenact.rhizome.org/do-you-want-love-or-lust/http://archive.rhizome.org/artbase/1827/1375b.html
Do you want love or lust? Web Page