Gra w chaos
Janusz Sobieraj - 28 LO

Gra w chaos

Ciekawym algorytmem pozwalającym otrzymać trójkąt Sierpińskiego jest gra w chaos.
Narysujmy trzy punkty A, B i C tak, żeby nie leżały na jednej prostej.
Wybierzmy dowolny punkt D, leżący wewnątrz    ΔABC (Możemy wybrać także punkt spoza wnętrza    trójkąta, wtedy kilka pierwszych punktów nie będzie    należała do Trójkąta Sierpińskiego).
losowo wybieramy jeden z punktów A, B lub C,    rysujemy punkt w połowie odległości między D
   i wybranym punktem.
   Nowo narysowany punkt oznaczamy przez D..
Punkt 2° powtarzamy dostatecznie długo..

Aplet startuje tak, że punkty A, B i C tworzą Δrównoboczny (do którego zawsze można powrócić) Wylosowanie punktu A, B lub C jest sygnalizowane zmianą koloru punktu D odpowiednio:
RED (A), GREEN (B) oraz BLUE (C).
Myszą zmienisz położenie punktu C - sprawdzimy dodatkowo uniwersalność algorytmu.

void wierzcholki() 
{double h=0.5*bok*Math.sqrt(3); 
  w[0]=new pkt2d(-bok/2,-h/3+v); 
  w[1]=new pkt2d(-w[0].x,w[0].y); 
  w[2]=new pkt2d(0,2*h/3+v); 
  p=new pkt2d(0,0); 
  pam.war(w[2].x,w[2].y); 
} 
//------------------------------------------------- 
pkt2d srodek(pkt2d x,pkt2d y) 
{ 
 return new lo28.pkt((x.x+y.x)/2,(x.y+y.y)/2); 
} 
//------------------------------------------------- 
void gra(Graphics g) 
{int los,i; 
  for(i=0;i<5000;i++) 
  { 
    los=mat.losowa_c(3); 
    p=srodek(p,w[los]); 
    lo28.punkt(g,p); 
  } 
}
Obok szczegóły algorytmu. Jest bardzo prosty. Można go oczywiście dowolnie wzbogacać i modyfikować.
Jako przykład zobacz opracowanie i rozwinięcie tego pomysłu.