xxxxxxxxxx
/* @pjs preload="ASKEW_A.jpg"; */
PImage img;
import java.util.List;
final List<PVector> pts = new ArrayList<PVector>();
void setup() {
img = loadImage("ASKEW_A.jpg");
size(500, 500, P3D);
findPoints();
}
void draw () {
background(255);
for (int i = pts.size()-1; i >= 0; i --){
PVector pt = pts.get(i);
fill(pt.z);
noStroke();
for (int j = pts.size()-1; j >= 0; j --){
if(i>1){
PVector pt2 = (PVector)pts.get(j);
if (pt.dist(pt2) < 20){
int r = mouseX/((int)tan(5))/2;
float x = r * sin(radians(i*(360.0/ (mouseX) )));
float y = r * sin(radians(i*(360.0/ (mouseY) )));
int r1 = mouseY/((int)tan(5))/2;
float x1 = r1 * sin(radians(i*(360.0 / (mouseX))));
float y1 = r1 * sin(radians(i*(360.0 / (mouseY))));
stroke(50);
line(pt.x + x, pt.y + y,
pt2.x + x1, pt2.y + y1);
}
}
}
}
}
void findPoints(){
img.loadPixels();
for (int i = img.width-1; i >= 0; i -= 5){
for (int j = img.height; j >=0; j -= 5){
color c = img.get(i, j);
if (brightness(c) < 255){
pts.add(new PVector(i, j, brightness(c)));
}
}
}
}