2009年3月16日 星期一

2D array sample code 1

float[][] distances;
float maxDistance;
void setup() {
size(200, 200);
background(0);
}
void draw() {
float d1, d2, d3, d4;
d1 = dist(mouseX, mouseY, 0, 0);
d2 = dist(mouseX, mouseY, width, height);
d3 = dist(mouseX, mouseY, 0, height);
d4 = dist(mouseX, mouseY, width, 0);
maxDistance = max(d1, d2, d3);
maxDistance = max(d4, maxDistance);
distances = new float[width][height];
for(int i=0; i < height; i++) {
for(int j=0; j < width; j++) {
float d = dist(mouseX, mouseY, j, i);
distances[j][i] = d/maxDistance * 255;
}
}
for(int i=0; i < height; i+=2) {
for(int j=0; j < width; j+=2) {
stroke(distances[j][i]);
point(j, i);
}
}
}

沒有留言:

張貼留言