Austin Garcia – Looking Outwards – 07 – Section C

Santiago Ortiz’s Personal Knowledge Database is a very interesting amalgam of this artists references.

Database

I could not find a way to link an image of this interactive piece to this page, but I wanted to write about it nonetheless. I was fascinated clicking through this shifting mess of lines and finding different websites that Ortiz has used as reference in the past. All of these sites were used or created by him for one reason or another. I find this to be a fascinating way of storing and categorizing digital histories and data. Personally, I try to store a lot of my own references as images or text on my computer or an external hard drive. I have design documents and specifications, color palates, and academic papers all stored in folders. This method is a great way of visualizing that data as well as less tangible data like links to websites which are easily forgotten. While this way of sorting these things is not necessarily logical for accessing that data in the future, it is a visually compelling way to display all that data.

Austin Garcia – Looking Outwards – 05 – Section C

Randomly Generated art constrained by normalized frames

I have always been interested in random and/or procedural generation, but for me, I also like to exhibit a certain amount of control over my work, not allowing for the randomly generated aspects to exist entirely on their own. For this reason, when I found the art of a group who calls themselves “Painting By Code” I was most interested in their work which had some elements of deliberate touch alongside the randomly generated geometries.

Austin Garcia – Looking Outwards – 05 – Section C

Roman Bratschi “Nonsense in 3D”

Roman Bratschi specializes in creating organic 3D graphics. I was drawn to his style due to the juxtaposition between the shiny computer-graphic quality and the natural forms present in his work. Through working both with form as well lighting and texture, Bratschi is able to achieve an impressive, surrealistic quality with his work.

Austin Garcia – Project 05 – Section C

sketch

/*		Austin Garcia
		Section C
		aegarcia@andrew.cmu.edu
		Project-05
*/

var s = 20

function setup() {
    createCanvas(600, 600);

}

function draw() {
    background(100)


    strokeWeight(10)
    fill(50)

    //background
    for (var i = 0; i <= width; i += width / 20) {
        for (var l = 0; l <= height; l += 40) {
            rect(i, l, width / 20, height)
        }
    }

    // base circles
    for (var x = 0; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse (x, y, 40, 40)
          fill(y / 2, x / 2, y * 3)
        }
    }
    //blue circles
    for (var x = 20; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse(x - 5, y - 5, 10, 20)
        }
    }
    for (var x = 20; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse(x + 5, y - 5, 10, 20)
        }
    }
    //inner  circles creating curves of 'potions'
    for (var x = 20; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse(x - 5, y - 5, 5, 10)
        }
    }
    for (var x = 20; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse(x + 5, y - 5, 5, 10)
        }
    }
    for (var x = 20; x <= width; x += s * 2) {
        for (var y = 50; y <= height; y += s * 4) {
          ellipse(x, y + 10, 15, 10)
        }
    }
    //shelves
    for (var i = 0; i <= width / 20; i += width / 20 * 2) {
        for (var l = 0; l <= height; l += 40 * 2) {
            rect(i, l - 15, width, 20)
            fill(101, 67, 33)
            strokeWeight(0)
        }
    }
    //bubbles
    for (var x = 4; x <= width; x += s * 2) {
        for (var y = 20; y <= height -100; y += s * 4) {
          ellipse (x, y, 5, 5)
          fill(225)
          strokeWeight(0)
        }
    }
    for (var x = -2; x <= width; x += s * 2) {
        for (var y = 15; y <= height -100; y += s * 4) {
          ellipse (x, y, 4, 4)
          fill(225)
          strokeWeight(0)
        }
    }
    for (var x = 0; x <= width; x += s * 2) {
        for (var y = 25; y <= height - 50; y += s * 4) {
          ellipse (x, y, 6, 6)
          fill(225)
          strokeWeight(0)
        }
    }





}

I was playing around with patterns and realized I had created a potion looking form by layering circles. I decided to add a background and bubbles coming up from the potions as well as potion racks to finish off the pattern

Austin Garcia – Project 4 – Section C

sketch

/*		Austin Garcia
		Section C
		aegarcia@andrew.cmu.edu
		Project - 04
*/

function setup() {
    createCanvas(600, 600);

}

function draw() {
    background(0);

// purple background
    stroke(80, 40, 200);
    for (var x1 = 0; x1 <= height; x1 += 10) {
      for (var y1 = 0; y1 < width; y1 += 4) {
        line(x1, y1, 3 * width, 2 * height)
      }
    }
// white 'god rays'
    stroke(255, 255, 255);
    for (var x2 = 2; x2 <= height; x2 += 100) {
      for (var y2 = 0; y2 < width; y2 += 100) {
        line(x2, y2, 0, 0)
      }
    }
// green wings bot
    stroke(30, 300, 55);
    for (var x3 = 0; x3 < width / 20; x3 += 60) {
      for (var y3 = 0; y3 <= 200; y3 += 4) {
        line(x3, y3, width, height)
      }
    }

    stroke(30, 300, 55);
    for (var x4 = 0; x4 < width / 20; x4 += 60) {
      for (var y4 = 0; y4 <= 200; y4 += 4) {
        line(x4, y4, width / 1.5, height / 1.5)
      }
    }

    stroke(30, 300, 55);
    for (var x5 = 0; x5 < width / 20; x5 += 60) {
      for (var y5 = 0; y5 <= 200; y5 += 4) {
        line(x5, y5, width / 2, height / 2)
      }
    }

    stroke(30, 300, 55);
    for (var x6 = 0; x6 < width / 20; x6 += 60) {
      for (var y6 = 0; y6 <= 200; y6 += 4) {
        line(x6, y6, width / 4, height / 4)
      }
    }

// green wings top
    stroke(30, 300, 55);
    for (var x7 = 0; x7 < width / 20; x7 += 60) {
      for (var y7 = 0; y7 <= 200; y7 += 4) {
        line(y7, x7, width, height)
      }
    }

    stroke(30, 300, 55);
    for (var x8 = 0; x8 < width / 20; x8 += 60) {
      for (var y8 = 0; y8 <= 200; y8 += 4) {
        line(y8, x8, width / 1.5, height / 1.5)
      }
    }

    stroke(30, 300, 55);
    for (var x9 = 0; x9 < width / 20; x9 += 60) {
      for (var y9 = 0; y9 <= 200; y9 += 4) {
        line(y9, x9, width / 2, height / 2)
      }
    }

    stroke(30, 300, 55);
    for (var x10 = 0; x10 < width / 20; x10 += 60) {
      for (var y10 = 0; y10 <= 200; y10 += 4) {
        line(y10, x10, width / 4, height / 4)
      }
    }







}

While experimenting with creating lines, I was fascinated with the way that arcs and curves can be perceived when straight lines intersect. I decided to try and make a butterfly-wing like shape projecting from a corner of the canvas

Austin Garcia – Looking Outwards – 04 – Section C

The Dolby Gallery by Leviathan

The Dolby Gallery installation by Leviathan utilizes sound to alter visual environments and art forms. The colors displays in this gallery are generated from famous visual artworks, reduced to primal colors and fragmented in order to create a flowing, abstract visual language. This amalgam of visual data is then transformed by the sounds played through nearby speakers. As these visual patterns flow and shift  to the music, you are enveloped in the soundscape – your audio and visual sensors stimulated by your surroundings. This allows for a beautiful conversation between visual art and sound, both of which are often abstracted from one another.

The Dolby Gallery

Austin Garcia – Project 03 – Section C

I tried many different ways to create mountains and alter them somehow with the mouse. I first attempted to create a gradient on the shapes to give a sense of the sun shining on them from different angles. Eventually, I had to settle for drawing lines along the yellow mountains to give the sense of fog crawling across them. Click the canvas then drag your mouse along it.

sketch

/*		Austin Garcia
		Section C
		aegarcia@andrew.cmu.edu
		Project - 03
*/
var x1 = 0;
var y1 = 100;
var x2 = 80;
var y2 = 100;
var x3 = 40;
var y3;
var mountain1 = 5;
var c1;
var c2;
var diffx = 0;
var diffy = 0;
var targetX = 300;
var targetY = 300;
var x = 300;
var y = 300;
var r

function setup() {
    createCanvas(400, 100);
    background(220);
    y3 = random(40, 90);
    c1 = ("yellow");



  //  triangle (x1, y1, x2, y2, x3, y3)

}

function draw() {


    r = random(80);


    fill(c1);

    strokeWeight(4);
    stroke(225);
    diffx = mouseX / 2 - x;
    diffy = mouseY / 2 - y;
    x = x + 0.1 * diffx;
    y = y + 0.1 * diffy;
    line(x1, y1, x, y);
    line(x2, y2, x, y);



}
    function mousePressed() {

      push();
      translate(mountain1, 0);
      strokeWeight(1)
      triangle (x1, y1, x2, y2, x3, y3);
      pop();


    mountain1 = mountain1 + r;
    y3 = r;

    if (mountain1 > 400) {
      strokeWeight(0);
    }
}

Austin Garcia – Looking Outwards – 03 – Section C

“Mass Regimes” by – Epiphyte Lab

The Epiphyte Lab’s study “Mass Regimes” is an exploration in implemented parametric modeling and CNC work. By programming a CNC machine to ‘print’ concrete in complex forms, they are able to experiment with the thermal properties of the concrete. These different computational forms all allow for differing heat transfer through the material. By studying the thermodynamic performance of different complex forms, the Epiphyte Lab is able to test new and unique thermal strategies for passive heating and cooling of buildings.

The Process for creating these surfaces most likely involved crafting parametric functions which created 3d digital models. These models were then read and ‘printed’ by a CNC machine capable of printing with Concrete. The specific parameters for these forms had to do with varying size, geometric complexity, and density of forms in order to experiment with the thermal properties of the concrete.

Austin Garcia – Project 02 – Variable Face – 03


sketch

/*		Austin Garcia
		Section C
		aegarcia@andrew.cmu.edu
		Project - 02
*/
// Simple beginning template for variable face.
var eyeSize = 20;
var faceWidth = 60;
var faceHeight = 150;
var pupilSize = 5;
var randomColor = color(random(255),random(255),random(255));
//var eyebrowR = 225
//var eyebrowL = 115


function setup() {
    createCanvas(300, 300);
}

function draw() {
    background(180);
    fill(245, 245, 220)
    ellipse(width / 2, height / 2, faceWidth,  faceHeight);
    var eyeLX = width / 2 - faceWidth * 0.25;
    var eyeRX = width / 2 + faceWidth * 0.25;
    var pupilLX = width / 2 - faceWidth * .25;
    var pupilRX = width / 2 + faceWidth * .25;
    ellipse(eyeLX, height / 2, eyeSize, eyeSize);
    ellipse(eyeRX, height / 2, eyeSize, eyeSize);
//  eyebrows
  //  line (eyeLX + 10, height - 100, eyeLX - 5, eyebrowL)
    //line (eyeRX + 10, height - 100, eyeLX - 5, eyebrowR)
//  pupils
    var randomColor = color(random(255),random(255),random(255));
    fill(randomColor)
    if  (mouseY > 150)
    fill(0)
    ellipse(pupilLX, height / 2, pupilSize, pupilSize);
    ellipse(pupilRX, height / 2, pupilSize, pupilSize);



  }
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(50, 100);
    faceHeight = random(100, 200);
    eyeSize = random(10, 30);
    pupilSize = random(2, 8);
  //  eyebrowL = random(100 - 120)
  //  eyebrowR = random(210 - 230)



}

Austin Garcia – Looking Outwards – 02 – Section C

David Bollinger generative art piece D20160112A

Original maze developed with simple forms

This simple piece of art is created as a maze and features several basic graphical elements all in isometric view. A maze is generated by randomizing different vertical connections such as stairs and ladders. This interests me because of my work in game design and this is a simple yet effective example of randomly generated maze design. The algorithm that created this not only generated a complex maze, but also pieced together the different vertical movement elements to generate a unique visual complexity out of simple elements.

A maze following the same language as the previous image made larger / more dificult