Ganon
2011-02-09, 15:09:46
Heyho.
Ich bastle gerade hobbymäßig an einem Mandelbrot-Generator. Steht halt auf meiner "muss man mal programmiert haben" Liste :-D
Ich auch das WE gut voran gekommen. Ich habe es zuerst nach der Anleitung von http://warp.povusers.org/Mandelbrot/ gemacht.
Mit long double kommt man aber nicht wirklich weit, also habe ich GMPlib eingebaut. Damit ist das Problem mit der Unendlichkeit ja schon mal gelöst, da man bei GMPlib mit theoretisch unendlich Bit rechnen kann.
Jetzt hab ich noch 3 Fragen, die ja vllt. jemand hier beantworten kann.
1. Durch GMPlib wird das ganze ja recht langsam, trotz Multithreading. Ich zeichne das ja nun bisher noch pixelweise. Ich hab hier im Forum, und auch anderswo gelesen, dass man da auch so rangehen kann, dass man erst einen Rahmen um einen Bereich rechnet und dann guckt ob da Unterschiede auftreten, wenn nicht, dann alles in der Farbe zeichnen (sofern das hier jetzt korrekt ist). Da frage ich mich, inwieweit man da die Größe des Rahmens bestimmt?
2. Hier mal zwei Beispielbilder:
http://xenon.42degreesoffreedom.com/~matti/Mandelbrot3.png
http://xenon.42degreesoffreedom.com/~matti/Mandelbrot5.png
Man erkennt zwischendrin diverse weiße und schwarze Punkte. Liegt wohl daran, dass der Pixel da gerade etwas ungünstig liegt zur Farbbestimmung, sofern ich keinen Fehler gemacht habe. Gibt's da Ansätze sowas zu vermeiden? Vllt. liegt die Antwort darin ja auch in Frage 3:
3. Wie funktioniert das mit den Farbpaletten? Ich lese überall nur "Farbe anhand der Iterationsschritte (der Anzahl) bestimmen". Aber so ein wirkliches Beispiel hab ich da jetzt noch nicht gesehen. Und eine Tabelle mit 1000 und mehr Einträgen wäre ja auch iwie komisch... hat da jemand vllt. ein Tipp?
Danke ^^
Ich bastle gerade hobbymäßig an einem Mandelbrot-Generator. Steht halt auf meiner "muss man mal programmiert haben" Liste :-D
Ich auch das WE gut voran gekommen. Ich habe es zuerst nach der Anleitung von http://warp.povusers.org/Mandelbrot/ gemacht.
Mit long double kommt man aber nicht wirklich weit, also habe ich GMPlib eingebaut. Damit ist das Problem mit der Unendlichkeit ja schon mal gelöst, da man bei GMPlib mit theoretisch unendlich Bit rechnen kann.
Jetzt hab ich noch 3 Fragen, die ja vllt. jemand hier beantworten kann.
1. Durch GMPlib wird das ganze ja recht langsam, trotz Multithreading. Ich zeichne das ja nun bisher noch pixelweise. Ich hab hier im Forum, und auch anderswo gelesen, dass man da auch so rangehen kann, dass man erst einen Rahmen um einen Bereich rechnet und dann guckt ob da Unterschiede auftreten, wenn nicht, dann alles in der Farbe zeichnen (sofern das hier jetzt korrekt ist). Da frage ich mich, inwieweit man da die Größe des Rahmens bestimmt?
2. Hier mal zwei Beispielbilder:
http://xenon.42degreesoffreedom.com/~matti/Mandelbrot3.png
http://xenon.42degreesoffreedom.com/~matti/Mandelbrot5.png
Man erkennt zwischendrin diverse weiße und schwarze Punkte. Liegt wohl daran, dass der Pixel da gerade etwas ungünstig liegt zur Farbbestimmung, sofern ich keinen Fehler gemacht habe. Gibt's da Ansätze sowas zu vermeiden? Vllt. liegt die Antwort darin ja auch in Frage 3:
3. Wie funktioniert das mit den Farbpaletten? Ich lese überall nur "Farbe anhand der Iterationsschritte (der Anzahl) bestimmen". Aber so ein wirkliches Beispiel hab ich da jetzt noch nicht gesehen. Und eine Tabelle mit 1000 und mehr Einträgen wäre ja auch iwie komisch... hat da jemand vllt. ein Tipp?
Danke ^^