/* joan soler-adillon www.joan.cat setembre 2006 */ /* Tota disciplina amb cara i ulls ha de saber retre homenatge als grans mestres del saber occidental. Aquest exemple és un doble homenatge als grecs: Zenó i Pitàgores. */ float xPos, xVel; float yPos, yVel; float sz = 20; void setup(){ size(400,400); xPos = width/2; yPos = height/2; xVel = 75; yVel = 75; framerate(60); noStroke(); smooth(); } void draw(){ //background(0); //proveu això enlloc de background(0);: fill(255,255,0,3); rect(0,0,width,height); //calculem la distància entre el ratolí i la bola incordiadora en els 2 eixos per separat float distanceX = mouseX-xPos; float distanceY = mouseY-yPos; /* La paradoxa de zenó diu que Aquiles mai atraparà la tortuga... La nostra bola semitransparent tampoc atraparà mai del tot el ratolí */ xPos = xPos + distanceX/xVel; yPos = yPos + distanceY/yVel; //I, com no, encara que no ho sembli, aquí teniu el teorema dels teoremes. //Així és com es calculen les distàncies en un entorn 2D com el que estem: //i en el nostre cas farem servir la distància per establir la mida de la bola float distanciaTotal = sqrt(distanceX*distanceX+distanceY*distanceY); // de fet, després de fer això m'he adonat que processing té la funció dis() que fa exactament el mateix! sz = distanciaTotal/2; //perquè dividit per dos? perquè sí, per estètica //i dibuixem la cosa fill(0,16); ellipse(xPos,yPos,sz,sz); }