Fractalen
-
Hi Ganesh,
Het is misschien goed om de hele broncode te laten zien, want volgens mij is je loopgo een iteratief onderdeel die dus de kleuren geeft aan pixels afhankelijk van waar je bent in het iteratieve proces. Dat wil zeggen, je kleuren zijn afhankelijk van het aantal iteraties dat je code maakt om de Mandelbrot fractal te berekenen/te plotten.
-
Hi Ganesh,
Laten we er dan wat dieper induiken! Bij deze een gesimplificeerde versie van de code met tekst en uitleg als plaatje. Maar eerst even wat basisprincipes.
For loop
For (x=0; x < xMax; x++) { SOME CODE; }
Dit betekent dat hij het stuk tussen de haakjes net zo lang herhaalt (‘loop’) totdat x niet meer kleiner is dan xMax. X++ geeft aan dat na elke looping x met ééntje moet worden verhoogd. Stel dat we SOME CODE vervangen door ‘return x;’ dan wordt de output dus 0,1,2,3,…..,xMax-1.
While loop
X=0; While (x<xMax) { SOME CODE; X++; }
Deze loop doet eigenlijk hetzelfde als de for loop, maar je moet op andere plekken aangeven dat x groter moet worden (anders blijven de loop zich eindeloos herhalen) en de beginwaarde aangeven.
Tekst en uitleg bij jouw code
-
Er staat niet alleen 128 * 2, maar er staat loopgo % 128 * 2. Dat eerste herken je misschien niet, maar dat is een restwaarde-operator. Het getal is de restwaarde van loopgo/128. Voorbeeld: stel je voor loopgo is 130, dan is de restwaarde 2. Omdat de operators van vermenigvuldiging, deling en restwaarde dezelfde prioriteit hebben, worden ze in volgorde uitgevoerd. Er staat dus eigenlijk (loopgo%128)*2. Indien loopgo dus 130 zou zijn, wordt dit door de vermenigvuldiging 4. Als het loopgo%256 zou zijn, werd het 130.
Kijk voor meer info over operators ook hier: http://msdn.microsoft.com/en-us/library/6a71f45d.aspx
-
en waarom 128 * 2 en niet gewoon 256?
-
Geweldig! Hartstikke bedankt!
-
Ik ga toch weer doorvragen. Hoe wordt de zwarte vorm in het midden gevormd?
-
Geen probleem, Ganesh, daar is het forum voor! Kan je een plaatje bij je bericht plakken, dan begrijp ik beter waar je het over hebt!
-
Bedankt voor de melding, ik hoop dat je iemand vindt.
-
Ha Ganesh,
Berend is op dit moment in het buitenland en kan tijdelijk geen reactie geven op jouw bericht. Ik zal een andere student aanspreken jou te helpen. Excuses voor het ongemak.
Groet,
Noor -
Ik heb even een URL, mijn eigen fractal kan ik niet uploaden. De vorm is precies hetzelfde.