91. I have always been drawn toward patterned surfaces, and particularly textiles in which pattern is inherent
41. Teetering towers of hamburgers, drippy stacks of syrupy waffles, sticky piles of sugary candy...Junk food
This sketch creates patterns ready to be produced on woven blankets. Symmetric patterns are created
algorithmically using simple geometric shapes to replicate some traditional Navajo serape designs.
The patterns are then textured and colorized using hi-res photographs of junk food.
The final result depicted was digitally print-woven. The images below are a sample of the random outputs.
Artist Statement:
1. View the art.
1b. Think about your reactions to the art.
2. Read the threads.
2b. Think about how this relates to the art.
3. Read the description.
3b. Think about how this changes your reaction.
4. Read about the project.
4b. Think about the artist's choices in relationship to the art and your reactions.
5. Think about the purpose of artist statements.
5b. Think about these steps and the experience you just had.
Tri tri;
void setup(){
size(2280,3240);
tri = new Tri();
colorMode<(HSB,1.0);
background(1);
noStroke();
}
void draw(){
tri.updat>e();
}
class Tri{
float x1,y1,x2,y2,x3,y3;
float centerX,centerY;
float wid, hi;
int row, col,num;
int colorCount;
int resetNum;
int dir;
boolean showIt;
Tri(){
resetNum = 0;
num=0;
col=0;
dir = 1;
wid = 114;
hi = 36;
colorCount=0;
centerX=-wid;
centerY=hi;
showIt = true;
}
void update(){
centerX+=wid;
num++;
if(centerY>height/2){
if(resetNum==0||resetNum==1){
reset();
}
}
if(centerY>height){
if(resetNum==2){
reset();
}
}
if(centerX>width){
centerY+=hi*2;
col++;
centerX=0;
colorCount = col;
if(col%2==0){
num=1;
}
else{
num=0;
}
}
chooseColor();
//checkShow();
if(num%2==0){
displayUp();
}
else{
displayDown();
}
colorCount+=dir;
if(colorCount==10){
colorCount=0;
}
else if(colorCount==-1){
colorCount=10;
}
}
void checkShow(){
if(resetNum == 0){
if(centerX > width/2 || centerY>height/2){
showIt=false;
}
else{
showIt =true;
}
}
else if(resetNum == 1){
if(centerX < width/2 || centerY>height/2){
showIt=false;
}
else{
showIt =true;
}
}
}
void chooseColor(){
if(colorCount%10==0){
fill(.1,.5,.7);
}
else if(colorCount%10==1){
fill(.1,.5,.7);
}
else if(colorCount%10==2){
fill(.5,.5,.7);
}
else if(colorCount%10==3){
fill(.5,.5,.7);
}
else if(colorCount%10==4){
fill(.3,.5,.7);
}
else if(colorCount%10==5){
fill(.3,.5,.7);
}
else if(colorCount%10==6){
fill(.9,.5,.7);
}
else if(colorCount%10==7){
fill(.9,.5,.7);
}
else if(colorCount%10==8){
fill(.7,.5,.7);
}
else{
fill(.7,.5,.7);
}
}
void displayDown(){
x1 = centerX-wid;
x2 = centerX+wid;
x3 = centerX;
y1 = centerY-hi;
y2 = centerY-hi;
y3 = centerY+hi;
triangle(x1, y1, x2, y2, x3, y3);
}
void displayUp(){
x1 = centerX-wid;
x2 = centerX+wid;
x3 = centerX;
y1 = centerY+hi;
y2 = centerY+hi;
y3 = centerY-hi;
triangle(x1, y1, x2, y2, x3, y3);
}
void reset(){
/*
resetNum++;
if(resetNum == 1){
centerX=width/2;
centerY=hi;
colorCount = 9;
dir = -1;
}
else if(resetNum==2){
centerX=-wid;
centerY=height/2;
dir = 1;
colorCount = 0;
}
else{
centerX=width/2;
centerY=height/2;
dir = -1;
colorCount=9;
}
*/
}
}
void mousePressed(){
save("New2.png");
exit();
}
PImage [] textures;
PImage template;
PImage [] useThese;
int[] theList;
int numTextures = 6;
boolean done = false;
void setup() {
size(2280,3240);
colorMode(HSB,1.0);
background(1);
useThese = new PImage[5];
theList = new int[5];
//choose 5 random numbers
template = loadImage("bigOne.jpg");
textures = new PImage[numTextures];
for(int i=0; i<textures.length;i++){
textures[i] = loadImage("tex"+i+".jpg");
}
redo();
}
void redo(){
noLoop();
image(template,0,0);
loadPixels();
done=false;
int currentSpot = 0;
boolean place;
while(!done){
int r = int(random(0,numTextures));
place = true;
for(int a=0;a<currentSpot; a++){
if(theList[a]==r){
place = false;
}
}
if(place){
theList[currentSpot] = r;
useThese[currentSpot] = textures[r];
currentSpot++;
}
if(currentSpot == useThese.length){
done = true;
}
}
//preset
theList[0] = 3;
theList[1] = 0;
theList[2] = 3;
theList[3] = 4;
theList[4] = 5;
for(int i=0;i<5;i++){
textures[i].loadPixels();
println(theList[i]);
}
for(int i=0;i<pixels.length;i++){
float h = hue(pixels[i]);
if(abs(h-.1)<.05){
pixels[i]= textures[theList[0]].pixels[i];
}
else if(abs(h-.3)<.05){
pixels[i]= textures[theList[1]].pixels[i];
}
else if(abs(h-.5)<.05){
pixels[i]= textures[theList[2]].pixels[i];
}
else if(abs(h-.7)<.05){
pixels[i]= textures[theList[3]].pixels[i];
}
else{
pixels[i]= textures[theList[4]].pixels[i];
}
}
updatePixels();
save(millis()+".tif");
exit();
redo();
}