Entwickler-Ecke
Algorithmen, Optimierung und Assembler - Hilfe bei Mandelbrotmenge
Kacke am Stock - Do 11.12.08 16:39
Titel: Hilfe bei Mandelbrotmenge
Ich muss in Informatik die Mandelbrotmenge programmieren, jedoch habe ich nicht die geringste Ahnung, wie ich das anstellen soll. Kann mir jemand helfen, bzw. es erklären? Vielen Dank.
Narses - Do 11.12.08 16:49
Moin und :welcome: im Forum!
Schonmal in die Suche geschaut?
MANDELBROT Ist ja vielleicht schon was dabei. ;)
Ansonsten: wo genau hakt es denn? Du wirst sicher nicht von uns erwarten, dir deine Hausaufgaben zu machen, oder? :?
cu
Narses
Kacke am Stock - Do 11.12.08 16:54
Danke für die nette Begrüßung. Ja ich habe bereits in der Suche nachgeguckt, jedoch haben die meisten Menschen hier Probleme an Stellen, an welche ich noch nicht einmal erreiche. Selbstverständlich verlange ich nicht, dass ihr mir komplett erzählt wie der Quelltext lautet, aber ich schwelge in der Hoffnung darauf, dass man mir eventuell bei den Anfängen behilflich sein kann, da ich bereits die komplexen Zahlen nicht verstehe.
Narses - Do 11.12.08 16:59
Moin!
Kacke am Stock hat folgendes geschrieben : |
in der Hoffnung darauf, dass man mir eventuell bei den Anfängen behilflich sein kann, |
Das sollte sich machen lassen. ;)
Kacke am Stock hat folgendes geschrieben : |
da ich bereits die komplexen Zahlen nicht verstehe. |
Macht nix, ich versteh die auch nicht, mir reicht es schon, dass ich damit rechnen kann. :lol: :zwinker:
Die Mandelbrotmenge ist hier erklärt [
http://de.wikipedia.org/wiki/Mandelbrot-Menge]. Weiter unten im Text ein Programmierbeispiel. Hast du dir das mal angesehen? :nixweiss:
cu
Narses
Kacke am Stock - Do 11.12.08 17:08
Hmmm...na gut...ich verstehe nicht ganz welche Zahl ich für x (Realzahl), y (Imaginärteil) und c eintragen muss.
Narses - Do 11.12.08 17:14
Moin!
Kacke am Stock hat folgendes geschrieben : |
ich verstehe nicht ganz welche Zahl ich für x (Realzahl), y (Imaginärteil) und c eintragen muss. |
Da gibt es auch nicht viel zu verstehen, das gibst du vor und entspricht der Stelle, die du von der Mandelbrotmenge zeigen willst (X und Y) bzw. um welche Mandelbrotmenge es geht (C). Übrigens: "C" steht für Konstant, ist also immer der gleiche Wert. :idea:
Fang erstmal mit folgenden Daten an:
Quelltext
1: 2: 3: 4:
| X: -2..+2 Y: -2..+2 Cr: -0.78 Ci: -0.1 |
Wenn du damit ein Bild produziert hast, dann kann man an´s Zoomen denken. ;)
cu
Narses
Kacke am Stock - Do 11.12.08 17:21
na gut...dankeschön...ich werde erstmal ein bisschen probieren und mich dann eventuell nochmals melden.
Kha - Do 11.12.08 17:54
Kacke am Stock hat folgendes geschrieben : |
da ich bereits die komplexen Zahlen nicht verstehe. |
Im Notfall stellst du sie dir einfach als Vektoren mit einer merkwürdigen Multiplikation vor, fürs Mandelbrot reicht das ;) .
Narses hat folgendes geschrieben : |
Da gibt es auch nicht viel zu verstehen, das gibst du vor und entspricht der Stelle, die du von der Mandelbrotmenge zeigen willst (X und Y) bzw. um welche Mandelbrotmenge es geht (C). |
Nope, das wäre die Julia-Menge. Es gibt nur
eine Mandelbrotmenge (jedenfalls nach der ursprünglichen Formel). c ist der Bildpunkt, der berechnet werden soll, und x und y sind Real- bzw. Imaginärteil des Folgenglieds z.
@xyz(sorry, aber manche Nicknamen werde ich nicht abschreiben):
Mal ein Zahlenbeispiel für das Pixel bei P(0|1), also c = 0 + 1 i
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| z(n+1) = zn² + c
z0 = 0 (= 0 + 0 i) z1 = z0² + c = 0 + 1 i z2 = z1² + c = (0 + 1 i)² + (0 + 1 i) = 1 i² + 1 i = -1 + 1 i z3 = z2² + c = (-1 + 1 i)² + (0 + 1 i) = (1 - 2 i + 1 i²) + (0 + 1 i) = 0 - 1 i z4 = -1 + 1 i ... |
Jetzt nochmal das gleiche, aber z immer in x und y aufgesplittet:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| c = 0 + 1 i => cx = 0; cy = 1
zn = xn + yn i z(n+1) = zn² + c => z(n+1) = (xn + yn i)² + cx + cy i = (xn² + 2 xn yn i + (yn i)²) + cx + cy i = xn² - yn² + cx + i (2 xn yn + cy) => x(n+1) = xn² - yn² + cx y(n+1) = 2 xn yn + cy
x0 = 0; y0 = 0
x1 = x0² - y0² + cx = 0 y1 = 2 xn yn + cy = 1
x2 = 0² - 1² + 0 = -1 y2 = 2 * 0 * 1 + 1 = 1
x3 = (-1)² - 1² + 0 = 0 y3 = 2 * (-1) * 1 + 1 = -1
x4 = 0² - (-1)² + 0 = -1 y4 = 2 * 0 * (-1) + 1 = 1 |
Scheint zu passen, puh :D .
Narses - Do 11.12.08 18:33
Moin!
Kha hat folgendes geschrieben : |
Narses hat folgendes geschrieben : | Da gibt es auch nicht viel zu verstehen, das gibst du vor und entspricht der Stelle, die du von der Mandelbrotmenge zeigen willst (X und Y) bzw. um welche Mandelbrotmenge es geht (C). | Nope, das wäre die Julia-Menge. Es gibt nur eine Mandelbrotmenge (jedenfalls nach der ursprünglichen Formel). c ist der Bildpunkt, der berechnet werden soll, und x und y sind Real- bzw. Imaginärteil des Folgenglieds z. |
Jup :) hab´s mit der/n Julia-Menge(n) verwechselt (und nicht genau genug den Code auf der Wiki-Seite gelesen, hätte mir auffallen müssen... :roll:).
cu
Narses
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!