Υπερκύβος Το πρώτο βήμα στην τέταρτη διάσταση

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

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

Tesseract

Στη γεωμετρία, ένας υπερκύβος είναι μια n-διάστατη αναλογία ενός τετραγώνου (n = 2) και ενός κύβου (n = 3). Το τετραδιάστατο ανάλογο του συνηθισμένου τρισδιάστατου κύβου μας είναι γνωστό ως tesseract. Το τεσεράκτο είναι στον κύβο όπως ο κύβος στο τετράγωνο. Πιο τυπικά, ένα τεσεράκτο μπορεί να περιγραφεί ως ένα κανονικό κυρτό τετραδιάστατο πολύεδρο του οποίου το όριο αποτελείται από οκτώ κυβικά κύτταρα.


Κάθε ζεύγος μη παράλληλων τρισδιάστατων όψεων τέμνεται για να σχηματίσει όψεις 2Δ (τετράγωνα) και ούτω καθεξής. Τέλος, το tesseract έχει 8 τρισδιάστατες όψεις, 24 όψεις 2D, 32 ακμές και 16 κορυφές.
Παρεμπιπτόντως, σύμφωνα με το Oxford Dictionary, η λέξη tesseract επινοήθηκε και χρησιμοποιήθηκε το 1888 από τον Charles Howard Hinton (1853-1907) στο βιβλίο του A New Age of Thought. Αργότερα, κάποιοι ονόμασαν την ίδια φιγούρα τετρακύβο (ελληνικά tetra - τέσσερα) - τετραδιάστατο κύβο.



Κατασκευή και περιγραφή

Ας προσπαθήσουμε να φανταστούμε πώς θα μοιάζει ένας υπερκύβος χωρίς να αφήνουμε τρισδιάστατο χώρο.
Σε ένα μονοδιάστατο "χώρο" - σε μια ευθεία - επιλέγουμε ένα τμήμα AB μήκους L. Σε ένα δισδιάστατο επίπεδο σε απόσταση L από το AB, σχεδιάζουμε ένα τμήμα DC παράλληλο σε αυτό και συνδέουμε τα άκρα τους. Το αποτέλεσμα είναι ένα τετράγωνο CDBA. Επαναλαμβάνοντας αυτή τη λειτουργία με το επίπεδο, λαμβάνουμε έναν τρισδιάστατο κύβο CDBAGHFE. Και μετατοπίζοντας τον κύβο στην τέταρτη διάσταση (κάθετα στις τρεις πρώτες) κατά μια απόσταση L, παίρνουμε τον υπερκύβο CDBAGHFEKLJIOPNM.

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

Ας πάρουμε τον κύβο σύρματος ABCDHEFG και ας τον δούμε με το ένα μάτι από την πλευρά της άκρης. Θα δούμε και μπορούμε να σχεδιάσουμε δύο τετράγωνα στο επίπεδο (τις κοντινές και μακρινές άκρες του), που συνδέονται με τέσσερις γραμμές - πλευρικές άκρες. Ομοίως, ένας τετραδιάστατος υπερκύβος σε τρισδιάστατο χώρο θα μοιάζει με δύο κυβικά «κουτιά» που εισάγονται το ένα μέσα στο άλλο και συνδέονται με οκτώ άκρες. Σε αυτή την περίπτωση, τα ίδια τα "κουτιά" - τρισδιάστατες όψεις - θα προβάλλονται στον χώρο "μας" και οι γραμμές που τα συνδέουν θα τεντώνονται προς την κατεύθυνση του τέταρτου άξονα. Μπορείτε επίσης να προσπαθήσετε να φανταστείτε τον κύβο όχι σε προβολή, αλλά σε χωρική εικόνα.


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

Κόβοντας τις έξι όψεις ενός τρισδιάστατου κύβου, μπορείτε να τον αποσυνθέσετε σε μια επίπεδη φιγούρα - μια εξέλιξη. Θα έχει ένα τετράγωνο σε κάθε πλευρά της αρχικής όψης συν ένα ακόμη - το πρόσωπο απέναντι από αυτό. Και η τρισδιάστατη ανάπτυξη ενός τετραδιάστατου υπερκύβου θα αποτελείται από τον αρχικό κύβο, έξι κύβους που «αναπτύσσονται» από αυτόν, συν έναν ακόμη - την τελική «υπερφάνεια».



Υπερκύβος στην τέχνη

Το Tesseract είναι μια τόσο ενδιαφέρουσα φιγούρα που έχει προσελκύσει επανειλημμένα την προσοχή συγγραφέων και κινηματογραφιστών.
Ο Robert E. Heinlein ανέφερε τους υπερκύβους αρκετές φορές. Στο The House That Teal Built (1940), περιέγραψε ένα σπίτι που χτίστηκε ως μη τυλιγμένο τεσεράκτ και στη συνέχεια, λόγω σεισμού, «δίπλωσε» στην τέταρτη διάσταση για να γίνει ένα «πραγματικό» τεσεράκτ. Το μυθιστόρημα Glory Road του Heinlein περιγράφει ένα υπερμεγέθη κουτί που ήταν μεγαλύτερο στο εσωτερικό παρά στο εξωτερικό.

Η ιστορία του Henry Kuttner "All Tenali Borogov" περιγράφει ένα εκπαιδευτικό παιχνίδι για παιδιά από το μακρινό μέλλον, παρόμοιο στη δομή με ένα tesseract.

Η πλοκή του Cube 2: Hypercube επικεντρώνεται σε οκτώ αγνώστους παγιδευμένους σε έναν «υπερκύβο», ή ένα δίκτυο συνδεδεμένων κύβων.

Παράλληλος κόσμος

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

Αυτό το θέμα είναι πρόσφορο έδαφος για συγγραφείς επιστημονικής φαντασίας.

Ο πίνακας του Σαλβαδόρ Νταλί «Η Σταύρωση» απεικονίζει ένα τεσεράκτ. «Σταύρωση ή Υπερκυβικό Σώμα» είναι ένας πίνακας του Ισπανού καλλιτέχνη Σαλβαδόρ Νταλί, ζωγραφισμένος το 1954. Απεικονίζει τον σταυρωμένο Ιησού Χριστό σε σαρωτική σάρωση. Ο πίνακας φυλάσσεται στο Μητροπολιτικό Μουσείο Τέχνης της Νέας Υόρκης

Όλα ξεκίνησαν το 1895, όταν ο H.G. Wells, με την ιστορία του «The Door in the Wall», ανακάλυψε την ύπαρξη παράλληλων κόσμων για επιστημονική φαντασία. Το 1923, ο Wells επέστρεψε στην ιδέα των παράλληλων κόσμων και τοποθέτησε σε έναν από αυτούς μια ουτοπική χώρα όπου πηγαίνουν οι χαρακτήρες του μυθιστορήματος Men Like Gods.

Το μυθιστόρημα δεν πέρασε απαρατήρητο. Το 1926, εμφανίστηκε η ιστορία του G. Dent «Ο Αυτοκράτορας της Χώρας «Αν»» Στην ιστορία του Ντεντ, για πρώτη φορά, προέκυψε η ιδέα ότι θα μπορούσαν να υπάρχουν χώρες (κόσμοι) των οποίων η ιστορία θα μπορούσε να είναι διαφορετική από την ιστορία των πραγματικών χωρών. στον κόσμο μας και αυτοί οι κόσμοι δεν είναι λιγότερο πραγματικοί από τον δικό μας.

Το 1944, ο Χόρχε Λουίς Μπόρχες δημοσίευσε την ιστορία «The Garden of Forking Paths» στο βιβλίο του Fictional Stories. Εδώ η ιδέα του χρόνου διακλάδωσης εκφράστηκε τελικά με απόλυτη σαφήνεια.
Παρά την εμφάνιση των έργων που αναφέρονται παραπάνω, η ιδέα πολλών κόσμων άρχισε να αναπτύσσεται σοβαρά στην επιστημονική φαντασία μόνο στα τέλη της δεκαετίας του σαράντα του 20ου αιώνα, περίπου την ίδια στιγμή που προέκυψε μια παρόμοια ιδέα στη φυσική.

Ένας από τους πρωτοπόρους της νέας κατεύθυνσης στην επιστημονική φαντασία ήταν ο John Bixby, ο οποίος πρότεινε στην ιστορία "One Way Street" (1954) ότι μεταξύ των κόσμων μπορείτε να κινηθείτε μόνο προς μια κατεύθυνση - μόλις πάτε από τον κόσμο σας σε έναν παράλληλο, δεν θα επιστρέψεις πίσω, αλλά θα μετακινηθείς από τον έναν κόσμο στον άλλο. Ωστόσο, η επιστροφή στον δικό του κόσμο δεν αποκλείεται επίσης - γι 'αυτό είναι απαραίτητο να κλείσει το σύστημα των κόσμων.

Το μυθιστόρημα του Clifford Simak A Ring Around the Sun (1982) περιγράφει πολλούς πλανήτες Γη, ο καθένας που υπάρχει στον δικό του κόσμο, αλλά στην ίδια τροχιά, και αυτοί οι κόσμοι και αυτοί οι πλανήτες διαφέρουν μεταξύ τους μόνο με μια μικρή χρονική μετατόπιση (μικρο δευτερολέπτου). Οι πολυάριθμες Γη που επισκέπτεται ο ήρωας του μυθιστορήματος αποτελούν ένα ενιαίο σύστημα κόσμων.

Ο Alfred Bester εξέφρασε μια ενδιαφέρουσα άποψη για τη διακλάδωση των κόσμων στην ιστορία του «The Man Who Killed Mohammed» (1958). «Αλλάζοντας το παρελθόν», υποστήριξε ο ήρωας της ιστορίας, «το αλλάζεις μόνο για τον εαυτό σου». Με άλλα λόγια, μετά από μια αλλαγή στο παρελθόν, προκύπτει ένας κλάδος της ιστορίας στον οποίο μόνο για τον χαρακτήρα που έκανε την αλλαγή υπάρχει αυτή η αλλαγή.

Η ιστορία των αδελφών Strugatsky «Monday Begins on Saturday» (1962) περιγράφει τα ταξίδια των χαρακτήρων σε διαφορετικές εκδοχές του μέλλοντος που περιγράφονται από συγγραφείς επιστημονικής φαντασίας - σε αντίθεση με τα ταξίδια σε διαφορετικές εκδοχές του παρελθόντος που υπήρχαν ήδη στην επιστημονική φαντασία.

Ωστόσο, ακόμη και μια απλή λίστα όλων των έργων που αγγίζουν το θέμα των παράλληλων κόσμων θα έπαιρνε πολύ χρόνο. Και παρόλο που οι συγγραφείς επιστημονικής φαντασίας, κατά κανόνα, δεν τεκμηριώνουν επιστημονικά το αξίωμα της πολυδιάστασης, έχουν δίκιο για ένα πράγμα - αυτή είναι μια υπόθεση που έχει δικαίωμα ύπαρξης.
Η τέταρτη διάσταση του τεσεράκτου μας περιμένει ακόμα να την επισκεφτούμε.

Βίκτορ Σαβίνοφ


Υπερκύβοι και πλατωνικά στερεά

Μοντελοποιήστε ένα κολοβό εικοσάεδρο («μπάλα ποδοσφαίρου») στο σύστημα «Vector».
στο οποίο κάθε πεντάγωνο οριοθετείται από εξάγωνα

Κομμένο εικοσάεδρομπορεί να ληφθεί αποκόπτοντας 12 κορυφές για να σχηματιστούν όψεις με τη μορφή κανονικών πενταγώνων. Σε αυτή την περίπτωση, ο αριθμός των κορυφών του νέου πολυέδρου αυξάνεται 5 φορές (12×5=60), 20 τριγωνικές όψεις μετατρέπονται σε κανονικά εξάγωνα (συνολικά τα πρόσωπα γίνονται 20+12=32), Α ο αριθμός των ακμών αυξάνεται σε 30+12×5=90.

Βήματα για την κατασκευή ενός κολοβωμένου εικοσάεδρου στο σύστημα Vector

Φιγούρες σε 4-διάστατο χώρο.

--à

--à ?

Για παράδειγμα, δίνεται ένας κύβος και ένας υπερκύβος. Ένας υπερκύβος έχει 24 όψεις. Αυτό σημαίνει ότι ένα οκτάεδρο 4 διαστάσεων θα έχει 24 κορυφές. Αν και όχι, ένας υπερκύβος έχει 8 όψεις κύβων - το καθένα έχει ένα κέντρο στην κορυφή του. Αυτό σημαίνει ότι ένα 4-διάστατο οκτάεδρο θα έχει 8 κορυφές, το οποίο είναι ακόμη πιο ελαφρύ.

4-διάστατο οκτάεδρο. Αποτελείται από οκτώ ισόπλευρα και ίσα τετράεδρα,
συνδέονται με τέσσερα σε κάθε κορυφή.

Ρύζι. Μια προσπάθεια προσομοίωσης
υπερσφαίρα-υπέρσφαιρα στο σύστημα «Διάνυσμα».

Μπροστινά - πίσω πρόσωπα - μπάλες χωρίς παραμόρφωση. Άλλες έξι μπάλες μπορούν να οριστούν μέσω ελλειψοειδών ή τετραγωνικών επιφανειών (μέσω 4 γραμμών περιγράμματος ως γεννήτριες) ή μέσω όψεων (πρώτα ορίστηκαν μέσω γεννητριών).

Περισσότερες τεχνικές για να «χτίσετε» μια υπερσφαίρα
- η ίδια «μπάλα ποδοσφαίρου» σε 4-διάστατο χώρο

Παράρτημα 2

Για τα κυρτά πολύεδρα, υπάρχει μια ιδιότητα που συσχετίζει τον αριθμό των κορυφών, των ακμών και των όψεών τους, που αποδείχθηκε το 1752 από τον Leonhard Euler και ονομάζεται θεώρημα του Euler.

Πριν το διατυπώσετε, εξετάστε τα γνωστά μας πολύεδρα και συμπληρώστε τον ακόλουθο πίνακα, στον οποίο B είναι ο αριθμός των κορυφών, P - άκρες και G - όψεις ενός δεδομένου πολυέδρου:

Όνομα πολύεδρο

Τριγωνική πυραμίδα

Τετραγωνική πυραμίδα

Τριγωνικό πρίσμα

Τετράγωνο πρίσμα

n-πυραμίδα άνθρακα

n+1

2n

n+1

n-πρίσμα άνθρακα

2n

3n

n+2

n-κάρβουνο κολοβωμένο

πυραμίδα

2n

3n

n+2

Από αυτόν τον πίνακα είναι αμέσως σαφές ότι για όλα τα επιλεγμένα πολύεδρα ισχύει η ισότητα B - P + G = 2. Αποδεικνύεται ότι αυτή η ισότητα ισχύει όχι μόνο για αυτά τα πολύεδρα, αλλά και για ένα αυθαίρετο κυρτό πολύεδρο.

Θεώρημα Euler. Για κάθε κυρτό πολύεδρο ισχύει η ισότητα

B - P + G = 2,

όπου B είναι ο αριθμός των κορυφών, P είναι ο αριθμός των ακμών και G είναι ο αριθμός των όψεων ενός δεδομένου πολυέδρου.

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

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

Ας αποδείξουμε ότι η προκύπτουσα διαίρεση του πολυγώνου σε μικρότερα πολύγωνα ικανοποιεί την ισότητα

(*)B - P + G " = 1,

όπου B είναι ο συνολικός αριθμός κορυφών, P είναι ο συνολικός αριθμός των ακμών και Г " είναι ο αριθμός των πολυγώνων που περιλαμβάνονται στο διαμέρισμα. Είναι σαφές ότι Г " = Г - 1, όπου Г είναι ο αριθμός των όψεων ενός δεδομένου πολύεδρο.

Ας αποδείξουμε ότι η ισότητα (*) δεν αλλάζει εάν σχεδιάζεται μια διαγώνιος σε κάποιο πολύγωνο ενός δεδομένου διαμερίσματος (Εικ. 5, α). Πράγματι, αφού σχεδιάσουμε μια τέτοια διαγώνιο, το νέο διαμέρισμα θα έχει κορυφές Β, ακμές P+1 και ο αριθμός των πολυγώνων θα αυξηθεί κατά ένα. Ως εκ τούτου, έχουμε

B - (P + 1) + (G "+1) = B – P + G " .


Χρησιμοποιώντας αυτήν την ιδιότητα, σχεδιάζουμε διαγώνιους που χωρίζουν τα εισερχόμενα πολύγωνα σε τρίγωνα και για το διαμέρισμα που προκύπτει δείχνουμε τη σκοπιμότητα της ισότητας (*) (Εικ. 5, β). Για να γίνει αυτό, θα αφαιρέσουμε διαδοχικά τις εξωτερικές άκρες, μειώνοντας τον αριθμό των τριγώνων. Σε αυτή την περίπτωση, δύο περιπτώσεις είναι δυνατές:

α) να αφαιρέσετε ένα τρίγωνο αλφάβητοείναι απαραίτητο να αφαιρέσουμε δύο νευρώσεις, στην περίπτωσή μας ΑΒΚαι π.Χ.;

β) να αφαιρέσετε ένα τρίγωνοMKNείναι απαραίτητο να αφαιρέσετε μια άκρη, στην περίπτωσή μαςMN.

Και στις δύο περιπτώσεις, η ισότητα (*) δεν θα αλλάξει. Για παράδειγμα, στην πρώτη περίπτωση, μετά την αφαίρεση του τριγώνου, το γράφημα θα αποτελείται από B - 1 κορυφές, P - 2 άκρες και G " - 1 πολύγωνο:

(B - 1) - (P + 2) + (G " – 1) = B – P + G ".

Σκεφτείτε μόνοι σας τη δεύτερη περίπτωση.

Έτσι, η αφαίρεση ενός τριγώνου δεν αλλάζει την ισότητα (*). Συνεχίζοντας αυτή τη διαδικασία αφαίρεσης τριγώνων, θα φτάσουμε τελικά σε ένα διαμέρισμα που αποτελείται από ένα μόνο τρίγωνο. Για μια τέτοια κατάτμηση, B = 3, P = 3, Г " = 1 και, επομένως, B – Р + Г " = 1. Αυτό σημαίνει ότι η ισότητα (*) ισχύει και για την αρχική κατάτμηση, από την οποία τελικά προκύπτει ότι για αυτό το διαμέρισμα του πολυγώνου η ισότητα (*) είναι αληθής. Έτσι, για το αρχικό κυρτό πολύεδρο ισχύει η ισότητα B - P + G = 2.

Ένα παράδειγμα πολυέδρου για το οποίο δεν ισχύει η σχέση του Euler,φαίνεται στο σχήμα 6. Αυτό το πολύεδρο έχει 16 κορυφές, 32 ακμές και 16 όψεις. Έτσι, για αυτό το πολύεδρο ισχύει η ισότητα B – P + G = 0.

Παράρτημα 3.

Το Film Cube 2: Hypercube είναι μια ταινία επιστημονικής φαντασίας, μια συνέχεια της ταινίας Cube.

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

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

Κριτική

Αν στο πρώτο μέρος άνθρωποι φυλακισμένοι σε έναν λαβύρινθο προσπάθησαν να βοηθήσουν ο ένας τον άλλον, σε αυτή την ταινία είναι ο κάθε άνθρωπος για τον εαυτό του. Υπάρχουν πολλά περιττά ειδικά εφέ (aka traps) που σε καμία περίπτωση δεν συνδέουν λογικά αυτό το κομμάτι της ταινίας με το προηγούμενο. Δηλαδή, αποδεικνύεται ότι η ταινία Cube 2 είναι ένα είδος λαβύρινθου του μέλλοντος 2020-2030, αλλά όχι του 2000. Στο πρώτο μέρος, όλα τα είδη παγίδων μπορούν θεωρητικά να δημιουργηθούν από ένα άτομο. Στο δεύτερο μέρος, αυτές οι παγίδες είναι κάποιο είδος προγράμματος υπολογιστή, η λεγόμενη «Εικονική Πραγματικότητα».

Η εξέλιξη του ανθρώπινου εγκεφάλου έλαβε χώρα σε τρισδιάστατο χώρο. Επομένως, μας είναι δύσκολο να φανταστούμε χώρους με διαστάσεις μεγαλύτερες από τρεις. Στην πραγματικότητα, ο ανθρώπινος εγκέφαλος δεν μπορεί να φανταστεί γεωμετρικά αντικείμενα με διαστάσεις μεγαλύτερες από τρεις. Και ταυτόχρονα, μπορούμε εύκολα να φανταστούμε γεωμετρικά αντικείμενα με διαστάσεις όχι μόνο τρεις, αλλά και με διαστάσεις δύο και ένα.

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

Για να κατανοήσετε πώς κατασκευάζεται ένας υπερκύβος από έναν κανονικό κύβο, πρέπει πρώτα να εξετάσετε πώς ένας κανονικός κύβος κατασκευάζεται από ένα κανονικό τετράγωνο. Για λόγους πρωτοτυπίας στην παρουσίαση αυτού του υλικού, εδώ θα ονομάσουμε ένα συνηθισμένο τετράγωνο SubCube (και δεν θα το συγχέουμε με ένα succubus).

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

Αυτά που μόλις διαβάσατε παρουσιάζονται με υπερβολική λεπτομέρεια και με πολλές διευκρινίσεις. Και για καλό λόγο. Τώρα θα κάνουμε ένα τέτοιο κόλπο, θα αντικαταστήσουμε επίσημα μερικές λέξεις στο προηγούμενο κείμενο με αυτόν τον τρόπο:
κύβος -> υπερκύβος
υποκύβος -> κύβος
αεροπλάνο -> όγκος
τρίτος -> τέταρτος
δισδιάστατος -> τρισδιάστατος
τέσσερα -> έξι
τρισδιάστατος -> τετραδιάστατος
δύο -> τρία
αεροπλάνο -> διάστημα

Ως αποτέλεσμα, έχουμε το ακόλουθο κείμενο με νόημα, το οποίο δεν φαίνεται πλέον υπερβολικά λεπτομερές.

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

Γιατί είμαστε τόσο σίγουροι ότι έχουμε λάβει τη σωστή περιγραφή της κατασκευής ενός υπερκύβου; Ναι, γιατί με την ίδια ακριβώς τυπική αντικατάσταση λέξεων παίρνουμε μια περιγραφή της κατασκευής ενός κύβου από μια περιγραφή της κατασκευής ενός τετραγώνου. (Δείτε το μόνοι σας.)

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

Συνολικά, διαπιστώνουμε ότι ο υπερκύβος έχει 12+6+6=24 τετράγωνες όψεις.

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



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

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

Μπορείτε να μετρήσετε απευθείας στο σχήμα και να βεβαιωθείτε ότι ο υπερκύβος έχει πραγματικά 24 όψεις. Αλλά τίθεται αυτό το ερώτημα. Αυτό το πλαίσιο υπερκύβου σε τρισδιάστατο χώρο είναι γεμάτο με οκτώ τρισδιάστατους κύβους χωρίς κενά. Για να φτιάξετε έναν πραγματικό υπερκύβο από αυτήν την τρισδιάστατη προβολή ενός υπερκύβου, πρέπει να γυρίσετε αυτό το πλαίσιο προς τα έξω έτσι ώστε και οι 8 κύβοι να δέσουν έναν 4-διάστατο όγκο.

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

Περαιτέρω, ο τετραδιάστατος βοηθός μας προσφέρει τη βοήθειά του σε μαιευτήρια για ανώδυνο τοκετό, αλλά οι έγκυες γυναίκες μας τρομάζουν με την προοπτική ότι το μωρό απλά θα εξαφανιστεί από το στομάχι και θα καταλήξει σε παράλληλο τρισδιάστατο χώρο. Επομένως, το τετραδιάστατο άτομο αρνείται ευγενικά.

Και μας προβληματίζει το ερώτημα αν κάποιοι από τους κύβους μας διαλύθηκαν όταν γυρίσαμε το πλαίσιο του υπερκύβου προς τα έξω. Άλλωστε, αν κάποιοι τρισδιάστατοι κύβοι που περιβάλλουν έναν υπερκύβο αγγίξουν τους γείτονές τους στο πλαίσιο με τα πρόσωπά τους, θα αγγίξουν επίσης με τα ίδια πρόσωπα εάν ο τετραδιάστατος κύβος γυρίσει το πλαίσιο προς τα έξω;

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



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

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

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

Ας ξεκινήσουμε εξηγώντας τι είναι ο τετραδιάστατος χώρος.

Αυτός είναι ένας μονοδιάστατος χώρος, δηλαδή απλά ο άξονας OX. Οποιοδήποτε σημείο πάνω του χαρακτηρίζεται από μία συντεταγμένη.


Τώρα ας σχεδιάσουμε τον άξονα OY κάθετο στον άξονα OX. Έτσι παίρνουμε έναν δισδιάστατο χώρο, δηλαδή το επίπεδο XOY. Οποιοδήποτε σημείο σε αυτό χαρακτηρίζεται από δύο συντεταγμένες - τετμημένη και τεταγμένη.


Ας σχεδιάσουμε τον άξονα OZ κάθετο στους άξονες OX και OY. Το αποτέλεσμα είναι ένας τρισδιάστατος χώρος στον οποίο οποιοδήποτε σημείο έχει τετμημένη, τεταγμένη και εφαρμογή.


Είναι λογικό ότι ο τέταρτος άξονας, OQ, θα πρέπει να είναι κάθετος στους άξονες OX, OY και OZ ταυτόχρονα. Αλλά δεν μπορούμε να κατασκευάσουμε με ακρίβεια έναν τέτοιο άξονα, και επομένως μπορούμε μόνο να προσπαθήσουμε να τον φανταστούμε. Κάθε σημείο στον τετραδιάστατο χώρο έχει τέσσερις συντεταγμένες: x, y, z και q.

Τώρα ας δούμε πώς εμφανίστηκε ο τετραδιάστατος κύβος.


Η εικόνα δείχνει μια φιγούρα σε μονοδιάστατο χώρο - μια γραμμή.


Εάν κάνετε μια παράλληλη μετάφραση αυτής της γραμμής κατά μήκος του άξονα OY και στη συνέχεια συνδέσετε τα αντίστοιχα άκρα των δύο γραμμών που προκύπτουν, θα λάβετε ένα τετράγωνο.


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


Και αν κάνουμε μια παράλληλη μετάφραση του κύβου κατά μήκος του άξονα OQ και συνδέσουμε τις κορυφές αυτών των δύο κύβων, τότε θα πάρουμε έναν τετραδιάστατο κύβο. Παρεμπιπτόντως, λέγεται tesseract.

Για να σχεδιάσετε έναν κύβο σε ένα αεροπλάνο, τον χρειάζεστε σχέδιο. Οπτικά μοιάζει με αυτό:

Ας φανταστούμε ότι κρέμεται στον αέρα πάνω από την επιφάνεια μοντέλο wireframeκύβος, δηλαδή, σαν να είναι "φτιαγμένος από σύρμα", και από πάνω είναι ένας λαμπτήρας. Εάν ανάψετε τη λάμπα, χαράξετε τη σκιά του κύβου με ένα μολύβι και στη συνέχεια σβήσετε τη λάμπα, μια προβολή του κύβου θα απεικονιστεί στην επιφάνεια.

Ας προχωρήσουμε σε κάτι λίγο πιο σύνθετο. Κοιτάξτε ξανά το σχέδιο με τη λάμπα: όπως μπορείτε να δείτε, όλες οι ακτίνες συγκλίνουν σε ένα σημείο. Λέγεται σημείο εκμηδενίσεωςκαι χρησιμοποιείται για την κατασκευή προοπτική προβολή(και συμβαίνει επίσης παράλληλα, όταν όλες οι ακτίνες είναι παράλληλες μεταξύ τους. Το αποτέλεσμα είναι να μην δημιουργείται η αίσθηση του όγκου, αλλά να είναι ελαφρύτερη, και επιπλέον, εάν το σημείο φυγής είναι αρκετά μακριά από το προβαλλόμενο αντικείμενο, τότε η διαφορά μεταξύ αυτών των δύο προβολών είναι ελάχιστα αισθητή). Για να προβάλετε ένα δεδομένο σημείο σε ένα δεδομένο επίπεδο χρησιμοποιώντας ένα σημείο φυγής, πρέπει να σχεδιάσετε μια ευθεία γραμμή μέσω του σημείου φυγής και του δεδομένου σημείου και, στη συνέχεια, να βρείτε το σημείο τομής της προκύπτουσας ευθείας γραμμής και του επιπέδου. Και για να προβάλετε ένα πιο περίπλοκο σχήμα, ας πούμε, έναν κύβο, πρέπει να προβάλετε κάθε κορυφή του και στη συνέχεια να συνδέσετε τα αντίστοιχα σημεία. Πρέπει να σημειωθεί ότι αλγόριθμος για την προβολή του χώρου στον υποχώρομπορεί να γενικευτεί στην περίπτωση 4D->3D, όχι μόνο 3D->2D.

Όπως είπα, δεν μπορούμε να φανταστούμε πώς ακριβώς μοιάζει ο άξονας OQ, όπως ακριβώς το tesseract. Αλλά μπορούμε να πάρουμε μια περιορισμένη ιδέα για αυτό αν το προβάλουμε σε έναν τόμο και μετά το σχεδιάσουμε σε μια οθόνη υπολογιστή!

Τώρα ας μιλήσουμε για την προβολή tesseract.


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

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

Αρχικά, θα σας πω τι είναι περιστροφή παράλληλη προς το επίπεδο.

Φανταστείτε ότι ο κύβος περιστρέφεται γύρω από τον άξονα OZ. Στη συνέχεια, κάθε κορυφή του περιγράφει έναν κύκλο γύρω από τον άξονα OZ.

Ο κύκλος είναι μια επίπεδη φιγούρα. Και τα επίπεδα καθενός από αυτούς τους κύκλους είναι παράλληλα μεταξύ τους, και σε αυτήν την περίπτωση παράλληλα με το επίπεδο XOY. Δηλαδή, μπορούμε να μιλήσουμε όχι μόνο για περιστροφή γύρω από τον άξονα OZ, αλλά και για περιστροφή παράλληλη προς το επίπεδο XOY, όπως βλέπουμε, για σημεία που περιστρέφονται παράλληλα προς τον άξονα XOY, αλλάζουν μόνο η τετμημένη και η τεταγμένη, ενώ η εφαρμογή παραμένει. αμετάβλητο Και, στην πραγματικότητα, μπορούμε να μιλήσουμε για περιστροφή γύρω από μια ευθεία γραμμή μόνο όταν έχουμε να κάνουμε με τρισδιάστατο χώρο. Στον δισδιάστατο χώρο όλα περιστρέφονται γύρω από ένα σημείο, στον τετραδιάστατο χώρο όλα περιστρέφονται γύρω από ένα επίπεδο, στον πενταδιάστατο χώρο μιλάμε για περιστροφή γύρω από έναν όγκο. Και αν μπορούμε να φανταστούμε την περιστροφή γύρω από ένα σημείο, τότε η περιστροφή γύρω από ένα επίπεδο και όγκο είναι κάτι αδιανόητο. Και αν μιλάμε για περιστροφή παράλληλη προς το επίπεδο, τότε σε οποιονδήποτε ν-διάστατο χώρο ένα σημείο μπορεί να περιστρέφεται παράλληλα προς το επίπεδο.

Πολλοί από εσάς πιθανότατα έχετε ακούσει για τον πίνακα περιστροφής. Πολλαπλασιάζοντας το σημείο με αυτό, παίρνουμε ένα σημείο που περιστρέφεται παράλληλα προς το επίπεδο κατά μια γωνία phi. Για τον δισδιάστατο χώρο μοιάζει με αυτό:

Τρόπος πολλαπλασιασμού: x ενός σημείου που περιστρέφεται κατά γωνία phi = συνημίτονο της γωνίας phi*ix του αρχικού σημείου μείον ημίτονο της γωνίας phi*ig του αρχικού σημείου.
ig ενός σημείου που περιστρέφεται από μια γωνία phi = ημίτονο της γωνίας phi * ix του αρχικού σημείου συν συνημίτονο της γωνίας phi * ig του αρχικού σημείου.
Xa`=cosф*Xa - sinф*Ya
Ya`=sinф*Xa + cosф*Ya
, όπου Xa και Ya είναι η τετμημένη και τεταγμένη του προς περιστροφή σημείου, Xa` και Ya` είναι η τετμημένη και τεταγμένη του ήδη περιστρεφόμενου σημείου

Για τον τρισδιάστατο χώρο, αυτή η μήτρα γενικεύεται ως εξής:

Περιστροφή παράλληλη προς το επίπεδο XOY. Όπως μπορείτε να δείτε, η συντεταγμένη Ζ δεν αλλάζει, αλλά μόνο τα Χ και Υ αλλάζουν
Xa`=cosф*Xa - sinф*Ya + Za*0
Ya`=sinф*Xa +cosф*Ya + Za*0
Za`=Xa*0 + Ya*0 + Za*1 (ουσιαστικά, Za`=Za)


Περιστροφή παράλληλη προς το επίπεδο XOZ. Τίποτα καινούργιο
Xa`=cosф*Xa + Ya*0 - sinф*Za
Ya`=Xa*0 + Ya*1 + Za*0 (ουσιαστικά, Ya`=Ya)
Za`=sinф*Xa + Ya*0 + cosф*Za


Και η τρίτη μήτρα.
Xa`=Xa*1 + Ya*0 + Za*0 (ουσιαστικά, Xa`=Xa)
Ya`=Xa*0 + cosф*Ya - sinф*Za
Za`=Xa*0 + sinф*Ya + cosф*Za

Και για την τέταρτη διάσταση μοιάζουν με αυτό:


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

Αλλά με τον τύπο προβολής, δεν είναι όλα τόσο απλά. Όσα φόρουμ κι αν διάβασα, καμία από τις μεθόδους προβολής δεν λειτούργησε για μένα. Η παράλληλη δεν μου ταίριαζε, αφού η προβολή δεν θα φαινόταν τρισδιάστατη. Σε κάποιους τύπους προβολής, για να βρεις ένα σημείο πρέπει να λύσεις ένα σύστημα εξισώσεων (και δεν ξέρω πώς να διδάξω έναν υπολογιστή να τις λύνει), άλλους απλά δεν κατάλαβα... Γενικά, αποφάσισα να καταλήξω στον δικό μου τρόπο. Για το σκοπό αυτό, σκεφτείτε την προβολή 2D->1D.


pov σημαίνει "Point of view", ptp σημαίνει "Point to project" (το σημείο που θα προβληθεί) και ptp` είναι το επιθυμητό σημείο στον άξονα OX.

Οι γωνίες povptpB και ptpptp`A είναι ίσες ως αντίστοιχες (η διακεκομμένη γραμμή είναι παράλληλη προς τον άξονα OX, η ευθεία γραμμή povptp είναι μια τέμνουσα).
Το x του σημείου ptp` είναι ίσο με το x του σημείου ptp μείον το μήκος του τμήματος ptp`A. Αυτό το τμήμα μπορεί να βρεθεί από το τρίγωνο ptpptp`A: ptp`A = ptpA/εφαπτομένη γωνίας ptpptp`A. Μπορούμε να βρούμε αυτήν την εφαπτομένη από το τρίγωνο povptpB: εφαπτομένη ptpptp`A = (Ypov-Yptp)(Xpov-Xptp).
Απάντηση: Xptp`=Xptp-Yptp/εφαπτομένη γωνίας ptpptp`A.

Δεν περιέγραψα λεπτομερώς αυτόν τον αλγόριθμο εδώ, καθώς υπάρχουν πολλές ειδικές περιπτώσεις που ο τύπος αλλάζει κάπως. Αν κάποιος ενδιαφέρεται, δες τον πηγαίο κώδικα του προγράμματος, όλα περιγράφονται εκεί στα σχόλια.

Προκειμένου να προβάλλουμε ένα σημείο σε τρισδιάστατο χώρο σε ένα επίπεδο, απλά εξετάζουμε δύο επίπεδα - το XOZ και το YOZ και λύνουμε αυτό το πρόβλημα για καθένα από αυτά. Στην περίπτωση του τετραδιάστατου χώρου, είναι απαραίτητο να ληφθούν υπόψη τρία επίπεδα: XOQ, YOQ και ZOQ.

Και τέλος, για το πρόγραμμα. Λειτουργεί ως εξής: αρχικοποιήστε δεκαέξι κορυφές του tesseract -> ανάλογα με τις εντολές που εισάγει ο χρήστης, περιστρέψτε το -> προβάλετε τον στον τόμο -> ανάλογα με τις εντολές που εισάγει ο χρήστης, περιστρέψτε την προβολή του -> project στο αεροπλάνο -> ζωγραφίζω.

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

Συντεταγμένες των κορυφών μιας ευθείας με κέντρο την αρχή και το μήκος 2 - (1) και (-1).
- " - " - τετράγωνο - " - " - και με άκρη μήκους 2:
(1; 1), (-1; 1), (1; -1) και (-1; -1);
- " - " - κύβος - " - " -:
(1; 1; 1), (-1; 1; 1), (1; -1; 1), (-1; -1; 1), (1; 1; -1), (-1; 1; -1), (1; -1; -1), (-1; -1; -1);
Όπως μπορείτε να δείτε, ένα τετράγωνο είναι μία γραμμή πάνω από τον άξονα OY και μία γραμμή κάτω από τον άξονα OY. ένας κύβος είναι ένα τετράγωνο μπροστά από το επίπεδο XOY και ένα πίσω από αυτό. Το tesseract είναι ένας κύβος στην άλλη πλευρά του τόμου XOYZ και ένας σε αυτήν την πλευρά. Αλλά είναι πολύ πιο εύκολο να αντιληφθούμε αυτή την εναλλαγή των μονάδων και πλην ενός αν είναι γραμμένα σε μια στήλη

1; 1; 1
-1; 1; 1
1; -1; 1
-1; -1; 1
1; 1; -1
-1; 1; -1
1; -1; -1
-1; -1; -1

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

Το πρόγραμμά μου μπορεί επίσης να σχεδιάσει ανάγλυφο. Οι χαρούμενοι ιδιοκτήτες γυαλιών 3D μπορούν να παρατηρήσουν μια στερεοσκοπική εικόνα. Δεν υπάρχει τίποτα δύσκολο να σχεδιάσετε μια εικόνα, απλά σχεδιάζετε δύο προβολές στο επίπεδο, για το δεξί και το αριστερό μάτι. Αλλά το πρόγραμμα γίνεται πολύ πιο οπτικό και ενδιαφέρον, και το πιο σημαντικό, δίνει μια καλύτερη ιδέα του τετραδιάστατου κόσμου.

Λιγότερο σημαντικές λειτουργίες είναι ο φωτισμός μιας από τις άκρες με κόκκινο χρώμα, έτσι ώστε οι στροφές να φαίνονται καλύτερα, καθώς και μικρές ευκολίες - ρύθμιση των συντεταγμένων των σημείων "μάτι", αύξηση και μείωση της ταχύτητας στροφής.

Αρχειοθέτηση με το πρόγραμμα, πηγαίο κώδικα και οδηγίες χρήσης.

Ας ξεκινήσουμε εξηγώντας τι είναι ο τετραδιάστατος χώρος.

Αυτός είναι ένας μονοδιάστατος χώρος, δηλαδή απλά ο άξονας OX. Οποιοδήποτε σημείο πάνω του χαρακτηρίζεται από μία συντεταγμένη.


Τώρα ας σχεδιάσουμε τον άξονα OY κάθετο στον άξονα OX. Έτσι παίρνουμε έναν δισδιάστατο χώρο, δηλαδή το επίπεδο XOY. Οποιοδήποτε σημείο σε αυτό χαρακτηρίζεται από δύο συντεταγμένες - τετμημένη και τεταγμένη.


Ας σχεδιάσουμε τον άξονα OZ κάθετο στους άξονες OX και OY. Το αποτέλεσμα είναι ένας τρισδιάστατος χώρος στον οποίο οποιοδήποτε σημείο έχει τετμημένη, τεταγμένη και εφαρμογή.


Είναι λογικό ότι ο τέταρτος άξονας, OQ, θα πρέπει να είναι κάθετος στους άξονες OX, OY και OZ ταυτόχρονα. Αλλά δεν μπορούμε να κατασκευάσουμε με ακρίβεια έναν τέτοιο άξονα, και επομένως μπορούμε μόνο να προσπαθήσουμε να τον φανταστούμε. Κάθε σημείο στον τετραδιάστατο χώρο έχει τέσσερις συντεταγμένες: x, y, z και q.

Τώρα ας δούμε πώς εμφανίστηκε ο τετραδιάστατος κύβος.


Η εικόνα δείχνει μια φιγούρα σε μονοδιάστατο χώρο - μια γραμμή.


Εάν κάνετε μια παράλληλη μετάφραση αυτής της γραμμής κατά μήκος του άξονα OY και στη συνέχεια συνδέσετε τα αντίστοιχα άκρα των δύο γραμμών που προκύπτουν, θα λάβετε ένα τετράγωνο.


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


Και αν κάνουμε μια παράλληλη μετάφραση του κύβου κατά μήκος του άξονα OQ και συνδέσουμε τις κορυφές αυτών των δύο κύβων, τότε θα πάρουμε έναν τετραδιάστατο κύβο. Παρεμπιπτόντως, λέγεται tesseract.

Για να σχεδιάσετε έναν κύβο σε ένα αεροπλάνο, τον χρειάζεστε σχέδιο. Οπτικά μοιάζει με αυτό:

Ας φανταστούμε ότι κρέμεται στον αέρα πάνω από την επιφάνεια μοντέλο wireframeκύβος, δηλαδή, σαν να είναι "φτιαγμένος από σύρμα", και από πάνω είναι ένας λαμπτήρας. Εάν ανάψετε τη λάμπα, χαράξετε τη σκιά του κύβου με ένα μολύβι και στη συνέχεια σβήσετε τη λάμπα, μια προβολή του κύβου θα απεικονιστεί στην επιφάνεια.

Ας προχωρήσουμε σε κάτι λίγο πιο σύνθετο. Κοιτάξτε ξανά το σχέδιο με τη λάμπα: όπως μπορείτε να δείτε, όλες οι ακτίνες συγκλίνουν σε ένα σημείο. Λέγεται σημείο εκμηδενίσεωςκαι χρησιμοποιείται για την κατασκευή προοπτική προβολή(και συμβαίνει επίσης παράλληλα, όταν όλες οι ακτίνες είναι παράλληλες μεταξύ τους. Το αποτέλεσμα είναι να μην δημιουργείται η αίσθηση του όγκου, αλλά να είναι ελαφρύτερη, και επιπλέον, εάν το σημείο φυγής είναι αρκετά μακριά από το προβαλλόμενο αντικείμενο, τότε η διαφορά μεταξύ αυτών των δύο προβολών είναι ελάχιστα αισθητή). Για να προβάλετε ένα δεδομένο σημείο σε ένα δεδομένο επίπεδο χρησιμοποιώντας ένα σημείο φυγής, πρέπει να σχεδιάσετε μια ευθεία γραμμή μέσω του σημείου φυγής και του δεδομένου σημείου και, στη συνέχεια, να βρείτε το σημείο τομής της προκύπτουσας ευθείας γραμμής και του επιπέδου. Και για να προβάλετε ένα πιο περίπλοκο σχήμα, ας πούμε, έναν κύβο, πρέπει να προβάλετε κάθε κορυφή του και στη συνέχεια να συνδέσετε τα αντίστοιχα σημεία. Πρέπει να σημειωθεί ότι αλγόριθμος για την προβολή του χώρου στον υποχώρομπορεί να γενικευτεί στην περίπτωση 4D->3D, όχι μόνο 3D->2D.

Όπως είπα, δεν μπορούμε να φανταστούμε πώς ακριβώς μοιάζει ο άξονας OQ, όπως ακριβώς το tesseract. Αλλά μπορούμε να πάρουμε μια περιορισμένη ιδέα για αυτό αν το προβάλουμε σε έναν τόμο και μετά το σχεδιάσουμε σε μια οθόνη υπολογιστή!

Τώρα ας μιλήσουμε για την προβολή tesseract.


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

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

Αρχικά, θα σας πω τι είναι περιστροφή παράλληλη προς το επίπεδο.

Φανταστείτε ότι ο κύβος περιστρέφεται γύρω από τον άξονα OZ. Στη συνέχεια, κάθε κορυφή του περιγράφει έναν κύκλο γύρω από τον άξονα OZ.

Ο κύκλος είναι μια επίπεδη φιγούρα. Και τα επίπεδα καθενός από αυτούς τους κύκλους είναι παράλληλα μεταξύ τους, και σε αυτήν την περίπτωση παράλληλα με το επίπεδο XOY. Δηλαδή, μπορούμε να μιλήσουμε όχι μόνο για περιστροφή γύρω από τον άξονα OZ, αλλά και για περιστροφή παράλληλη προς το επίπεδο XOY, όπως βλέπουμε, για σημεία που περιστρέφονται παράλληλα προς τον άξονα XOY, αλλάζουν μόνο η τετμημένη και η τεταγμένη, ενώ η εφαρμογή παραμένει. αμετάβλητο Και, στην πραγματικότητα, μπορούμε να μιλήσουμε για περιστροφή γύρω από μια ευθεία γραμμή μόνο όταν έχουμε να κάνουμε με τρισδιάστατο χώρο. Στον δισδιάστατο χώρο όλα περιστρέφονται γύρω από ένα σημείο, στον τετραδιάστατο χώρο όλα περιστρέφονται γύρω από ένα επίπεδο, στον πενταδιάστατο χώρο μιλάμε για περιστροφή γύρω από έναν όγκο. Και αν μπορούμε να φανταστούμε την περιστροφή γύρω από ένα σημείο, τότε η περιστροφή γύρω από ένα επίπεδο και όγκο είναι κάτι αδιανόητο. Και αν μιλάμε για περιστροφή παράλληλη προς το επίπεδο, τότε σε οποιονδήποτε ν-διάστατο χώρο ένα σημείο μπορεί να περιστρέφεται παράλληλα προς το επίπεδο.

Πολλοί από εσάς πιθανότατα έχετε ακούσει για τον πίνακα περιστροφής. Πολλαπλασιάζοντας το σημείο με αυτό, παίρνουμε ένα σημείο που περιστρέφεται παράλληλα προς το επίπεδο κατά μια γωνία phi. Για τον δισδιάστατο χώρο μοιάζει με αυτό:

Τρόπος πολλαπλασιασμού: x ενός σημείου που περιστρέφεται κατά γωνία phi = συνημίτονο της γωνίας phi*ix του αρχικού σημείου μείον ημίτονο της γωνίας phi*ig του αρχικού σημείου.
ig ενός σημείου που περιστρέφεται από μια γωνία phi = ημίτονο της γωνίας phi * ix του αρχικού σημείου συν συνημίτονο της γωνίας phi * ig του αρχικού σημείου.
Xa`=cosф*Xa - sinф*Ya
Ya`=sinф*Xa + cosф*Ya
, όπου Xa και Ya είναι η τετμημένη και τεταγμένη του προς περιστροφή σημείου, Xa` και Ya` είναι η τετμημένη και τεταγμένη του ήδη περιστρεφόμενου σημείου

Για τον τρισδιάστατο χώρο, αυτή η μήτρα γενικεύεται ως εξής:

Περιστροφή παράλληλη προς το επίπεδο XOY. Όπως μπορείτε να δείτε, η συντεταγμένη Ζ δεν αλλάζει, αλλά μόνο τα Χ και Υ αλλάζουν
Xa`=cosф*Xa - sinф*Ya + Za*0
Ya`=sinф*Xa +cosф*Ya + Za*0
Za`=Xa*0 + Ya*0 + Za*1 (ουσιαστικά, Za`=Za)


Περιστροφή παράλληλη προς το επίπεδο XOZ. Τίποτα καινούργιο
Xa`=cosф*Xa + Ya*0 - sinф*Za
Ya`=Xa*0 + Ya*1 + Za*0 (ουσιαστικά, Ya`=Ya)
Za`=sinф*Xa + Ya*0 + cosф*Za


Και η τρίτη μήτρα.
Xa`=Xa*1 + Ya*0 + Za*0 (ουσιαστικά, Xa`=Xa)
Ya`=Xa*0 + cosф*Ya - sinф*Za
Za`=Xa*0 + sinф*Ya + cosф*Za

Και για την τέταρτη διάσταση μοιάζουν με αυτό:


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

Αλλά με τον τύπο προβολής, δεν είναι όλα τόσο απλά. Όσα φόρουμ κι αν διάβασα, καμία από τις μεθόδους προβολής δεν λειτούργησε για μένα. Η παράλληλη δεν μου ταίριαζε, αφού η προβολή δεν θα φαινόταν τρισδιάστατη. Σε κάποιους τύπους προβολής, για να βρεις ένα σημείο πρέπει να λύσεις ένα σύστημα εξισώσεων (και δεν ξέρω πώς να διδάξω έναν υπολογιστή να τις λύνει), άλλους απλά δεν κατάλαβα... Γενικά, αποφάσισα να καταλήξω στον δικό μου τρόπο. Για το σκοπό αυτό, σκεφτείτε την προβολή 2D->1D.


pov σημαίνει "Point of view", ptp σημαίνει "Point to project" (το σημείο που θα προβληθεί) και ptp` είναι το επιθυμητό σημείο στον άξονα OX.

Οι γωνίες povptpB και ptpptp`A είναι ίσες ως αντίστοιχες (η διακεκομμένη γραμμή είναι παράλληλη προς τον άξονα OX, η ευθεία γραμμή povptp είναι μια τέμνουσα).
Το x του σημείου ptp` είναι ίσο με το x του σημείου ptp μείον το μήκος του τμήματος ptp`A. Αυτό το τμήμα μπορεί να βρεθεί από το τρίγωνο ptpptp`A: ptp`A = ptpA/εφαπτομένη γωνίας ptpptp`A. Μπορούμε να βρούμε αυτήν την εφαπτομένη από το τρίγωνο povptpB: εφαπτομένη ptpptp`A = (Ypov-Yptp)(Xpov-Xptp).
Απάντηση: Xptp`=Xptp-Yptp/εφαπτομένη γωνίας ptpptp`A.

Δεν περιέγραψα λεπτομερώς αυτόν τον αλγόριθμο εδώ, καθώς υπάρχουν πολλές ειδικές περιπτώσεις που ο τύπος αλλάζει κάπως. Αν κάποιος ενδιαφέρεται, δες τον πηγαίο κώδικα του προγράμματος, όλα περιγράφονται εκεί στα σχόλια.

Προκειμένου να προβάλλουμε ένα σημείο σε τρισδιάστατο χώρο σε ένα επίπεδο, απλά εξετάζουμε δύο επίπεδα - το XOZ και το YOZ και λύνουμε αυτό το πρόβλημα για καθένα από αυτά. Στην περίπτωση του τετραδιάστατου χώρου, είναι απαραίτητο να ληφθούν υπόψη τρία επίπεδα: XOQ, YOQ και ZOQ.

Και τέλος, για το πρόγραμμα. Λειτουργεί ως εξής: αρχικοποιήστε δεκαέξι κορυφές του tesseract -> ανάλογα με τις εντολές που εισάγει ο χρήστης, περιστρέψτε το -> προβάλετε τον στον τόμο -> ανάλογα με τις εντολές που εισάγει ο χρήστης, περιστρέψτε την προβολή του -> project στο αεροπλάνο -> ζωγραφίζω.

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

Συντεταγμένες των κορυφών μιας ευθείας με κέντρο την αρχή και το μήκος 2 - (1) και (-1).
- " - " - τετράγωνο - " - " - και με άκρη μήκους 2:
(1; 1), (-1; 1), (1; -1) και (-1; -1);
- " - " - κύβος - " - " -:
(1; 1; 1), (-1; 1; 1), (1; -1; 1), (-1; -1; 1), (1; 1; -1), (-1; 1; -1), (1; -1; -1), (-1; -1; -1);
Όπως μπορείτε να δείτε, ένα τετράγωνο είναι μία γραμμή πάνω από τον άξονα OY και μία γραμμή κάτω από τον άξονα OY. ένας κύβος είναι ένα τετράγωνο μπροστά από το επίπεδο XOY και ένα πίσω από αυτό. Το tesseract είναι ένας κύβος στην άλλη πλευρά του τόμου XOYZ και ένας σε αυτήν την πλευρά. Αλλά είναι πολύ πιο εύκολο να αντιληφθούμε αυτή την εναλλαγή των μονάδων και πλην ενός αν είναι γραμμένα σε μια στήλη

1; 1; 1
-1; 1; 1
1; -1; 1
-1; -1; 1
1; 1; -1
-1; 1; -1
1; -1; -1
-1; -1; -1

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

Το πρόγραμμά μου μπορεί επίσης να σχεδιάσει ανάγλυφο. Οι χαρούμενοι ιδιοκτήτες γυαλιών 3D μπορούν να παρατηρήσουν μια στερεοσκοπική εικόνα. Δεν υπάρχει τίποτα δύσκολο να σχεδιάσετε μια εικόνα, απλά σχεδιάζετε δύο προβολές στο επίπεδο, για το δεξί και το αριστερό μάτι. Αλλά το πρόγραμμα γίνεται πολύ πιο οπτικό και ενδιαφέρον, και το πιο σημαντικό, δίνει μια καλύτερη ιδέα του τετραδιάστατου κόσμου.

Λιγότερο σημαντικές λειτουργίες είναι ο φωτισμός μιας από τις άκρες με κόκκινο χρώμα, έτσι ώστε οι στροφές να φαίνονται καλύτερα, καθώς και μικρές ευκολίες - ρύθμιση των συντεταγμένων των σημείων "μάτι", αύξηση και μείωση της ταχύτητας στροφής.

Αρχειοθέτηση με το πρόγραμμα, πηγαίο κώδικα και οδηγίες χρήσης.