První demonstrační aplikace pro simulaci difúze
Zdrojový text metody applyDiffuse()
// -----------------------------------------------------------------------
// Vlastní aplikace prvního algoritmu difúze, který je založen
// na připojování náhodně generovaných bodů k vytvářenému objektu
// -----------------------------------------------------------------------
private void applyDiffuse() {
boolean doneInnerLoop;
int counter=0;
int xi, yi;
int i=0;
do { // vnější smyčka, která se zastaví
doneInnerLoop=false; // po nastavení ukončovací podmínky
do { // vnitřní smyčka
double x=Math.random()*(float)(width-2)+1; // generovat bod
double y=Math.random()*(float)(height-2)+1;
xi=(int)x;
yi=(int)y;
if (neighboor(neighboorType, xi, yi)) { // pokud se bod nachází v blízkosti obrazce
putPoint(xi, yi); // přidat ho do fraktálu
doneInnerLoop=true; // a ukončit vnitřní smyčku
}
} while (!doneInnerLoop);
counter++;
if (counter==50) { // průběžný výpis práce programu
label.setText("Points: "+String.valueOf(i));
counter=0;
}
i++;
} while (!checkStopCondition(i, xi, yi)); // test na ukončení vnější smyčky
}
// -----------------------------------------------------------------------
// Konec metody applyDiffuse().
// -----------------------------------------------------------------------