[Inf 1] Probleem bij het zoomen
Posted: Tue May 13, 2008 4:08 pm
Als eindwerk moeten wij een mandelbrot fractal kunnen tekenen in java (http://nl.wikipedia.org/wiki/Mandelbrot) en daar dan op kunnen zoomen door ergens te klikken. Na lang zwoegen is het tekenen gelukt en kan ik ook zoomen, maar slechts een keer! Ik heb een klasse gemaakt die een mouselistener implementeert en dan met de method :
Broodje is een klasse waarin een bufferedImage wordt geschreven die de mandelbrot mooi inkleurt. Deze hangt af van een minimum punt linksboven en tekent tot een maximumpunt rechtsonder. Als je ergens klikt worden deze punten bepaald ten opzichte van je klik en wordt de fractaal getekend. Het probleem is echter dat hij wel wil tekenen, maar dat bij de volgende klik er niets is aangepast aan mijn object Broodje b. Wanneer ik dus voor de tweede keer klik, is dit alsof ik klik op de image die is gerenderd wanneer ik mijn programma start en dus zoomt hij niet verder in.
Weet iemand wat ik mis doe en hoe ik dat zou kunnen oplossen?
Alvast bedankt!
Ben
edit(Robbe): heb even een nieuwe topic gemaakt, om de dingen wat logischer te houden
Code: Select all
public void mouseClicked(MouseEvent e){
double z = 10;
double xi = b.getxMin() +b.getdx()*(double)e.getX();//eventclick transformeren naar imaginaire coo
double yi = b.getyMin() +b.getdy()*(double)e.getY();
b.setBroodje(xi - (b.getxMax()-b.getxMin())/z,
xi + (b.getxMax()-b.getxMin())/z,
yi - (b.getyMax()-b.getyMin())/z,
yi + (b.getyMax()-b.getyMin())/z);
Broodje is een klasse waarin een bufferedImage wordt geschreven die de mandelbrot mooi inkleurt. Deze hangt af van een minimum punt linksboven en tekent tot een maximumpunt rechtsonder. Als je ergens klikt worden deze punten bepaald ten opzichte van je klik en wordt de fractaal getekend. Het probleem is echter dat hij wel wil tekenen, maar dat bij de volgende klik er niets is aangepast aan mijn object Broodje b. Wanneer ik dus voor de tweede keer klik, is dit alsof ik klik op de image die is gerenderd wanneer ik mijn programma start en dus zoomt hij niet verder in.
Weet iemand wat ik mis doe en hoe ik dat zou kunnen oplossen?
Alvast bedankt!
Ben
edit(Robbe): heb even een nieuwe topic gemaakt, om de dingen wat logischer te houden