|
|
||
| Source code | Source code | |
| BImage a; boolean onetime = true; int[][] aPixels; float sval = 1.0; float nmx, nmy; int res = 1; void setup() { size(200, 200); noFill(); stroke(255); aPixels = new int[width][height]; a = loadImage("smalldiatom.jpg"); image(a, 50, 50); for(int i=0; i<height; i++) { for(int j=0; j<width; j++) { aPixels[j][i] = a.pixels[i*width+j]; } } } void loop() { background(21); if (abs(mouseX - nmx) > 1.0) { nmx = nmx + (mouseX-nmx)/40; } if (abs(mouseY - nmy) > 1.0) { nmy += (mouseY-nmy)/20; } if(mousePressed) { sval += 0.1; } else { sval -= 0.2; } if(sval > 2.5) { sval = 2.5; } if(sval < 1.0) { sval = 1.1; } translate(width/2+nmx*sval-100, height/2+nmy*sval-50, -50); scale(sval); rotateZ(PI/0.8-sval+0.5); rotateX(PI/sval/5.8-0.25); rotateY(sval/0.5-0.25); translate(-width/3, -height/2, 0); float rr, gg, bb, tt; for(int i=0; i<height; i+=res) { for(int j=0; j<width; j+=res) { rr = red(aPixels[j][i]); gg = green(aPixels[j][i]); bb = blue(aPixels[j][i]); tt = rr+gg+bb; stroke(rr, gg, gg); line(i, j, tt/10-20, i, j, tt/10 ); } } } void keyPressed() { if(key == '1') { res = 1; } else if (key == '2') { res = 2; } else if (key == '3') { res = 3; } else if (key == '4') { res = 4; } else if (key == '5') { res = 5; } } |
BImage a; boolean onetime = true; int[][] aPixels; float sval = 1.0; float nmx, nmy; int res = 1; void setup() { size(200, 200); noFill(); stroke(255); aPixels = new int[width][height]; a = loadImage("smalldiatom.jpg"); image(a, 50, 50); for(int i=0; i<height; i++) { for(int j=0; j<width; j++) { aPixels[j][i] = a.pixels[i*width+j]; } } } void loop() { background(21);
if (abs(mouseX - nmx) > 1.0) { nmx = nmx + (mouseX-nmx)/40; } if (abs(mouseY - nmy) > 1.0) { nmy += (mouseY-nmy)/20; }
if(mousePressed) { sval += 0.1; } else { sval -= 0.2; } if(sval > 2.5) { sval = 2.5; } if(sval < 1.0) { sval = 1.1; }
translate(width/2+nmx*sval-100, height/2+nmy*sval-50, -50); scale(sval); rotateZ(PI/0.8-sval+0.5); rotateX(PI/sval/18-5.125); rotateY(sval/15-0.25);
translate(-width/3, -height/2, 0);
float rr, gg, bb, tt; for(int i=0; i<height; i+=res) { for(int j=0; j<width; j+=res) { rr = red(aPixels[j][i]); gg = green(aPixels[j][i]); bb = blue(aPixels[j][i]); tt = rr+gg+bb; stroke(rr, gg, gg); line(i, j, tt/10-20, i, j, tt/10 ); } } } void keyPressed() { if(key == '1') { res = 1; } else if (key == '2') { res = 2; } else if (key == '3') { res = 3; } else if (key == '4') { res = 4; } else if (key == '5') { res = 5; } } |
|
| Built with Processing |