Entwickler-Ecke
Freeware Projekte - [.NET] Hochaufgelöste Mandelbrotfraktale berechnen lassen
HCN - Di 17.06.08 18:41
Titel: [.NET] Hochaufgelöste Mandelbrotfraktale berechnen lassen
Hallo,
ich möchte euch hier einmal mein kleines Projekt vorstellen, welches ich vor ein Paar Wochen zur Übung geschrieben habe.
Das Programm berechnet einem hochaufgelöste Ausschnitte von Mandelbrotfraktalen. Beim start öffnet sich eine Art kleines Browsefenster mithilfe dessen man durch die Mandelbrotmenge navigieren kann.
Wenn man eine Stelle gefunden hat die einem gefällt klickt man auf den Draw High Res Button und das Programm berechnet einem ein 3000 x 3000 jpg (dauert bei mir so ein bis zwei Minuten) des gerade angezeigten Ausschnittes. Natürlich nicht einfach nur vergrößert sondern entsprechend höher ausgelöst (also mit viel mehr Details) und speichert es in dem aktuellen Ordner ab.
Zusätzlich lässt sich auch noch die Iterationstiefe einstellen.
Das Programm wurde komplett mit C # geschrieben. Es ist nichts großes aber vielleicht gefällts ja dem ein oder anderen.
Wenn ich mal Zeit habe möchte ich noch weitere Features einbauen.
Über Vorschläge und Kritik bin ich dankbar.
EDIT: Programm nicht aus dem Internet ausführen lassen sondern speichern !
So und noch einen kleinen Fehler behoben und exe ausgetauscht....
MfG HCN
Kha - Di 17.06.08 20:02
Nett :zustimm: ! Hab hier irgendwo auch noch eine WPF-Version rumliegen, war aber bisher zu faul, sie vorzeigbar zu machen :mrgreen: . Und gegen XaoS kommt man sowieso nicht an :( :mrgreen: .
Die Färbung gefällt mir. Meistens wird ja nur die Iterationszahl benutzt, da ist das hier doch einiges ansprechender. Hast du eine Quelle für die Methode? Wikipedia listet ein paar auf, aber es gibt natürlich noch viele weitere.
HCN hat folgendes geschrieben: |
| (dauert bei mir so ein bis zwei Minuten) |
Waren bei mir gefühlt 20 Sekunden :mrgreen: . Die Schleife kannst du allerdings noch optimieren: Quadriere beide Seiten der Ungleichung, dann ist das kostspielige Sqrt weg. Ansonst könntest du noch durch LockBits statt SetPixel ein wenig herausholen.
Noch ein Vorschlag: Mausbedienung wäre schick. Mit Zoomrahmen und so, du weißt schon ;) .
HCN - Di 17.06.08 20:39
Hab keine Quelle benutzt. Ist selbst ausgedacht und geschrieben. Nur die Mathekenntnisse hab ich aus der Uni mitgenommen...
| Zitat: |
Die Schleife kannst du allerdings noch optimieren: Quadriere beide Seiten der Ungleichung, dann ist das kostspielige Sqrt weg. Ansonst könntest du noch durch LockBits statt SetPixel ein wenig herausholen.
|
Danke werd ich mal probieren! Aber hatte ich nicht eine schon kompilierte exe hochgeladen? Kann man wirklich .NET Anwendungen so einfach zum Quellcode rekonstruieren lassen?
Wenn ich mal Zeit habe möchte ich eine komplette Steuerung mit der Maus hinzufügen ausserdem soll man die Farben sowie Größe und Typ des Bildes einstellen können. Mal sehen wenn die Klausuren rum sind.....
Bestimmt könnte man das Fraktal noch schneller berechnen wenn man die Rechenarbeit von der Graphikkarte mittels CUDA machen lässt und C# dann nurnoch fürs Form und die Buttons usw. benutzt. Müsste man mal probieren, wenn man schon eine passende Geforce drin hat :-)
Kha - Di 17.06.08 20:48
HCN hat folgendes geschrieben: |
| Hab keine Quelle benutzt. Ist selbst ausgedacht und geschrieben. |
Noch netter :zustimm: . Für einen ununterbrochenen Farbverlauf wird die Formel ja noch etwas komplizierter mit verschachtelten Logarithmen (s. Wiki), darüber gibt es im Netz dann wirklich halbe mathematische Abhandlungen.
| Zitat: |
| Kann man wirklich .NET Anwendungen so einfach zum Quellcode rekonstruieren lassen? |
http://www.aisto.com/roeder/dotnet , erster Eintrag :mrgreen:
| Zitat: |
| Bestimmt könnte man das Fraktal noch schneller berechnen wenn man die Rechenarbeit von der Graphikkarte mittels CUDA machen lässt und C# dann nurnoch fürs Form und die Buttons usw. benutzt. Müsste man mal probieren, wenn man schon eine passende Geforce drin hat :-) |
Hehe, hört sich gut an, vor allem weil ich auch eine habe :zwinker: . Aber davor würde ich erstmal Multithreading in Angriff nehmen ;) .
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!