Μίσχοι του Πίκοβερ

Οι μίσχοι του Πίκοβερ είναι ορισμένα είδη λεπτομερειών που εντοπίζονται εμπειρικά στο σύνολο Μάντελμπροτ, στη μελέτη της μορφοκλασματικής γεωμετρίας[1]. "Πήραν το όνομά τους από τον ερευνητή Κλίφορντ Πίκοβερ, του οποίου η μέθοδος του "σταυρού έψιλον" συνέβαλε στην ανακάλυψή τους. Ένας "σταυρός έψιλον" είναι μια τροχιακή παγίδα σε σχήμα σταυρού.

Παράδειγμα μίσχων του Πίκοβερ σε μια λεπτομέρεια του συνόλου Μάντελμπροτ

Σύμφωνα με τον Vepstas (1997), "ο Πίκοβερ επινόησε μια νέα ιδέα, η οποία εξετάζει πόσο κοντά είναι οι τροχιές των εσωτερικών σημείων στους άξονες x και y. Σε αυτές τις εικόνες, το σημείο πλησιάζει ολοένα και περισσότερο όσο υψηλότερη είναι η χρωματική κλίμακα, με το κόκκινο να υποδηλώνει την πλησιέστερη προσέγγιση. Σε αυτές τις εικόνες, όσο πιο κοντά πλησιάζει το σημείο, τόσο υψηλότερη είναι η χρωματική κλίμακα, με το κόκκινο να υποδεικνύει την πλησιέστερη προσέγγιση. Ο λογάριθμος της απόστασης λαμβάνεται για να τονιστούν οι λεπτομέρειες"[2].

Βιομορφές

Ένα παράδειγμα του είδους των βιομορφικών μορφών που προκύπτουν από τον αλγόριθμο του Πίκοβερ.

Οι Βιομορφές είναι βιολογικά εμφανιζόμενοι μίσχοι του Πίκοβερ.[3] Στα τέλη της δεκαετίας του 1980, ο Πίκοβερ ανέπτυξε βιολογικούς ανατροφοδοτούμενους οργανισμούς παρόμοιους με τα Σύνολα Julia και το μορφοκλασματικό σύνολο Μάντελμπροτ.[4] Σύμφωνα με τον Πίκοβερ (1999) εν συντομία, "περιέγραψε έναν αλγόριθμο που θα μπορούσε να χρησιμοποιηθεί για τη δημιουργία ποικίλων και περίπλοκων μορφών που μοιάζουν με ασπόνδυλους οργανισμούς. Τα σχήματα είναι περίπλοκα και δύσκολο να προβλεφθούν πριν από τον πραγματικό πειραματισμό με τις αντιστοιχίσεις. Ήλπιζε ότι αυτές οι τεχνικές θα ενθάρρυναν άλλους να εξερευνήσουν περαιτέρω και να ανακαλύψουν νέες μορφές, τυχαία, που βρίσκονται στα όρια της επιστήμης και της τέχνης"[5]

Ο Πίκοβερ ανέπτυξε έναν αλγόριθμο (ο οποίος δεν χρησιμοποιεί ούτε τυχαίες διαταραχές ούτε φυσικούς νόμους) για τη δημιουργία πολύ περίπλοκων σχημάτων που μοιάζουν με ασπόνδυλους οργανισμούς. Η επανάληψη ή αναδρομή μαθηματικών μετασχηματισμών χρησιμοποιείται για τη δημιουργία βιολογικών μορφολογιών. Τις ονόμασε "βιομορφές". Την ίδια στιγμή που επινόησε τον όρο "βιομορφή" για να χαρακτηρίσει αυτά τα μοντέλα, ο διάσημος εξελικτικός βιολόγος Ρίτσαρντ Ντόκινς τον χρησιμοποίησε για να προσδιορίσει το δικό του σύνολο βιολογικών μορφών που προέκυψαν με μια πολύ διαφορετική διαδικασία. Πιο συγκεκριμένα, οι "βιομορφές" του Πίκοβερ περιλαμβάνουν την κατηγορία των οργανωτικών μορφολογιών που δημιουργούνται με μικρές τροποποιήσεις των παραδοσιακών δοκιμών σύγκλισης στον τομέα της θεωρίας των "συνόλων Julia"[5].

Οι βιομορφές του Πίκοβερ παρουσιάζουν αυτοομοιότητα σε διαφορετικές κλίμακες, ένα κοινό χαρακτηριστικό των δυναμικών συστημάτων με ανατροφοδότηση. Τα πραγματικά συστήματα, όπως οι ακτογραμμές και οι οροσειρές, παρουσιάζουν επίσης αυτοομοιότητα σε ορισμένες κλίμακες. Ένα 2-διάστατο παραμετρικό σύστημα 0L μπορεί να "μοιάζει" με τις βιομορφές του Πίκοβερ[6].

Εφαρμογή

Οι Μίσχοι του Πίκοβερ αποδίδονται με μια εφαρμογή του συγκεκριμένου ψευδοκώδικα.

Το παρακάτω παράδειγμα, γραμμένο σε ψευδοκώδικα, αποδίδει ένα σύνολο Μάντελμπροτ χρωματισμένο με τη χρήση ενός μίσχου του Πίκοβερ με ένα διάνυσμα μετασχηματισμού και ένα χρωματικό μέρισμα.

Το διάνυσμα μετασχηματισμού χρησιμοποιείται για την αντιστάθμιση της θέσης (x, y) κατά τη δειγματοληψία της απόστασης του σημείου από τον οριζόντιο και τον κατακόρυφο άξονα.

Το χρωματικό μέρισμα είναι μια μεταβλητή που χρησιμοποιείται για τον προσδιορισμό του πάχους του στελέχους κατά την απόδοση.

For each pixel (x, y) on the target, do:{zx = scaled x coordinate of pixel (scaled to lie in the Mandelbrot X scale (-2.5, 1))    zy = scaled y coordinate of pixel (scaled to lie in the Mandelbrot Y scale (-1, 1))float2 c = (zx, zy) //Offset in the Mandelbrot formulaefloat x = zx; //Coordinates to be iteratedfloat y = zy;float trapDistance = 1000000; //Keeps track of distance, set to a high value at first.    int iteration = 0;while (x*x + y*y < 4 && iteration < maxIterations){float2 z = float2(x, y);z = cmul(z, z); // z^2, cmul is a multiplication function for complex numbers    z += c;x = z.x;y = z.y;float distanceToX = abs(z.x + transformationVector.x); //Checks the distance to the vertical axisfloat distanceToY = abs(z.y + transformationVector.y); //Checks the distance to the horizontal axissmallestDistance = min(distanceToX, distanceToY); // Use only smaller axis distancetrapDistance = min(trapDistance, smallestDistance);iteration++;}return trapDistance * color / dividend; //Dividend is an external float, the higher it is the thicker the stalk is}

Εξωτερικοί σύνδεσμοι

Βιβλιογραφία

  • Pickover, Clifford (1987). «Biomorphs: Computer Displays of Biological Forms Generated from Mathematical Feedback Loops». Computer Graphics Forum 5 (4): 313-316. doi:10.1111/j.1467-8659.1986.tb00317.x. 

Δείτε επίσης

Παραπομπές