Hallo zusammen,
zuerst ein Bild:
Was hier zu sehen ist, ist eine Mandelbrotmenge (siehe Wikipedia).
Da dieses konstrukt nur mit viel rechenaufwand berechnet werden kann, verteile ich die Berechnung an verschiedene Server.
Soweit so gut...
Die Bereiche die von den verschiedenen Servern berechnet werden sind leicht zu erkennen, das ist nicht gewollt!
Die Schwarzen Linien entstehen beim aufruf von
Und zwar nur dann, wenn g.drawImage() auch tatsächlich ausgeführt wird.
Man könnte nun denken, dass das Bild selbst das Problem ist.
Schön wäre es, dann wär das Problem gelöst und der Eintrag hier nicht geschrieben...
Ich hoffe auf Eure Hilfe...
Achso,
falls noch interessant (da passiert eigentlich nichts mehr), der rest der Klasse:
zuerst ein Bild:
Was hier zu sehen ist, ist eine Mandelbrotmenge (siehe Wikipedia).
Da dieses konstrukt nur mit viel rechenaufwand berechnet werden kann, verteile ich die Berechnung an verschiedene Server.
Soweit so gut...
Die Bereiche die von den verschiedenen Servern berechnet werden sind leicht zu erkennen, das ist nicht gewollt!
Die Schwarzen Linien entstehen beim aufruf von
Java:
@Override
public void paint(Graphics g) {
if (this.mFractal.containsImage()) {
g.drawImage(this.mFractal.getImage(), 0, 0, this);
}
}
Man könnte nun denken, dass das Bild selbst das Problem ist.
Schön wäre es, dann wär das Problem gelöst und der Eintrag hier nicht geschrieben...
Ich hoffe auf Eure Hilfe...
Achso,
falls noch interessant (da passiert eigentlich nichts mehr), der rest der Klasse:
Java:
public class FractalScreenPartition extends Component {
private Fractal mFractal;
private int mRow;
private int mCol;
public FractalScreenPartition(Fractal fractal, int row, int col) {
this.mFractal = fractal;
this.mRow = row;
this.mCol = col;
Dimension dim = new Dimension(fractal.getMWidth(), fractal.getMHeight());
this.setLocation(col*this.mFractal.getMWidth(), row*this.mFractal.getMHeight());
this.setSize(dim);
System.out.println(this.getBounds());
if(!this.mFractal.containsImage()){
// Starte Thread der das fractal berechnet
Thread t = new Thread(new ClientRunner(this));
t.start();
}
}
public void setFractal(Fractal fractal){
this.mFractal = fractal;
}
@Override
public void paint(Graphics g) {
if (this.mFractal.containsImage()) {
g.drawImage(this.mFractal.getImage(), 0, 0, this);
}
}
public Fractal getFractal(){
return this.mFractal;
}
}