Friday, December 16, 2011

Final Project Documentation


Title:

Arabic Identity Patterns


Project Description & Intentions:

For this project, I wanted to bring the beauty of my culture, yet make everyone relate to it. Therefore, I have decided to use the Arabic letters to create different patterns according to a certain rules or locations set for every letter. The participant will be able to type three letters to create different patterns every time they play. I chose three as a number for the viewer’s inputs, because it is an enough input to represent a person’s identity and to create an interesting patterns. To clarify, people will start relating to the piece by their inputs such as, having their first initial of their full name or their loved ones. Moreover, choosing three letters will help with creating a high range of patterns, which will keep the participant interested to interact with the piece longer. However, each participant will read or see the piece differently according to their background. To clarify, a person who do not understand Arabic will only be able to see the transformation of the English letters and the beauty of the positive and negative space its creating. On the other hand, a participant who can read arabic will have an extra layer of understanding the letters and being able to read them. Therefore, each participant will have different experiences according to their inputs and knowledge.


Class Material Connection:

Desmond Paul Henry was my inspiration for my final project. I liked the simplicity of his work, where he repeated a simple shape in a piece and created an interesting dynamic results. I found it fascinating how a simple shape being continuously placed in a certain rule could have so much power on affecting the positive and negative space. Therefore, I decided for my final project to create patterns from repeated Arabic letters. When the participant will type three letters, positive and negative space will start playing a role in how people visualize each result. Moreover, I decided to use Processing to create my piece, so I can have a more playful and people engaged piece. Therefore, the computer will keep reacting to participants’ inputs and create different patterns through time.


Technical Description:

I used Processing, where I chose a specific studied locations for each letter to have a more interesting pattern. Then, I downloaded an Arabic font into Processing and used the Arabic keyboard to transfer each English letter the viewer press into Arabic. Therefore, the viewer will be using an English keyboard, but actually pressing Arabic letters, which creates a nice transformation between the input and the output. Finally, I have the piece projected on a wall for a better final presentation.


Images:

I started working on visualizing how I can have more interesting shapes to help me with setting the rules in Processing. I found that having the letters in flipped horizontally of vertically helps with that as you can see bellow:



I started experimenting my idea on English letters to see how it will work first:



Some examples of the final results:











Code:

PFont font;

char[] input = {'ا', 'ب', 'ت'};

int inputIndex = 0;


int x= 35;

int y= 50;


void keyPressed() {

if ( key >= 'ا' && key <= 'ي' && inputIndex < 3) {

input[inputIndex] = (char)(key);

inputIndex++;

}

if ( key == BACKSPACE && inputIndex > 0) {

inputIndex--;

input[inputIndex] = ' ';

}

if (key == ' ') {

input[0] = ' ';

input[1] = ' ';

input[2] = ' ';

inputIndex = 0;

}

}



void setup() {

size(350,303 );

background(255);

stroke(0);

//font = loadFont ("BankGothic-Medium-100.vlw");

font = createFont ("GEMBFaresMedium-Medium", 75);

}


void draw() {

background(0);

textFont (font);

textAlign(CENTER);

fill(255);

//1st

text(input[0], x, y);

pushMatrix();

translate(x+53, y);

scale(-1,1);

text(input[1], 0, 0);

popMatrix();

text(input[2], x+28, y+25);

//2nd

text(input[1], x+112, y);

pushMatrix();

translate(x+168, y);

scale(-1,1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+140, y+25);

scale(-1,1);

text(input[2], 0, 0);

popMatrix();

//3rd

pushMatrix();

translate(x+29, y+75);

scale(1,-1);

text(input[2], 0, 0);

popMatrix();

pushMatrix();

translate(x, y+100);

scale(1,-1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+56, y+99);

scale(-1,-1);

text(input[1], 0, 0);

popMatrix();

//4th

pushMatrix();

translate(x+138, y+75);

scale(-1,-1);

text(input[2], 0, 0);

popMatrix();

pushMatrix();

translate(x+168, y+100);

scale(-1,-1);

text(input[0], 0, 0);

popMatrix();


pushMatrix();

translate(x+112, y+100);

scale(1,-1);

text(input[1], 0, 0);

popMatrix();

}


No comments:

Post a Comment