Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 04-10-2006, 01:26
Kurogane
Avatar van Kurogane
Kurogane is offline
Oke ik moet dus voor mijn studie een mandelbrotfiguur maken en de kleuren moeten veranderen en die moeten afhangen van het mandelgetal. Bijv
zwart = oneven
wit = even

dus heb ik dit ergens vandaan gezien:

if (this.berekenMandelGetal(x * schaalFactor + middenX, y * schaalFactor + middenY) % 2 == 0) {
g.setColor(Color.BLACK); }
else {
g.setColor(Color.WHITE); }

maar wat ik niet snap wat doet x * schaalfactor en middenx etc daar?

waarom is niet hetResultaatvanMandelGetal % 2?
__________________
If you give yourself to the journey, the journey gives itself to you
Met citaat reageren
Advertentie
Oud 04-10-2006, 20:29
Verwijderd
mandelbrot ken ik niet, maar % geeft de rest van een deling. Wanneer je dus deelt door een even getal zal er bij een deling door 2 niets over blijven, bij een oneven getal blijft er 1 over.
In dit voorbeeld is zwart dus voor de even en wit voor de oneven getallen.
Met citaat reageren
Oud 04-10-2006, 21:39
Guinevere03
Avatar van Guinevere03
Guinevere03 is offline
Ik heb net voor mijn studie de mandelbrot vandaag ingeleverd.

Eerst maar ff de eerste parameter:
x * schaalFactor + middenX

x staat er omdat je natuurlijk van een bepaald punt het mandelgetal wilt berekenen.
schaalFactor staat er omdat je niet in pixels wilt rekenen, maar in een bepaald gebied van x1 tot x2 (bijvoorbeeld van -2 tot 2. Dan maak je een applet van 400 breed en met schaalfactor 0.01. Je kan dan 4 maal x bestrijken met je mandelbrot en 400*0.01=4)
middenX staat er omdat je voor de verandering wilt dat Java in het midden begint met tekenen in plaats van linksboven. Door middenX (wat waarschijnlijk ergens gedeclareerd zal staan als: double middenX = this.getWidth()/2; ) erbij op te tellen ligt je x=0 in het midden en niet helemaal links.

Voor de tweede parameter gaat hetzelfde verhaal op (alleen is de breedte dan natuurlijk de hoogte).

Misschien had je het zelf al bedacht, maar je kan op deze manier dus ook meerdere kleuren geven aan je mandelbrot (voeg bijvoorbeeld na je else toe:
if (this.berekenMandelGetal(x * schaalFactor + middenX, y * schaalFactor + middenY)%3=0)
g.setColor(Color.YELLOW);

Ander iets wat misschien wel handig is om te doen: laat 'm 't mandelgetal eerst ff uitrekenen en sla dat op in een variabele. Je kan daarna je kleuren heel mooi af laten hangen van je mandelgetal. Probeer maar eens een nieuwe kleur te maken waarbij je de R, G en B waarden af laat hangen van je mandelgetal. Houd wel rekening met de max van 255 voor elke R, G en B. (Tip: de klasse Math heeft daar een heel handige optie voor, check de Library maar eens ).

Ik hoop dat je hier weer wat mee kan
__________________
if (value == 0) return value; else return 0;
Met citaat reageren
Oud 04-10-2006, 21:54
Kurogane
Avatar van Kurogane
Kurogane is offline
Doe je ook informatiekunde
__________________
If you give yourself to the journey, the journey gives itself to you
Met citaat reageren
Oud 08-10-2006, 10:12
Guinevere03
Avatar van Guinevere03
Guinevere03 is offline
Nee ik doe Informatica (in Utrecht, trouwens)
__________________
if (value == 0) return value; else return 0;
Met citaat reageren
Oud 09-10-2006, 01:35
Kurogane
Avatar van Kurogane
Kurogane is offline
me2, informatiekunde heeft ook imp helaas
__________________
If you give yourself to the journey, the journey gives itself to you
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 09:31.