How I made it: My Identity

If you've visited my portfolio, you have probably seen a project entitled "My Identity". I created a brand for myself using a very basic (and rather recreational) form of Data Visualization. I took my first name and used a simple substitution method where A = 1, B = 2 and so forth.

Turning letters into numbers allowed me to have a (very small) data set with which to play:

int[] letters = { 1, 14, 21, 16, 14, 9, 16 }; //ANTONIO

I then read this post by the amazing Daniel Shiffman about converting polar coordinates to Cartesian ones and decided I would turn my dataset into a polar plot. I wanted to do this using parameters of course, (hence having my letters into an array) and then I created this function:

r = 0;
theta = radians(-90);
increment = TWO_PI/count; //the angular increment


void grid() {
  for (int i=0; i < count; i++) {
    float xPos = letters[i]*10 * cos(theta);  //rectangular to polar coords.
    float yPos = letters[i]*10 * sin(theta);
    positionsX[i] = xPos;
    positionsY[i] = yPos;
    theta+= increment;
  }
}

The following step involved drawing these dots in the canvas and drawing lines connection each dot. This can be done in different ways. In Processing, one might chose to use PVector instead of line because it allows more control over the shapes, but since my final goal was to export the shape to Illustrator, I went with the good ol' line object.

 

void draw() {
  background(255);
  // Translate the origin point to the center of the screen
  translate(width/2, height/2);

  //svg.beginDraw(); // And record this one

  // draw lines between all the nodes
  for (int i=0; i < count-1; i++) { //count-1 or else OutOfBounds!
    for (int a = 1; a < count; a++) {
      stroke(31, 112, 131, 90); //color code un RGBA
      strokeWeight(2);
      line (positionsX [i], positionsY [i], positionsX[a], positionsY[a]);
    }
  }

  // draw ellipses in the posoition of the nodes
  for (int i=0; i < count; i++) {
    float xVal = positionsX [i];
    float yVal = positionsY [i];
    noStroke();
    fill(#3c6a78);
    ellipseMode(CENTER);
    ellipse(xVal, yVal, 9, 9);
  }

Finally, I used the free library P8gGraphicsSVG to export an SVG from Processing and edited it in Illustrator to my liking. I created a fluid identity, exploring form and meaning by selectively removing some of the lines that Processing had drawn. 

And that's about it. If you found this post interesting or would like to see more of the source code, please leave a comment or send me a message. I would me more than happy to hear from you!