int Tiefe=2;
int x=250;
public void paint(Graphics g){
super.paint(g);
zeichnen();
}
public void zeichnen(){
turtleshow(-0.0,1.0,-0.1,1.0);
Punkt p1 = new Punkt();
Punkt p2 = new Punkt(1.0, 0.0);
Punkt p3 = new Punkt(0.5,(Math.sqrt(3)/2));
pendown();
Sierpinski(p1,p2,p3,Tiefe);
}
Punkt transLU(Punkt p){
Punkt hPunkt = new Punkt();
hPunkt.setX(0.5*p.getX());
hPunkt.setY(0.5*p.getY());
return( hPunkt );
}
Punkt transRU(Punkt p){
Punkt hPunkt = new Punkt();
hPunkt.setX(0.5*p.getX()+0.5);
hPunkt.setY(0.5*p.getY());
return( hPunkt );
}
Punkt transMO(Punkt p){
Punkt hPunkt = new Punkt();
hPunkt.setX(0.5*p.getX()+0.25);
hPunkt.setY(0.5*p.getY()+Math.sqrt(3)/4);
return( hPunkt );
}
void Sierpinski(Punkt p1, Punkt p2, Punkt p3, int rekTiefe){
if(rekTiefe>1){
Sierpinski(transLU(p1), transLU(p2), transLU(p3), rekTiefe-1);
Sierpinski(transRU(p1), transRU(p2), transRU(p3), rekTiefe-1);
Sierpinski(transMO(p1), transMO(p2), transMO(p3), rekTiefe-1);
}
else{
setposition(p1.getX(), p1.getY());
linie_bis(p2.getX(),p2.getY());
linie_bis(p3.getX(),p3.getY());
linie_bis(p1.getX(),p1.getY());
}
}