ICM Blog Post 1

While I was completing my undergraduate degree, I used programming to sort through data sets and map data points. I used programming to simulate various scientific models and in research to simulate antenna patterns. I haven’t really had the chance to use programming in a more creative way, yet. In the future, I want to be able to make interactive computer graphics. I hope to make a couple of projects that are interactive and differ from user to user. A project that I love is Meshy by Golan Levin. I enjoy how geometric and continuous the drawing environment is and how interactive it can be. I also like different patterns are incorporated into the piece. From the ICM Inspiration page, I liked BlokDust. I think that it has a nice and easy to follow interface. It is an easy way to explore different computer music principals and it is fun to play with.

Meshy (1998, documented 2012). Credit to Golan Levin.

BlockDust (2015). Credit to Blockdust.

The process of creating my sketch was relatively easy. I had some difficulty coming up with an idea to sketch, but the execution was quite simple. I am pretty familiar with creating objects using a cartesian plane, but it always takes me a little while to get started. Whenever I work with specific points and shapes, I always get frustrated with the time it takes to place the shape or point exactly where I’d like it to be. The biggest pitfall I ran into was breaking down my sketch into specific geometric shapes and documenting my process. I modified the sketch as I created the sketch, so I didn’t really have a full plan.

The web editor was pretty easy and being able to see the sketch automatically was quite pleasant compared to using terminal. I could not figure out how to rotate an object around a set, fixed axis, but someone had already asked this question onto github.

Preliminary sketch of alien portrait, very rough sketch.

Preliminary sketch of alien portrait, very rough sketch.

Random numbers and pictures that I jotted down while creating the sketch.

Random numbers and pictures that I jotted down while creating the sketch.

Finished sketch of an alien.  Click here to view the code for the sketch.  (Code is also right below the sketch.)

Finished sketch of an alien. Click here to view the code for the sketch. (Code is also right below the sketch.)

function setup() {
  createCanvas(500, 300);
  background(200);
  noStroke();
  fill(100, 100, 100); //grey
  rect(0, 275, 500, 300); //background "ground"
  fill(57, 225, 20); //neon green color
  ellipse(250, 190, 125, 145); //head
  ellipse(250, 350, 50, 200); //body
  fill(0, 0, 0); //black
  arc(281, 180, 10, 30, 0, PI, OPEN); //bottom half right eye
  arc(219, 180, 10, 30, 0, PI, OPEN); //bottom half left eye
  ellipse(281, 180, 10, 10); //top half right eye
  ellipse(219, 180, 10, 10); //top half right eye
  ellipse(250, 230, 15, 20); //mouth
  fill(255, 0, 255); //fuchsia 
  ellipse(250, 130, 30, 15); //head mark top
  ellipse(250, 145, 20, 10); //head mark mid
  ellipse(250, 155, 10, 5); //head mark bot
  ellipse(250, 275, 15, 5); //body detail top
  ellipse(250, 285, 15, 5); //body detail mid
  ellipse(250, 295, 15, 5); //body detail mid

  //moon & details
  fill(211, 213, 180);
  ellipse(400, 100, 100, 100);
  fill(215, 220, 190);
  ellipse(405, 95, 80, 84);
  fill(220, 225, 200);
  ellipse(410, 90, 60, 68);
  fill(225, 230, 210);
  ellipse(415, 85, 40, 52);
  fill(165, 180, 180);
  ellipse(430, 97, 20, 17);
  fill(175, 192, 189);
  ellipse(430, 97, 15, 13);
  fill(165, 180, 180);
  ellipse(390, 65, 20, 15);
  fill(175, 192, 189);
  ellipse(390, 65, 15, 10);
  fill(165, 180, 180);
  ellipse(380, 135, 10, 5);
  fill(175, 192, 189);
  ellipse(380, 135, 5, 3);
  fill(165, 180, 180);
  ellipse(385, 125, 15, 13);
  fill(175, 192, 189);
  ellipse(385, 125, 10, 9);
  fill(175, 192, 189);
  ellipse(420, 130, 2, 1);
  ellipse(425, 120, 3, 2);
  ellipse(400, 80, 5, 3);
  ellipse(370, 70, 4, 2);

  //light beam
  fill(31, 205, 241, 20);
  quad(220, 0, 150, 300, 350, 300, 280, 0);
  fill(31, 205, 241, 40);
  quad(240, 0, 170, 300, 330, 300, 260, 0);
  fill(31, 205, 241, 60);
  quad(249, 0, 240, 300, 260, 300, 251, 0);
}
ICMOlivia KungICM