Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

int gridW = 15;
int gridH = 15;
int xStep = 60;
int yStep = 60;


PShape[] imageList; 

void setup()
{
 size(800, 800);
 smooth();

 imageList = new PShape[9];
 imageList[0] = loadShape("perm1.svg");
 imageList[1] = loadShape("perm2.svg");
 imageList[2] = loadShape("perm3.svg");
 imageList[3] = loadShape("perm4.svg");
 imageList[4] = loadShape("perm5.svg");
 imageList[5] = loadShape("perm6.svg");
 imageList[6] = loadShape("perm7.svg");
 imageList[7] = loadShape("perm8.svg");
 imageList[8] = loadShape("perm9.svg");
}

void draw()
{
 background(255);
 int newIndex;
 for (int i=0; i < gridW; i++)
 {
 for (int j=0; j < gridH; j++)
 {
 PVector pos = new PVector(i * xStep, j * yStep);
 newIndex = calcIndex(pos, imageList.length);
 pushMatrix();
 translate(pos.x, pos.y);
 scale(.5);
 shape(imageList[newIndex], 0, 0);
 popMatrix();
 }
 }
}

int calcIndex(PVector obj, int maxIndex)
{
 float distance = dist(obj.x, obj.y, mouseX, mouseY);
 return (int)map(distance, 0, dist(0, 0, width, height), 0, maxIndex-1);
}