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.*; import netscape.javascript.*; import javax.comm.*; import javax.sound.midi.*; import javax.sound.midi.spi.*; import javax.sound.sampled.*; import javax.sound.sampled.spi.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.sax.*; import javax.xml.transform.stream.*; import org.xml.sax.*; import org.xml.sax.ext.*; import org.xml.sax.helpers.*; public class relations extends BApplet {// RELATIONS -- LARVAE EVOLUTION -- // by Alessandro Capozzo March 2004 www.ghostagency.net // inspired by Reynolds boids algorithm // built with proce55ing alpha .68 Structure [] list; int num=3; int countList=50; int medx,medy; void setup() { size(600,400); smooth(); framerate(30); list=new Structure[countList]; for(int index=0;indexlimitV){ velocityX=limitV; } if(velocityY>limitV){ velocityY=limitV; } if(velocityX<-limitV){ velocityX=-limitV; } if(velocityY<-limitV){ velocityY=-limitV; } bx=bx+(int)(velocityX); by=by+(int)(velocityY); if(bx<30){ if(velocityX<0){ velocityX+=1; } if(bx<0){ bx+=30; } } if(by<30){ if(velocityY<0){ velocityY+=1; } if(by<0){ by+=30; } } if (bx>(width-30)){ if(velocityX>0){ velocityX-=1; } if(bx>width){ bx-=30; } } if (by>(height-30)){ if(velocityY>0){ velocityY-=1; } if(by>height){ by-=30; } } } } void distance(){ objX=cont[me-1].bx-bx; objY=cont[me-1].by-by; dist=sqrt(sq(objX)+sq(objY)); if(abs(dist)!=15){ objY+=.01f; objX+=.01f; beta=(float)(Math.atan(objY/objX)); if(cont[me-1].by>=by){ radius=15; }else { radius=-15; } if(beta>0){ bx=cont[me-1].bx-(int)((radius)*cos(beta)); by=cont[me-1].by-(int)((radius)*sin(beta)); }else { bx=cont[me-1].bx+(int)((radius)*cos(beta)); by=cont[me-1].by+(int)((radius)*sin(beta)); } line(cont[me-1].bx,cont[me-1].by,bx,by); } } } } }