CFractGen - Fraktalgenerator

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
enyaw_ecurb
Beiträge: 8
Registriert: Mi 4. Feb 2009, 00:21

CFractGen - Fraktalgenerator

Beitrag von enyaw_ecurb »

ja, yet another fractal generator :wink:

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! :wink:

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.

Bild
Bild
Bild

cfractgen.180309.tar.bz2
source
(50.6 KiB) 133-mal heruntergeladen

cfractgen.180309.bin.tar.bz2
bin (win+linux)
(1.63 MiB) 144-mal heruntergeladen
Zuletzt geändert von enyaw_ecurb am Sa 28. Mär 2009, 13:40, insgesamt 2-mal geändert.

pluto
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

Beitrag von pluto »

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
MFG
Michael Springwald

Targion
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

Beitrag von Targion »

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.

pluto
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

Beitrag von pluto »

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....
MFG
Michael Springwald

Euklid
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

Beitrag von Euklid »

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

enyaw_ecurb
Beiträge: 8
Registriert: Mi 4. Feb 2009, 00:21

Re: CFractGen - Fraktalgenerator

Beitrag von enyaw_ecurb »

@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...

pluto
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

Beitrag von pluto »

Also könnte man auch noch andere Varianten hinzufügen ?

Also abgesehen von den ersten Problemen finde ich das Programm auch ganz nett.
MFG
Michael Springwald

enyaw_ecurb
Beiträge: 8
Registriert: Mi 4. Feb 2009, 00:21

Re: CFractGen - Fraktalgenerator

Beitrag von enyaw_ecurb »

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.

pluto
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

Beitrag von pluto »

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

Sahnchi
Beiträge: 1
Registriert: Mi 13. Apr 2011, 18:44

Re: CFractGen - Fraktalgenerator

Beitrag von Sahnchi »

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 :/

Maik81ftl
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

Beitrag von Maik81ftl »

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

Antworten