Mandelbrotmengenvisualisierer
-
Hallo
Ich habe ein kleines Programm in C# geschrieben, welches Mandelbrotmengen darstellen soll.
Ich suche noch ein paar Leute, die Zeit und Lust haben, das Programm ein bisschen zu testen und die mir rückmelden könnten, falls Fehler (Programmabstürze, aber auch Dinge, die nicht so funktionieren, wie sie sollten) auftauchen.
Auch ist konstruktive Kritik zur Benutzeroberfläche oder allgemeiner Art herzlich willkommen.Programm:
http://cid-429f16ccef18e484.office.live.com/self.aspx/Apps (Immer das neuste Zip-Archiv)Die Dateien aus dem Archiv müssen sich alle im selben Ordner befinden. Um das Programm auszuführen wird .NET 4 Client Profile benötigt.
mfg Argus Magnus
-
Stösst mein Programm auf keinerlei Interesse (das kann ich natürlich verstehen) oder vertraut ihr mir nicht? Soll ich den Sourcecode verfügbar machen?
mfg
-
Servus,
Sources sind immer gut. Es gibt halt einem die Sicherheit, dass kein Schadcode in der Assembly vorhanden sein könnte.
gruß
Hellsgore
-
Verständlich.
Hab den Source hochgeladen, findet sich im gleichen Ordner wie das Programm (Fractals Source.7z):
http://cid-429f16ccef18e484.office.live.com/browse.aspx/Apps
-
Hallo,
Habs grad mal ausgeführt und finds ganz nett :). Hatte mal was ähnliches programmiert... daher stellen sich mir ein paar Fragen.
Wieso so ein kleines Fenster? Manchmal ergeben sich da tolle Bilder, die man gerne in groß speichern möchte. Keiner will einen pixelen Desktophintergrund.
Werden die Iterationen automatisch an den Zoom angepasst? Weil bei meinem alten Programm bei 100 Iterationen so ein Zoom definitiv nicht drin war (hängt natürlich auch von der Schleife ab)!
Habe jetzt nicht in den Code geschaut... aber hast du auch an Multicore-Systeme gedacht :-)? Mein Taskmanager meint irgendwie ja und doch irgendwie nein... Das ist doch eine gute Möglichkeit mehrere Threads laufen zu lassen :D...Ich hatte es übrigens geschafft, das Programm scheinbar zum Absturz zu bringen durch eine nicht gerade sinnvolle Aktion: Reinzoomen bis man sieht, dass es pixelig wird, Iterationen stand auf 1000. Dann Iterationen auf 10 setzen. Bei mir ist das Programm anschließend abgestürzt.
-
Ich bin froh, dass sich das doch noch jemand angeschaut hat.
Zu deinen Fragen:
Du kannst das Fenster vergrössern ("normal", am Rahmen ziehen), damit ändert sich auch die Bildgrösse. Zudem gibt es die Funktion "Als Hintergrund verwenden" unter dem Menupunkt "Datei". Diese berechnet den aktuellen ausschnitt in der Auflösung des verwendeten primären Bildschirms und setzt das Bild als Hintergrund.
Es werden so viele Iterationen durchgeführt wie du einstellst, arbeite zwar an einer "AutoIteration"-Funktion, die die sinnvolle Anzahl Iterationen selbst bestimmt, aber die Funktioniert noch nicht, bzw. ist viieel zu langsam.
Zu Multicore: Die Iterations-Schleife wird mit Parallel.For aus System.Threading.Tasks (.NET 4.0) ausgeführt (gibt einen Interessanten Artikel hier im Forum darüber)Zu deinem Fehler: Den kann ich im Moment nicht nachvollziehen. Könntest du evtl. in dem Ordner in dem das Programm liegt nachschauen, ob du eine "Exceptions.txt" findest und mir diese zukommen lassen? Oder deren Inhalt posten?
Ich danke für das ausprobieren meines Programmes
mfg
-
Hallo,
Ich hatte mir schon irgendwie gedacht, dass da mit dem Hintergrundbild setzen mehr dahintersteckt. Den Automatismus mögen übrigens nicht alle (ich nicht :D)... ich würde gerne das Bild abspeichern, es mir ansehen (im Bildbetrachter) und wenn es mir gefällt, dann will ich es als Hintergrundbild setzen, aber das schaffe ich auch alleine :).Das Vergrößerungsfeature hatte ich irgendwie nicht gesehen :)... schon viel besser so!
Zu dem Problem: Es stürzt nicht laut mit einer Exception ab... die Statusleiste bleibt bei ungefähr 80-90% stehen, das Hauptfenster wird grau und mir wird irgendwann angezeigt, dass das Programm nicht mehr funktioniert. Debugge ich es mit dem Visual Studio, sagt es mir, dass versucht wurde durch 0 zu teilen.
Nehme ich das Visual Studio und debugge die Sourcen (übrigens böse, den Language-Path so fix zu setzen, das Laufwerk F hat nicht jeder und will auch nicht jeder ;)), sagt er mir: Dividieren sie nicht durch 0 in Zeile 386, Datei Methods.cs, Methode SetMinAndMaxI, (Int32[] its = new Int32[MaxI-MinI+1];). Da ich nicht weiß, was diese Methode machen soll (Maximale und minimale Iterationen setzen?), versuche ich gar nicht, es hinzubiegen :).
Und mach die Farben Red-Yellow als Standardeinstellung. Alle Farben kann einige Nutzer abschrecken... und Red-Yellow ist einfach eine gelungene Kombination :).
-
Danke für die Rückmeldung
Das mit dem Fixen Pfad sollte auch nur im Debug-Modus so sein, oder? (Ergo: F:\ muss nicht jeder haben und auch nicht haben wollen xD)
Ich habe im Moment gerade leider keine Zeit, werde mir das aber so bald wie möglich anschauen
Ich persönlich bevorzuge "Alle Farben", wahrscheinlich weil es meine neuste kreation ist und ich Red Yellow schon zu lange kenne. Ich werde denn Standard aber schlussendlich nach der Meinung der Mehrheit festlegen
mfg
-
Ah jo, so war das nicht gemeint :). Wollte damit nur ausdrücken, dass ich Red-Yellow toll fand, alle Farben dagegen nicht so gut :).
-
Ich hab dich schon nicht falsch verstanden
Alle Farben ist sehr "Ortsabhängig".
Ein Beispiel, in dem es, meiner Meinung nach, eine Tolle "Farbe" ist:
http://qi6fdw.blu.livefilestore.com/y1pC2m5QcGKWQ4QngXJfW2yfPi3comg7VD--IUInHDpS_omT7V05X4SZyCX_fwXoiGwpxgzeKvTwGqtddGokLVdeH6AmZWEvwxN/MandelBackground5.bmp?psid=1Ich habe im Moment leider keine Zeit mehr, weiter daran zu arbeiten.. Aber werde das Projekt sicher irgendwann fortsetzen
Danke für deine Rückmeldungen!