Demonstrační aplikace pro vytváření fraktálů pomocí L-IFS systémů
Zdrojový text metody chooseControlPoint()
// ------------------------------------------------------------------------
// Tato metoda vybere číslo další transformace pro generování fraktálního
// objektu pomocí L-IFS systému. Při výběru další transformace se musí
// vycházet z matice posloupnosti transformací, tj. předchozí a nově
// vybraná transformace musí být v matici povolena.
// ------------------------------------------------------------------------
int chooseControlPoint(int oldTransformation, // index předchozí transformace
TMatrix matrix, // matice posloupnosti transformací
int activeVertexes) // počet uzlů v grafu (transformací)
{
int newTransformation;
Random rand=new Random(0); // vytvořit generátor náhodných čísel
do { // vygenerovat číslo nové transormace
newTransformation=(int)(r.nextDouble()*activeVertexes);
// test na korektnost vybrané transformace
} while (! matrix[oldTransformation][newTransformation]);
return newTransformation; // vrátit číslo vybrané transformace
}
// ------------------------------------------------------------------------
// Konec metody chooseControlPoint()
// ------------------------------------------------------------------------