import java.applet.*; import java.awt.*; import java.awt.image.*; import java.awt.event.*; import java.io.*; import java.net.*; import java.text.*; import java.util.*; import java.util.zip.*; public class sketch_cubo_fractal2 extends BApplet { float xmag, ymag = 0; float newXmag, newYmag = 0; int Delay=7; void setup() { size(400, 400); colorMode(RGB, 100); background(90, 90, 90); } void loop() { translate(width/2, height/2, -70); newXmag = mouseX/(float)(width) * TWO_PI; newYmag = mouseY/(float)(height) * TWO_PI; float diff = xmag-newXmag; if (abs(diff) > 0.01f) { xmag -= diff/Delay; } diff = ymag-newYmag; if (abs(diff) > 0.01f) { ymag -= diff/Delay; } rotateX(ymag); rotateY(xmag); calculate(80,0,0,0); } void calculate (int lato, int xloc, int yloc, int zloc) { draw_target(lato,xloc,yloc,zloc); if(lato>10){ calculate(lato/2,xloc+lato*2,yloc,zloc); calculate(lato/2,xloc-lato*2,yloc,zloc); calculate(lato/2,xloc,yloc+lato*2,zloc); calculate(lato/2,xloc,yloc-lato*2,zloc); calculate(lato/2,xloc,yloc,zloc+lato*2); calculate(lato/2,xloc,yloc,zloc-lato*2); } } void draw_target(int lato, int xloc, int yloc, int zloc) { push(); translate(xloc, yloc, zloc); fill(lato*3, lato*3, lato*3); box(lato); pop(); /*if (lato>10){ int dist=lato*2 draw_target(10,0,0,30); draw_target(lato/2,xloc,yloc,zloc+dist); draw_target(lato/2,xloc,yloc+dist,zloc); draw_target(lato/2,xloc,yloc-dist,zloc); draw_target(lato/2,xloc+dist,yloc,zloc); draw_target(lato/2,xloc-dist,yloc,zloc); }*/ } }