CFractGen - Fraktalgenerator
-
- Beiträge: 8
- Registriert: Mi 4. Feb 2009, 00:21
CFractGen - Fraktalgenerator
ja, yet another fractal generator
Vorab einige Worte um den unfertigen Zustand des Programms zu erläutern. Im Moment fehlt mir einfach die Zeit/Lust einige Dinge "fertig" zu machen. Ich veröffentliche es trotzdem hier, da sich vielleicht ein interessierter Zeitgenosse findet, der sich bereit erklärt mitzuentwickeln (v.a. gui, farbmanagement). Meldet euch bei mir, ihr tapferen Mitstreiter!
Zum Programm: CFractGen erstellt beliebige Julia- und Mandelbrot-Mengen. Es nimmt beliebige Formeln an, "kompiliert" sie (kein Bytecode, Funktionsliste) und iteriert sie dann im komplexen Zahlenraum. Die Iterationsfolge wird über verschiedene Verfahren ausgewertet, um so jedem Pixel über ein mehr oder weniger ausgereiftes Farbmenü ein Farbwert zuzuweisen und dann mit OpenGl ein nettes "Fraktal" auf den Bildschirm zu kriegen.
Messt CFractGen nicht mit Xaos oder ähnlichem was die Geschwindigkeit angeht, dafür war es nie konzipiert. Es sollte die Dynamik _beliebiger_ Iterationsfunktionen abbilden können, was es auch mittlerweile ganz gut tut.
Es lässt sich unter Linux (gtk1/2) und win kompilieren, Paket openglcontext muss installiert sein (liegt lazarus bei).
so, hoffe das war das wichtigste... Lasst Bilder sprechen!
edit1: Natürlich was vergessen: Die Binaries sind mit SSE3 kompiliert, sollte der Prozessor vor 2005 gebaut worden sein, kann es zu "lustigem" Verhalten kommen. Im Programm gibt es eine Datei namens cfg_symbols.inc, dort könnt ihr den Compilerswitch UseSSE ausstellen, falls ihr es ohne SSE kompilieren wollt. SSE wird bis jetzt nur in der komplexen Arithmetik (CDiv, CSqr in utcomplex.pas) eingesetzt.
edit2: Eine Datei hat gefehlt... Einfach ein Farbschema, das er beim Start lädt... War bei mir natürlich im selben Ordner, hatte ich deshalb vergessen. Habs in den Dateien korrigiert.
Vorab einige Worte um den unfertigen Zustand des Programms zu erläutern. Im Moment fehlt mir einfach die Zeit/Lust einige Dinge "fertig" zu machen. Ich veröffentliche es trotzdem hier, da sich vielleicht ein interessierter Zeitgenosse findet, der sich bereit erklärt mitzuentwickeln (v.a. gui, farbmanagement). Meldet euch bei mir, ihr tapferen Mitstreiter!
Zum Programm: CFractGen erstellt beliebige Julia- und Mandelbrot-Mengen. Es nimmt beliebige Formeln an, "kompiliert" sie (kein Bytecode, Funktionsliste) und iteriert sie dann im komplexen Zahlenraum. Die Iterationsfolge wird über verschiedene Verfahren ausgewertet, um so jedem Pixel über ein mehr oder weniger ausgereiftes Farbmenü ein Farbwert zuzuweisen und dann mit OpenGl ein nettes "Fraktal" auf den Bildschirm zu kriegen.
Messt CFractGen nicht mit Xaos oder ähnlichem was die Geschwindigkeit angeht, dafür war es nie konzipiert. Es sollte die Dynamik _beliebiger_ Iterationsfunktionen abbilden können, was es auch mittlerweile ganz gut tut.
Es lässt sich unter Linux (gtk1/2) und win kompilieren, Paket openglcontext muss installiert sein (liegt lazarus bei).
so, hoffe das war das wichtigste... Lasst Bilder sprechen!
edit1: Natürlich was vergessen: Die Binaries sind mit SSE3 kompiliert, sollte der Prozessor vor 2005 gebaut worden sein, kann es zu "lustigem" Verhalten kommen. Im Programm gibt es eine Datei namens cfg_symbols.inc, dort könnt ihr den Compilerswitch UseSSE ausstellen, falls ihr es ohne SSE kompilieren wollt. SSE wird bis jetzt nur in der komplexen Arithmetik (CDiv, CSqr in utcomplex.pas) eingesetzt.
edit2: Eine Datei hat gefehlt... Einfach ein Farbschema, das er beim Start lädt... War bei mir natürlich im selben Ordner, hatte ich deshalb vergessen. Habs in den Dateien korrigiert.
Zuletzt geändert von enyaw_ecurb am Sa 28. Mär 2009, 13:40, insgesamt 2-mal geändert.
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: CFractGen - Fraktalgenerator
Die Kompilierte Version kann ich unter Linux nicht öffnen -> Kann Datei nicht Öffnen.
Den Soruce-Code versuche ich gerade zu Kompilieren. Aber er findet TOpenGlControl nicht. Dabei ist es Installiert....
EDIT: Nach dem ich TOpenGLControl noch einmal Installiert habe geht auch das Kompilieren.
leider verwendest du einen festen Pfad: colortables/default.pal
darum startet das Programm nicht
Den Soruce-Code versuche ich gerade zu Kompilieren. Aber er findet TOpenGlControl nicht. Dabei ist es Installiert....
EDIT: Nach dem ich TOpenGLControl noch einmal Installiert habe geht auch das Kompilieren.
leider verwendest du einen festen Pfad: colortables/default.pal
darum startet das Programm nicht
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 688
- Registriert: Mi 3. Okt 2007, 21:00
- OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
- CPU-Target: x86_64
Re: CFractGen - Fraktalgenerator
pluto hat geschrieben:Die Kompilierte Version kann ich unter Linux nicht öffnen -> Kann Datei nicht Öffnen.
Du musst im Terminal erst in den Ordner wechseln und dann die Binärdatei von dort aus ausführen. Dann geht's!
Das Projekt ist wirklich klasse, sieht sehr schön aus! Der Code kompiliert bei mir problemlos.
Zuletzt geändert von Targion am Do 19. Mär 2009, 21:41, insgesamt 1-mal geändert.
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: CFractGen - Fraktalgenerator
Das Problem habe ich inzwischen behoben. Ich habe einfach in der Zeile ein Komentar eingefügt.
Ich frage mich warum immer nur diese zwei Fraktale genommen werden ? In GIMP gibt es noch wesentlich mehrer....
Ich frage mich warum immer nur diese zwei Fraktale genommen werden ? In GIMP gibt es noch wesentlich mehrer....
MFG
Michael Springwald
Michael Springwald
-
- Lazarusforum e. V.
- Beiträge: 2808
- Registriert: Fr 22. Sep 2006, 10:38
- OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
- Wohnort: Hessen
- Kontaktdaten:
Re: CFractGen - Fraktalgenerator
Wow, sehr schön!
Fraktale haben finde ich etwas Unheimliches an sich. Die Ordnung in der Unordnung...
Ich habe mich in meiner Delphi-Zeit auch mal an Fraktalen versucht. Bin aber nie über Eiskristalle und Sierpinski-Dreieck hinausgekommen. Irgendwann wollte ich auch mal den Pythagoras-Baum ausprobieren.
Mandelbrot- und Juliamengen-Fraktale sind natürlich viel schöner - insbesondere, wenn man die richtige Farbauswahl trifft.
Viele Grüße, Alexander
Fraktale haben finde ich etwas Unheimliches an sich. Die Ordnung in der Unordnung...
Ich habe mich in meiner Delphi-Zeit auch mal an Fraktalen versucht. Bin aber nie über Eiskristalle und Sierpinski-Dreieck hinausgekommen. Irgendwann wollte ich auch mal den Pythagoras-Baum ausprobieren.
Mandelbrot- und Juliamengen-Fraktale sind natürlich viel schöner - insbesondere, wenn man die richtige Farbauswahl trifft.
Viele Grüße, Alexander
-
- Beiträge: 8
- Registriert: Mi 4. Feb 2009, 00:21
Re: CFractGen - Fraktalgenerator
@pluto: Ja, ähh, das mit dem festen Pfad ist ein Argument. Mein Fehler, hab die Datei hinzugefügt. Und warum es nur "zwei" Fraktale sind: Nja, es ging bei der Konzeption des Programms mehr um die Arbeit in der komplexen Dynamik als um "Fraktale". Da sich aber die meisten dieser "Fraktale" entweder auf IFS oder halt diese Iterationsbilder zurückführen lassen, deckt es damit schon einiges ab. Hängt halt von der Formel ab...
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: CFractGen - Fraktalgenerator
Also könnte man auch noch andere Varianten hinzufügen ?
Also abgesehen von den ersten Problemen finde ich das Programm auch ganz nett.
Also abgesehen von den ersten Problemen finde ich das Programm auch ganz nett.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 8
- Registriert: Mi 4. Feb 2009, 00:21
Re: CFractGen - Fraktalgenerator
Nja, kommt darauf an, was du mit "anderen" meinst. Die Beispiele im Gimp Fraktal-Explorer (den du wohl meintest) kannst du schätze ich alle mit CFractGen erzeugen (oder was ähnliches...). Es kommt nur auf die Iterationsformel an, die jedoch für einige Optionen (z.B. Barnsley 1-3) aus mehreren Teilen besteht. Dort wird dann nicht mehr eine Funktion iteriert, sondern in Abhängigkeit vom Folgeglied zwischen zwei Funktionen gewählt. Zum Teil fehlen auch noch Funktionen im Parser (Betragsfunktion, Winkelfunktionen), die dann nicht eingelesen werden können. Das Prinzip von "ich nehme eine komplexe Zahl, iteriere sie und schaue was rauskommt" ist aber das gleiche. Um so Varianten einzufügen wären eig. (fast) keine Änderungen am Quellcode notwendig, man muss nur die Iterationsformel kennen.
IFS ala Sierpinsky-Dreieck, Kochsche-Schneeflocke, etc. werden jedoch auf geometrischem Weg erzeugt. Sowas wäre ein ganz neues Feature, das auf ganz anderem Weg ansetzt.
IFS ala Sierpinsky-Dreieck, Kochsche-Schneeflocke, etc. werden jedoch auf geometrischem Weg erzeugt. Sowas wäre ein ganz neues Feature, das auf ganz anderem Weg ansetzt.
-
- Lazarusforum e. V.
- Beiträge: 7178
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: CFractGen - Fraktalgenerator
Die Beispiele im Gimp Fraktal-Explorer (den du wohl meintest) kannst du schätze ich alle mit CFractGen erzeugen (oder was ähnliches...)
Dann werde ich mal damit rumspielen*G*
MFG
Michael Springwald
Michael Springwald
Re: CFractGen - Fraktalgenerator
Targion hat geschrieben:pluto hat geschrieben:Die Kompilierte Version kann ich unter Linux nicht öffnen -> Kann Datei nicht Öffnen.
Du musst im Terminal erst in den Ordner wechseln und dann die Binärdatei von dort aus ausführen. Dann geht's!
Das Projekt ist wirklich klasse, sieht sehr schön aus! Der Code kompiliert bei mir problemlos.
Verzeihung wenn es etwas blöd klingt, aber ich versteh nicht ganz was du meinst . also ich hab das oben beschriebene Problem auch :/
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: CFractGen - Fraktalgenerator
nun zugegeben. find es auch sehr suber. nur bei mir gibt's nur ein einfarbiges bild. hab auch schon mal etwas davon gehört, nur nie getraut sowas zu schreiben...
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache :D und der Kreis Segeberg meine LIEBE :D