Λογισμικό δημιουργίας φράκταλ

Το **λογισμικό δημιουργίας φράκταλ** είναι κάθε είδος λογισμικού γραφικών που δημιουργεί μορφοκλασματικές εικόνες. Υπάρχουν πολλά διαθέσιμα προγράμματα δημιουργίας φράκταλ, διαθέσιμα δωρεάν ή στο εμπόριο. Διατίθενται εφαρμογές για κινητά τηλέφωνα προκειμένου να παίξει κανείς ή να πειραματιστεί με τα φράκταλ. Ορισμένοι προγραμματιστές δημιουργούν λογισμικό φράκταλ για τον εαυτό τους λόγω της καινοτομίας αλλά και εξαιτίας της πρόκλησης στην κατανόηση των σχετικών μαθηματικών. Η δημιουργία φράκταλ προκάλεσε ορισμένα πολύ σημαντικά προβλήματα για τα καθαρά μαθηματικά.

Το λογισμικό δημιουργίας φράκταλ δημιουργεί μαθηματική ομορφιά μέσω οπτικοποίησης. Οι σύγχρονοι υπολογιστές χρειάζονται δευτερόλεπτα ή λεπτά για να δημιουργήσουν μια εικόνα φράκταλ υψηλής ανάλυσης. Οι εικόνες παράγονται τόσο για προσομοίωση (μοντελοποίηση) όσο και για τυχαία φράκταλ με σκοπό την τέχνη. Η δημιουργία φράκταλ που χρησιμοποιείται για τη μοντελοποίηση αποτελεί μέρος του ρεαλισμού στα γραφικά των υπολογιστών. Το λογισμικό δημιουργίας φράκταλ μπορεί να χρησιμοποιηθεί για τη μίμηση φυσικών τοπίων μέσω προγραμμάτων δημιουργίας μορφοκλασματικών τοπίων και σκηνικών. Οι εικόνες φράκταλ μπορούν να χρησιμοποιηθούν για την εισαγωγή ανομοιομορφίας σε ένα κατά τα άλλα στείρο περιβάλλον που δημιουργείται από υπολογιστή. 

Τα φράκταλ δημιουργούνται από λογισμικό οπτικοποίησης μουσικής, προφύλαξη οθόνης και γεννήτριες ταπετσαριών. Αυτά τα προγράμματα προσφέρουν στο χρήστη ένα πιο περιορισμένο εύρος παραμέτρων και λειτουργιών, μερικές φορές βασιζόμενα σε μια σειρά από προ-προγραμματισμένες μεταβλητές. Επειδή πολύπλοκες εικόνες μπορούν να παραχθούν από απλούς τύπους, τα φράκταλ χρησιμοποιούνται συχνά στην demoscene . Η παραγωγή φράκταλ, όπως το σύνολο Μάντελμπροτ, είναι χρονοβόρα και απαιτητική από υπολογιστική άποψη, γι' αυτό και χρησιμοποιείται συχνά σε συσκευές αξιολόγησης επιδόσεων.

## Ιστορία

Η δημιουργία φράκταλ με υπολογισμό χωρίς τη βοήθεια υπολογιστή επιχειρήθηκε από τον Γερμανό μαθηματικό Γκέοργκ Κάντορ το 1883 για τη δημιουργία του συνόλου Κάντορ. τα επόμενα χρόνια, οι μαθηματικοί υπέθεσαν την ύπαρξη πολυάριθμων φράκταλ. Ορισμένα σχεδιάστηκαν πριν από την ονομασία των φράκταλ το 1975, όπως για παράδειγμα το δέντρο του Πυθαγόρα από τον Ολλανδό καθηγητή μαθηματικών Άλμπερτ Ε. Μπόσμαν το 1942.

Η ανάπτυξη του πρώτου λογισμικού δημιουργίας φράκταλ ξεκίνησε από την αναζήτηση του Μπενουά Μάντελμπροτ μιας γενικευμένης συνάρτησης για μια κατηγορία σχημάτων γνωστών ως σύνολα Julia. Το 1979, ο Μάντελμπροτ ανακάλυψε ότι μια εικόνα του μιγαδικού επιπέδου μπορούσε να δημιουργηθεί με επανάληψη. Ο ίδιος και προγραμματιστές που εργάζονταν στην IBM δημιούργησαν τις πρώτες υποτυπώδεις εκτυπώσεις φράκταλ. Αυτό σηματοδότησε την πρώτη περίπτωση δημιουργίας φράκταλ με μη γραμμικούς νόμους δημιουργίας ή "φράκταλ χρόνου διαφυγής".  Ο Λόρεν Κάρπεντερ δημιούργησε μια δίλεπτη έγχρωμη ταινία με τίτλο Vol Libre για παρουσίαση στο SIGGRAPH το 1980. Το τεύχος Οκτωβρίου 1983 του περιοδικού Acorn User περιείχε μια καταχώριση σε BBC BASIC για τη δημιουργία μορφοκλασταλικών σχημάτων από τη Σούζαν Στέπνεϊ, σήμερα καθηγήτρια Πληροφορικής στο Πανεπιστήμιο του Γιορκ. Στη συνέχεια, στο τεύχος Μαρτίου 1984 του περιοδικού Acorn User έγραψε "Νιφάδες χιονιού και άλλα τέρατα φράκταλ (Snowflakes and other fractal monsters)". Τα φράκταλ αποδόθηκαν σε ηλεκτρονικά παιχνίδια ήδη από το 1984 με τη δημιουργία του παιχνιδιού Rescue on Fractalus! Από τις αρχές της δεκαετίας του 1980 έως περίπου το 1995 διαμορφώθηκαν εκατοντάδες διαφορετικοί τύποι φράκταλ.

Η παραγωγή εικόνων φράκταλ έγινε όλο και πιο δημοφιλής καθώς η διανομή υπολογιστών με συνεπεξεργαστή μαθηματικών ή μονάδα κινητής υποδιαστολής στην κεντρική μονάδα επεξεργασίας υιοθετήθηκε κατά τη δεκαετία του 1990. Εκείνη την εποχή η απόδοση εικόνων υψηλής ανάλυσης προτύπου VGA μπορούσε να διαρκέσει πολλές ώρες.Οι αλγόριθμοι δημιουργίας φράκταλ εμφανίζουν ακραία παραλληλιστικότητα. Το λογισμικό δημιουργίας φράκταλ ξαναγράφτηκε για να κάνει χρήση της πολυνηματικής επεξεργασίας. Στη συνέχεια, η υιοθέτηση μονάδων επεξεργασίας γραφικών στους υπολογιστές αύξησε σημαντικά την ταχύτητα απόδοσης και επέτρεψε αλλαγές σε πραγματικό χρόνο στις παραμέτρους που προηγουμένως ήταν αδύνατες λόγω της καθυστερημένης απόδοσης. Η τρισδιάστατη παραγωγή φράκταλ εμφανίστηκε γύρω στο 2009. Ένας πρώιμος κατάλογος λογισμικού δημιουργίας φράκταλ καταρτίστηκε για το βιβλίο με τίτλο Fractals: The Patterns of Chaos του John Briggs που εκδόθηκε το 1992  Στους κορυφαίους συγγραφείς του τομέα περιλαμβάνονται οι Ντίτμαρ Σάουπε, Χάιντς-Όττο Πάιτγκεν και Κλίφορντ Α. Πίκοβερ.

## Μέθοδοι

Υπάρχουν δύο κύριες μέθοδοι δημιουργίας δισδιάστατων φράκταλ. Η μία είναι η εφαρμογή μιας επαναληπτικής διαδικασίας σε απλές εξισώσεις με γενεσιουργό αναδρομή. Στο λογισμικό φράκταλ οι τιμές για ένα σύνολο σημείων στο μιγαδικό επίπεδο υπολογίζονται και στη συνέχεια αποδίδονται ως εικονοστοιχεία. Αυτή η βασισμένη στον υπολογιστή παραγωγή μορφοκλασματικών αντικειμένων είναι μια ατελείωτη διαδικασία. Θεωρητικά, οι εικόνες μπορούν να υπολογιστούν επ' άπειρον, αλλά στην πράξη προσεγγίζονται σε ένα ορισμένο επίπεδο λεπτομέρειας. Ο Μάντελμπροτ χρησιμοποίησε τετραγωνικούς τύπους που περιέγραψε ο Γάλλος μαθηματικός Γκαστόν Julia. Η μέγιστη Μορφοκλασματική διάσταση που μπορεί να παραχθεί ποικίλλει ανάλογα με τον τύπο και μερικές φορές περιορίζεται ανάλογα με τη μέθοδο που χρησιμοποιείται. Υπάρχουν πολλές μέθοδοι χρωματισμού που μπορούν να εφαρμοστούν.  Μία από τις πρώτες ήταν ο αλγόριθμος του χρόνου διαφυγής . Ενδέχεται να εμφανιστούν λωρίδες χρώματος στις εικόνες ανάλογα με τη μέθοδο χρωματισμού που χρησιμοποιήθηκε και την πυκνότητα της χρωματικής διαβάθμισης.

Ορισμένα προγράμματα δημιουργούν γεωμετρικά αυτοομοειδή ή προσδιοριστικά φράκταλ, όπως η καμπύλη του Κοχ. Αυτά τα προγράμματα χρησιμοποιούν έναν εκκινητή ακολουθούμενο από μια γεννήτρια που επαναλαμβάνεται σε ένα μοτίβο. Αυτά τα απλά φράκταλ προέρχονται από μια τεχνική που προτάθηκε για πρώτη φορά το 1904 από τον Κοχ.

Μια άλλη σημαντική μέθοδος είναι με συστήματα επαναλαμβανόμενων συναρτήσεων (Iterated Function Systems) που αποτελούνται από έναν αριθμό συγγενικών μετασχηματισμών Στην πρώτη μέθοδο κάθε εικονοστοιχείο σε μια μορφοκλασματική εικόνα αξιολογείται σύμφωνα με μια συνάρτηση και στη συνέχεια χρωματίζεται, προτού η ίδια διαδικασία εφαρμοστεί στο επόμενο εικονοστοιχείο. Η πρώτη μέθοδος αντιπροσωπεύει την κλασική στοχαστική προσέγγιση, ενώ η δεύτερη υλοποιεί ένα γραμμικό μοντέλο φράκταλ Η χρήση της αναδρομής επέτρεψε στους προγραμματιστές να δημιουργήσουν πολύπλοκες εικόνες μέσω απλής κατεύθυνσης.

Τα τρισδιάστατα φράκταλ δημιουργούνται με διάφορους τρόπους, μεταξύ άλλων με τη χρήση της άλγεβρας τεταρτοταγώνων. Τα φράκταλ προκύπτουν από προσομοιώσεις προσομοίωσης ρευστοδυναμικής ως τύρβη, όταν η συμβολή περιγράμματος χρησιμοποιείται για τη μελέτη της χαοτικής ανάμειξης. Η μέθοδος Buddhabrot εισήχθη το 1993. Προγράμματα μπορεί να χρησιμοποιούν φρακταλικούς χάρτες ύψους για τη δημιουργία εδάφους. Τα φράκταλ έχουν παραχθεί σε υπολογιστές χρησιμοποιώντας τις ακόλουθες μεθόδους: Σπόγγος του Μένγκερ, Υπερπολλαπλάσια πολλαπλότητα, δέντρο Μπράουν, κίνηση Μπράουν, αποσύνθεση, συστήματα L, Φρακτάλ του Λιαπούνοφ, φράκταλ του Νεύτωνα, μίσχοι του Πίκοβερ και Παράξενοι ελκυστές.

## Χαρακτηριστικά

Το λογισμικό δημιουργίας φράκταλ ενσωματώνει πολλές διαφορετικές λειτουργίες. Συνεπώς, είναι δυνατόν να επιτευχθεί μια αντίστοιχη ποικιλομορφία στις παραγόμενες εικόνες. Τα περισσότερα προσφέρουν κάποια μορφή επιλογής αλγορίθμου, διαδραστική μεγέθυνση της εικόνας και δυνατότητα αποθήκευσης αρχείων σε μορφή JPEG, TIFF ή PNG, καθώς και δυνατότητα αποθήκευσης αρχείων παραμέτρων, επιτρέποντας στον χρήστη να επιστρέφει εύκολα σε εικόνες που έχουν δημιουργηθεί προηγουμένως για περαιτέρω τροποποίηση ή εξερεύνηση. Ο τύπος, οι παράμετροι, οι μεταβλητές και οι αλγόριθμοι χρωματισμού για τις μορφοκλασματικές εικόνες μπορούν να ανταλλάσσονται μεταξύ των χρηστών του ίδιου προγράμματος. Δεν υπάρχει καθολικά υιοθετημένη τυποποιημένη μορφή αρχείου φράκταλ.

Ένα χαρακτηριστικό των περισσότερων προγραμμάτων φράκταλ που βασίζονται στον χρόνο διαφυγής ή στην άλγεβρα είναι η ρύθμιση της μέγιστης επανάληψης. Η αύξηση του αριθμού των επαναλήψεων είναι απαραίτητη εάν η εικόνα μεγεθύνεται, ώστε να μη χαθούν οι πιο μικρές λεπτομέρειες. Ο περιορισμός του μέγιστου αριθμού επαναλήψεων είναι σημαντικός όταν η επεξεργαστική ισχύς μιας συσκευής είναι χαμηλή. Οι επιλογές χρωματισμού χρησιμοποιούνται συχνά για να καταστήσουν τα χρώματα τυχαία. Οι επιλογές πυκνότητας χρώματος είναι συνηθισμένες, καθώς ορισμένες διαβαθμίσεις παράγουν εξαιρετικά μεταβλητά πλάτη, με αποτέλεσμα μεγάλες επαναλαμβανόμενες ζώνες ή μεγάλες περιοχές του ίδιου χρώματος. Λόγω της πρακτικότητας της προσθήκης εφέ μετα-επεξεργασίας, συμπεριλήφθηκαν οι λειτουργίες διαστρωμάτωσης άλφα και σύνθεσης που υπάρχουν σε άλλα λογισμικά γραφικών. Μπορούν επίσης να συμπεριληφθούν εφέ απόδοσης 2Δ και 3Δ, όπως το πλάσμα και ο φωτισμός. Πολλά προγράμματα επιτρέπουν επίσης στο χρήστη να εισάγει το δικό του τύπο, ώστε να έχει μεγαλύτερο έλεγχο στα φράκταλ, καθώς και να επιλέγει την απόδοση των χρωμάτων και να χρησιμοποιεί φίλτρα και άλλες τεχνικές επεξεργασίας εικόνας. Ορισμένα λογισμικά φράκταλ σας επιτρέπουν τη δημιουργία ταινιών από μια ακολουθία μορφοκλασματικών εικόνων. Άλλα εμφανίζουν το χρόνο απόδοσης και σας επιτρέπουν να χρησιμοποιήσετε εργαλεία για τη δημιουργία κύκλων και παλέτες χρωμάτων.

Το συνηθισμένο λογισμικό γραφικών (παράδειγμα το GIMP) περιέχει φίλτρα ή πρόσθετα που μπορούν να χρησιμοποιηθούν για τη δημιουργία φράκταλ. Το Blender περιέχει έναν τροποποιητή φράκταλ (ή τυχαίου). Πολλά αυτόνομα προγράμματα δημιουργίας φράκταλ μπορούν να χρησιμοποιηθούν σε συνδυασμό με άλλα προγράμματα γραφικών (όπως το Photoshop) για τη δημιουργία πιο σύνθετων εικόνων. Το POV-Ray είναι ένα πρόγραμμα ανίχνευσης ακτίνων που παράγει εικόνες από μια περιγραφή της σκηνής σε κείμενο που μπορεί να δημιουργήσει φράκταλ. Είναι δυνατή η χρήση σεναρίων στο 3ds Max και στο Autodesk Maya. Ορισμένες διαδικτυακές διασυνδέσεις για τη δημιουργία φράκταλ είναι διαθέσιμες δωρεάν, συμπεριλαμβανομένου του Turtle Graphics Renderer. Το Fractal Lab μπορεί να παράγει 2Δ και 3Δ fractals και είναι διαθέσιμο στο διαδίκτυο χρησιμοποιώντας WebGL. Το JWildfire είναι μια γεννήτρια μορφοκλασματικών φλογών ανοικτού κώδικα που βασίζεται σε Java . Το Mandelbrot Fractal είναι ένας εξερευνητής φράκταλ γραμμένος σε JavaScript  . Το Fractal Grower είναι ένα λογισμικό γραμμένο σε Java για τη δημιουργία κλασμάτων αντικατάστασης  Λίντενμαγιερ (Σύστημα-L).

## Προγράμματα
[thumb|Κίνηση ζουμ σε ένα [σύνολο Julia]]
Λόγω του φαινομένου της πεταλούδας, η δημιουργία φράκταλ μπορεί να είναι δύσκολο να κατακτηθεί. Μια μικρή αλλαγή σε μια μόνο μεταβλητή μπορεί να έχει απρόβλεπτο αποτέλεσμα.  Ορισμένα λογισμικά παρουσιάζουν στον χρήστη μια απότομη καμπύλη εκμάθησης και η κατανόηση της θεωρίας του χάους είναι πλεονέκτημα.  Αυτό περιλαμβάνει τα χαρακτηριστικά της μπορφοκλασματικής διάστασης, της αναδρομή και της αυτο-ομοιότητας που παρουσιάζουν όλα τα φράκταλ.

***Apophysis** - λογισμικό ανοικτού κώδικα IFS για συστήματα βασισμένα στα Microsoft Windows
***Bryce** - εμπορικό λογισμικό πολλαπλών πλατφορμών που αναπτύχθηκε εν μέρει από τον Ken Musgrave
***Chaotica** - εμπορικό λογισμικό IFS για Windows, Linux και Mac OS. Δωρεάν για μη εμπορική χρήση.
***Electric Sheep** - διανεμημένο λογισμικό screensaver ανοικτού κώδικα, που αναπτύχθηκε από τον Scott Draves.
***Fractint** - δωρεάν λογισμικό MS-DOS που κυκλοφόρησε αρχικά το 1988 με διαθέσιμο πηγαίο κώδικα, αργότερα μεταφέρθηκε σε Linux και Windows (ως WinFract).
***Fyre** είναι ένα εργαλείο ανοιχτού κώδικα cross-platform για την παραγωγή εικόνων βασισμένων σε ιστογράμματα επαναλαμβανόμενων χαοτικών συναρτήσεων
***Kalles Fraktaler** - Φρακταλικός ζουόμετρο βασισμένο στα Windows
***Milkdrop** - πρόσθετο οπτικοποίησης μουσικής που διανέμεται με το Winamp
***MojoWorld Generator** - μια ανενεργή γεννήτρια τοπίων για τα Windows
***OpenPlaG** - δημιουργεί φράκταλ με την απεικόνιση απλών συναρτήσεων
***Picogen** - μια γεννήτρια εδάφους ανοιχτού κώδικα για πολλαπλές πλατφόρμες
***Sterling** - δωρεάν λογισμικό για τα Windows
***Terragen** - μια γεννήτρια εδάφους φράκταλ που μπορεί να αποδώσει κινούμενες εικόνες για Windows και Mac OS X
***Ultra Fractal** - ιδιόκτητη γεννήτρια φρακτάλ για Windows και Mac OS X
***Wolfram Mathematica** - μπορεί να χρησιμοποιηθεί ειδικά για τη δημιουργία εικόνων φράκταλ
***XaoS** - πρόγραμμα ζουμ φρακτάλ ανοιχτού κώδικα για πολλαπλές πλατφόρμες

Τα περισσότερα από τα παραπάνω προγράμματα δημιουργούν δισδιάστατα φράκταλ, ενώ μερικά δημιουργούν τρισδιάστατα αντικείμενα φράκταλ, όπως τα mandelbulbs και mandelboxes. Το Mandelbulber είναι ένα πειραματικό, διαπλατφορμικό πρόγραμμα ανοιχτού κώδικα που παράγει τρισδιάστατες εικόνες φράκταλ. Το Mandelbulber είναι ικανό στην παραγωγή τρισδιάστατων κινούμενων σχεδίων. Το Mandelbulb 3D είναι ένα ελεύθερο λογισμικό για τη δημιουργία τρισδιάστατων εικόνων που διαθέτει πολλά εφέ που συναντώνται σε περιβάλλοντα τρισδιάστατης απεικόνισης. Το Incendia είναι ένα τρισδιάστατο πρόγραμμα φράκταλ που χρησιμοποιεί Iterated Function Systems (IFS) για τη δημιουργία φράκταλ. Τα Visions of Chaos, Boxplorer και Fragmentarium αποδίδουν επίσης τρισδιάστατες εικόνες.

Διατίθεται το ανοιχτό λογισμικό GnoFract 4D. Το ChaosPro είναι ένα δωρεάν πρόγραμμα δημιουργίας φράκταλ. Το Fraqtive είναι μια γεννήτρια φράκταλ ανοιχτού κώδικα για πολλαπλές πλατφόρμες. Το MandelX είναι ένα δωρεάν πρόγραμμα για την απόδοση εικόνων φράκταλ στα Windows. Τα WinCIG, Chaoscope, Tierazon, Fractal Forge και Malsys δημιουργούν επίσης εικόνες φράκταλ.

## Εξωτερικοί σύνδεσμοι
*  Orbit Trap Examples 
*  Julia Fractal Orbit Trap

## Δείτε επίσης
*Αλγόριθμος διαμαντιού τετραγώνου
*Καμπύλη που γεμίζει το χώρο
*Νιφάδα του Κοχ 
*Καμπύλη Χίλμπερτ
*Καμπύλη του δράκου
*Σπόγγος του Μένγκερ
*Χαλί του Σιερπίνσκι
*Σύνολο Μάντελμπροτ
*Σύνολο Julia
*Σύνολο Κάντορ
*Οικοδομήσιμο Σύμπαν
*Σύστημα-L

## Παραπομπές

 

Κατηγορία:Φράκταλ
Κατηγορία:Ψηφιακές τέχνες
Κατηγορία:Εφαρμογές διαδικτύου