Čaute, znova a opäť ja. Narazil som dneska na problém ohľadne vyplňovanie farbou. Potrebujem vyplniť strany 3D kocky lenže pri pokuse o vyplnenie mi program vždy spadne. Na internete som študoval veľa kódov podľa ktorých som to písal.
Môj kód
public void flood(int x, int y) {
//Overovanie či X,Y neni za hranicou
if (x < 0) return;
if (y < 0) return;
if (x >= canvas.getWidth()-1) return;
if (y >= canvas.getHeight()-1) return;
if ((graphic.getPixel(x, y).r==cervena.r) && (graphic.getPixel(x, y).g==cervena.g) && (graphic.getPixel(x, y).b==cervena.b)) return;
graphic.putPixel(x, y, cervena);
flood(x - 1, y);
flood(x + 1, y);
flood(x, y - 1);
flood(x, y + 1);
return;
}
Bohužiaľ keď to spustím vypíše mi chybu: Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
Myslím že sa jedná o tú rekurziu. Každopádne potrebujem poradiť nejaký algoritmus ktorý by mi to 3D teleso dokázal v rôznych uhloch pohľadu vyfarbiť. Mne osobne už dochádzajú nápady.
Ak máte nejaké nápady budem rád.