Demonstrační aplikace pro vytváření fraktálů pomocí L-IFS systémů
Zdrojový text metody initModel()
// ------------------------------------------------------------------------
// Tato metoda provádí inicializaci nastaveného modelu fraktálu.
// ------------------------------------------------------------------------
private void initModel(int model) {
xFraction=XFractions[model]; // získat poměr dělení úseček ve
yFraction=YFractions[model]; // směru obou os
iterations=MaxIterations[model]; // získat maximální počet iterací
startIterations=StartIterations[model]; // získat počet startovních iterací
activeVertexes=MaxVertexes[model]; // získat index aktivního vertexu
filterType=Filters[model]; // získat index vybraného filtru
for (int i=0; i<8; i++) { // smyčka přes všechny vertexy
vertexX[i]=Vertexes[model][i*2]; // kopie hodnot
vertexY[i]=Vertexes[model][i*2+1];
}
for (int j=0; j<8; j++) { // kopie hodnot prvků z matice
for (int i=0; i<8; i++) { // posloupnosti transformací
restrictions[j][i]=Restrictions[model][i+(j<<3)]!=0;
}
}
choiceVertexes.select(activeVertexes-3); // nastavení list-boxů
choiceFilter.select(filterType);
scrollBarIterations.setValue(iterations); // nastavení sliderů
scrollBarStartIterations.setValue(startIterations);
scrollBarXFraction.setValue((int)(xFraction*1000.0));
scrollBarYFraction.setValue((int)(yFraction*1000.0));
labelIterations.setText("Iterations: "+String.valueOf(iterations));// nastavení textových navěstí
labelStartIterations.setText("Start iterations: "+String.valueOf(startIterations));
labelXFraction.setText("X-fraction "+String.valueOf(xFraction));
labelYFraction.setText("Y-fraction "+String.valueOf(yFraction));
recalcFractal(); // prepočet fraktálu
}
// ------------------------------------------------------------------------
// Konec metody initModel()
// ------------------------------------------------------------------------