ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν...

153
1 Π Π α α ν ν ε ε π π ι ι σ σ τ τ ή ή μ μ ι ι ο ο Α Α ι ι γ γ α α ί ί ο ο υ υ Ε Ε π π ι ι β β λ λ έ έ π π ω ω ν ν κ κ α α θ θ η η γ γ η η τ τ ή ή ς ς : : Γ Γ ε ε ρ ρ ά ά σ σ ι ι μ μ ο ο ς ς Π Π α α υ υ λ λ ο ο γ γ ε ε ω ω ρ ρ γ γ ά ά τ τ ο ο ς ς Μ Μ ό ό ν ν . . Ε Ε π π ί ί κ κ ο ο υ υ ρ ρ ο ο ς ς Κ Κ α α θ θ η η γ γ η η τ τ ή ή ς ς Π Π α α ν ν . . Α Α ι ι γ γ α α ί ί ο ο υ υ Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας ΠΜΣ Πολιτισμικής Τεχνολογίας και Επικοινωνίας Κατεύθυνση: Σχεδιασμός Ψηφιακών Πολιτιστικών Προϊόντων Εργαστήριο Διαχείρισης της Πολιτισμικής Κληρονομιάς Μ Μ ε ε τ τ α α π π τ τ υ υ χ χ ι ι α α κ κ ή ή δ δ ι ι α α τ τ ρ ρ ι ι β β ή ή μ μ ε ε θ θ έ έ μ μ α α : : Μ Μ η η χ χ α α ν ν ι ι σ σ μ μ ό ό ς ς τ τ ω ω ν ν Α Α ν ν τ τ ι ι κ κ υ υ θ θ ή ή ρ ρ ω ω ν ν . . Δ Δ η η μ μ ι ι ο ο υ υ ρ ρ γ γ ί ί α α τ τ ρ ρ ι ι σ σ δ δ ι ι ά ά σ σ τ τ α α τ τ ο ο υ υ δ δ ι ι α α δ δ ρ ρ α α σ σ τ τ ι ι κ κ ο ο ύ ύ μ μ ο ο ν ν τ τ έ έ λ λ ο ο υ υ κ κ α α ι ι υ υ π π ο ο σ σ τ τ η η ρ ρ ι ι κ κ τ τ ι ι κ κ ή ή ς ς ε ε φ φ α α ρ ρ μ μ ο ο γ γ ή ή ς ς Υ Υ π π ο ο β β λ λ ή ή θ θ η η κ κ ε ε α α π π ό ό : : Δ Δ ι ι ό ό λ λ α α τ τ ζ ζ η η Ι Ι ω ω ά ά ν ν ν ν η η Μυτιλήνη 19/2/2014

Transcript of ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν...

Page 1: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

1

ΠΠΠααανννεεεπππιιισσστττήήήμμμιιιοοο ΑΑΑιιιγγγαααίίίοοουυυ

ΕΕΕπππιιιβββλλλέέέπππωωωννν κκκαααθθθηηηγγγηηητττήήήςςς:::

ΓΓΓεεερρράάάσσσιιιμμμοοοςςς ΠΠΠαααυυυλλλοοογγγεεεωωωρρργγγάάάτττοοοςςςΜΜΜόόόννν... ΕΕΕπππίίίκκκοοουυυρρροοοςςς ΚΚΚαααθθθηηηγγγηηητττήήήςςς ΠΠΠαααννν... ΑΑΑιιιγγγαααίίίοοουυυ

ΤΤμμήήμμαα ΠΠοολλιιττιισσμμιικκήήςς ΤΤεεχχννοολλοογγίίααςς κκααιι ΕΕππιικκοοιιννωωννίίααςςΠΠΜΜΣΣ ΠΠοολλιιττιισσμμιικκήήςς ΤΤεεχχννοολλοογγίίααςς κκααιι ΕΕππιικκοοιιννωωννίίααςςΚΚααττεεύύθθυυννσσηη:: ΣΣχχεεδδιιαασσμμόόςς ΨΨηηφφιιαακκώώνν ΠΠοολλιιττιισσττιικκώώνν ΠΠρροοϊϊόόννττωωννΕΕρργγαασσττήήρριιοο ΔΔιιααχχεείίρριισσηηςς ττηηςς ΠΠοολλιιττιισσμμιικκήήςς ΚΚλληηρροοννοομμιιάάςς

ΜΜΜεεεττταααπππτττυυυχχχιιιααακκκήήή δδδιιιααατττρρριιιβββήήή μμμεεε θθθέέέμμμααα:::

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

ΥΥΥππποοοβββλλλήήήθθθηηηκκκεεε αααπππόόό:::

ΔΔΔιιιόόόλλλααατττζζζηηη ΙΙΙωωωάάάννννννηηη

ΜΜυυττιιλλήήννηη 1199//22//22001144

Page 2: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[2]

Ευχαριστίες

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

Ιδιαίτερα θα ήθελα να ευχαριστήσω

1. Τον επιβλέποντα επίκουρο καθηγητή του Πανεπιστημίου Αιγαίου κ. ΠαυλογεωργάτοΓεράσιμο για την ανάθεση του θέματος, τις πολύτιμες συμβουλές και παρατηρήσεις του καιγια την καθοδήγηση του σε όλες τις φάσεις της εργασίας μου.

2. Την κ. Ζαχαροπούλου Γεωργία για τις εύστοχες παρατηρήσεις αλλά και τιςπρωτότυπες ιδέες της που έπαιξαν σημαντικό ρόλο στην επιλογή των χρωμάτων (materials)και υφών (textures).

3. Τον κ. Massimo Mogi Vicentini (Αστρονόμο) για την παραχώρηση προς χρήση καιμεταποίηση του αρχικού γραφικού μοντέλου του μηχανισμού των Αντικυθήρων σε μορφήVRML.

Page 3: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[3]

Πίνακας περιεχομένων

Ο Μηχανισμός των Αντικυθήρων .............................................................................................5

ΚΕΦΑΛΑΙΟ 1 ...........................................................................................................................7

Θεωρητικό πλαίσιο ....................................................................................................................7

1.1 Ιστορικά στοιχεία ........................................................................................................7

1.2 Βιβλιογραφική επισκόπηση ......................................................................................12

1.3 Μαθηματική και Αστρονομική προσέγγιση .............................................................19

ΚΕΦΑΛΑΙΟ 2 .........................................................................................................................29

ΑΝΑΛΥΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ........................................................................................29

2.1 Αρχική Ιδέα και στόχος.............................................................................................29

2.2 Μεθοδολογία .............................................................................................................30

2.3 Περιγραφή του δείγματος χρηστών ..........................................................................30

2.4 Περιγραφή εργαλείων συλλογής των απαντήσεων...................................................31

2.5 Αποτελέσματα στατιστικής ανάλυσης ......................................................................31

2.6 Τεχνικά στοιχεία συγγραφής και διανομής έργου και καθορισμός προδιαγραφών..35

2.7 Σχεδιασμός οθονών ...................................................................................................36

2.8 Η ροή της πληροφορίας – Flowchart ........................................................................38

2.9 Σχεδιασμός storyboard του εικονικού διαδραστικού μοντέλου του μηχανισμού .....43

ΚΕΦΑΛΑΙΟ 3 .........................................................................................................................44

ΔΗΜΙΟΥΡΓΙΑ ΠΡΩΤΟΤΥΠΩΝ ΜΕΣΩ ADOBE FLASH CS6 ...........................................44

3.1 Μορφοποίηση της αρχικής οθόνης (αρχικό μενού) ..............................................44

3.2 Η επιλογή «ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ».........................................48

3.3 Τα γρανάζια K1,K2 και η θεωρία του Ίππαρχου....................................................53

3.4 Διαχείριση ήχου στην εφαρμογή , activation-deactivation ...................................54

3.5 Διαχείριση κειμένου, links, εικόνων, animation και απεικόνιση πάνω στονπάπυρο .............................................................................................................................55

ΚΕΦΑΛΑΙΟ 4 .....................................................................................................................56

ΚΑΤΑΣΚΕΥΗ ΤΟΥ ΤΡΙΣΔΙΑΣΤΑΤΟΥ ΜΟΝΤΕΛΟΥ ΣΤΟ CINEMA 4D.....................56

4.1 Σχεδίαση - τροποποίηση - βελτίωση .....................................................................56

4.2 Περιστροφές γραναζιών ........................................................................................61

Page 4: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[4]

4.3 Περιστροφή του γραναζιού Κ2 ..............................................................................65

4.4 Κίνηση οδηγών δεικτών στα καντράν του Μέτωνα και του Σάρου......................66

4.5 Κατασκευή ξύλινου περιβλήματος του μηχανισμού.............................................69

4.6 Materials και textures ............................................................................................69

4.7 Animation του μοντέλου (διάρκεια σε frames και frame rate)..............................70

ΚΕΦΑΛΑΙΟ 5 .........................................................................................................................70

ΕΠΕΞΕΡΓΑΣΙΑ ΣΕ UNITY 3D ΚΑΙ ΔΙΑΔΡΑΣΤΙΚΟΤΗΤΑ ΜΟΝΤΕΛΟΥ....................70

5.1 Τo Unity3D............................................................................................................70

5.2 Εξαγωγή του μοντέλου από το CINEMA 4D και εισαγωγή σε UNITY 3d..........71

5.3 Τοποθέτηση materials στα μέρη του μηχανισμού.................................................72

5.4 Δημιουργία εικονικού περιβάλλοντος ...................................................................74

5.5 Δημιουργία φωτισμού ...........................................................................................76

5.6 Τοποθέτηση κίνηση – περιστροφή κάμερας .........................................................76

5.7 Οι ακολουθίες των γραναζιών- διαχωρισμός και εμφάνιση..................................80

5.8 Απόκρυψη και εμφάνιση ξύλινου περιβλήματος ..................................................82

5.9 Δυνατότητα περιστροφής του εξωτερικού δακτυλίου του ημερολογίου ..............83

5.10 Εργαλεία χειρισμού της κίνησης και έξοδος από την εφαρμογή.......................84

5.11 Μεταβολή της ταχύτητας περιστροφής και εμφάνιση βοήθειας. ......................85

5.12 Εμφάνιση βοήθειας (help) .................................................................................85

5.13 Μουσική επένδυση παρουσίασης ......................................................................86

5.14 Αβεβαιότητες και λύσεις....................................................................................87

ΚΕΦΑΛΑΙΟ 6 .........................................................................................................................92

ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ .....................................................................92

ΒΙΒΛΙΟΓΡΑΦΙΑ .................................................................................................................99

ΠΑΡΑΡΤΗΜΑΤΑ .................................................................................................................102

Page 5: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[5]

Ο Μηχανισμός των Αντικυθήρων

Το αντικείμενο μελέτης της εργασίας αυτής, είναι ο Μηχανισμός των Αντικυθήρων.

Η γοητεία του άγνωστου και του μυστηρίου εγείρει στον άνθρωπο ανακαλυπτικές διαθέσεις

δίνοντας το απαραίτητο ερέθισμα για έρευνα. Μέσα σε ένα μηχανισμό με

διαστάσεις 30×20×10 cm, υπάρχουν πολλά κρυμμένα μυστικά αρκετά από τα οποία

ανακαλύφθηκαν και αποκωδικοποιήθηκαν με απώτερο στόχο την ψηφιοποίηση και τη

μοντελοποίησή του.

Στην προσπάθεια της κατανόησης και της παρουσίασης ενός αντικειμένου, το οποίο

ακόμα βρίσκεται υπό διερεύνηση, συνδυάστηκε θεματολογία από διάφορες Επιστήμες όπως

Μαθηματικά, Αστρονομία, Φυσική και Ιστορία. Τα δεδομένα των πηγών διαμόρφωσαν τον

κώδικα προγραμματισμού, ο οποίος με τη βοήθεια των κατάλληλων εργαλείων είχε σαν

αποτέλεσμα την κατασκευή ενός διαδραστικού τρισδιάστατου μοντέλου του μηχανισμού.

Επίσης, δόθηκε μεγάλη βαρύτητα στην παρουσίαση του τελικού προϊόντος ώστε αυτό να

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

την απαραίτητη πληροφόρηση όσον αφορά την λειτουργία και τις υπολογιστικές

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

διαδραστικού τρισδιάστατου μοντέλου και μιας υποστηρικτικής πολυμεσικής εφαρμογής

παρουσίασης του μηχανισμού.

Για το σκοπό αυτό, έγινε εκτεταμένη έρευνα στο διαδίκτυο, σε δημοσιευμένα άρθρα,

σε βιβλία με ηλεκτρονική μορφή, σε έγγραφα συνεδρίων και σε πραγματικά και εικονικά

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

πάνω στα συμπεράσματα των τελευταίων ανακαλύψεων και συνεδρίων, ενώ συλλέχθηκε το

απαραίτητο υλικό ώστε να χτιστεί το θεωρητικό υπόβαθρο αποτελούμενο από βασικούς

όρους και αρχές Μαθηματικών, Φυσικής και Αστρονομίας με τις οποίες θα πρέπει να είναι

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

γίνεται πάνω στο Μηχανισμό των Αντικυθήρων η οποία βρίσκεται σε εξέλιξη, η κατασκευή

Page 6: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[6]

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

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

Σα στόχος τέθηκε από την αρχή η τρισδιάστατη διαδραστική απεικόνιση του

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

του. Τα κεφάλαια που αποτελούν την εργασία που ακολουθεί διαρθρώνονται ως εξής:

Στο πρώτο κεφάλαιο χτίζεται ένα θεωρητικό πλαίσιο το οποίο είναι απαραίτητο ώστε

ο αναγνώστης να κατανοήσει τι είναι ο μηχανισμός των Αντικυθήρων και πώς λειτουργεί.

Στο δεύτερο κεφάλαιο αναλύεται όλη η προετοιμασία που έγινε πριν το ξεκίνημα για τη

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

κατασκευή της υποστηρικτικής εφαρμογής σε ADOBE FLASH CS6 του τρισδιάστατου

μοντέλου. Ακολουθεί το τέταρτο κεφάλαιο, στο οποίο αναπτύσσεται η διαδικασία

κατασκευής και κίνησης του τρισδιάστατου μοντέλου με τη βοήθεια του προγράμματος

CINEMA 4D της MAXON. Στο πέμπτο κεφάλαιο αναλύεται η επεξεργασία του μοντέλου σε

UNITY3D, πώς αυτό αποκτά διαδραστικές ιδιότητες και ποιες είναι οι απαραίτητες

προϋποθέσεις ώστε αυτό να γίνει φωτορεαλιστικό. Ολοκληρώνοντας, στο έκτο και τελευταίο

κεφάλαιο, εκτίθενται απόψεις, συμπεράσματα, ερωτηματικά και γενικά γίνεται μια

αποτίμηση του όλου έργου, ενώ παράλληλα εξετάζονται οι δυνατότητες και οι προϋποθέσεις,

ώστε το μοντέλο να έχει επεκτασιμότητα στο μέλλον. Συμπληρωματικά, την εργασία

πλαισιώνουν και τα εξής Παραρτήματα:

ΠΑΡΑΡΤΗΜΑ Α: Ερωτηματολόγιο

ΠΑΡΑΡΤΗΜΑ Β: Ο κώδικας ο οποίος χρησιμοποιήθηκε στην

υποστηρικτική εφαρμογή σε as3 αλλά και σε Unity3d με τη μορφή

JavaScript και C#

ΠΑΡΑΡΤΗΜΑ Γ: Δηιιουργία της συνάρτησης που υπολογίζει τη γωνιακή

ταχύτητα το γραναζιού Κ2

ΠΑΡΑΡΤΗΜΑ Δ: Πίνακας με τις φάσεις της μεθοδολογίας Reeves

Page 7: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[7]

ΚΕΦΑΛΑΙΟ 1

Θεωρητικό πλαίσιο

1.1 Ιστορικά στοιχεία

Στις αρχές του 20ου αιώνα και

συγκεκριμένα το 1900, Συμιακοί

σφουγγαράδες ανέσυραν ένα

μηχανισμό από ένα ναυάγιο

αρχαίου Ρωμαϊκού πλοίου κοντά

στο Ελληνικό νησί Αντικύθηρα

ανάμεσα στην Κρήτη και τα

Κύθηρα σε βάθος μεταξύ 43 και 55

μέτρων, γι’ αυτό και ονομάστηκε

«Μηχανισμός των Αντικυθήρων».

Με βάση τις Ελληνικές

επιγραφές που φέρει ο μηχανισμός χρονολογείται μεταξύ του 150 και του 100 π.Χ.

(Wikipedia, 2014a). Στο ναυάγιο βρέθηκαν επίσης νομίσματα από την Πέργαμο, που

χρονολογούνται μεταξύ 86 και 67 π.Χ. και νομίσματα από την Έφεσο, που χρονολογούνται

μεταξύ 70 και 60 π.Χ. Αυτό σημαίνει ότι το πλοίο βυθίστηκε μεταξύ 70 και 60 π.Χ.

(Wikipedia, 2014b). Η τότε Ελληνική Κυβέρνηση ανέθεσε σε δύτες να συλλέξουν ό,τι

μπορούσαν από το χώρο του ναυαγίου και έκτοτε ο μηχανισμός μαζί με αγάλματα,

νομίσματα της εποχής εκείνης και άλλα αντικείμενα εκτίθεται στο Εθνικό Αρχαιολογικό

Μουσείο Αθηνών (βλ. Εικόνα 1.1. 1).

Εικόνα 1.1. 1 Το ναυάγιο των Αντικυθήρων (Εκθεσιακόςχώρος Αρχαιολογικού Μουσείου Αθηνών:φωτ. Georgia’sBlog)

Page 8: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[8]

Όταν ο μηχανισμός βρέθηκε, αποτελούνταν από

διαβρωμένα μπρούτζινα κομμάτια και φαινόταν να είναι

τοποθετημένος μέσα σε ξύλινο κιβώτιο. Τα υπολείμματα

του μηχανισμού έδειχναν ότι αυτός αποτελούνταν από

γρανάζια με τριγωνικά δόντια, κλίμακες, δείκτες και πάνω

σε κάποια κομμάτια υπήρχαν χαραγμένες δυσδιάκριτες

επιγραφές στα Ελληνικά. Ο καθηγητής Derek De Solla

Price (βλ. Εικόνα 1.1. 2), φυσικός και ιστορικός που

εργάζονταν στο Πανεπιστήμιο του Γέηλ, ξεκίνησε από

νωρίς τη μελέτη του μηχανισμού. Έτσι δημοσίευσε ένα

άρθρο για το μηχανισμό στο περιοδικό Scientific American

τον Ιούνιο του 1959, πριν ακόμα η τεχνολογία αποκαλύψει

αρκετά από τα μυστικά του. Μετά από ακτινοσκόπηση του

μηχανισμού με ακτίνες γ από τον φυσικό και τότε διευθυντή

του Ερευνητικού Κέντρου Φυσικών Επιστημών

«Δημόκριτος» Χαράλαμπο Καράκαλο, φάνηκαν και άλλες

λεπτομέρειες τις οποίες ο Price αξιοποίησε για να εμβαθύνει

ακόμα περισσότερο και να αποκαλύψει και άλλα μυστικά

του μηχανισμού. Το 1974 ο Price δημοσιεύει ένα άρθρο με

τίτλο “Gears from the Greeks”( Price, D. 1974) όπου μετά

από μελέτη των αποκαλυπτικών λεπτομερειών στα

κομμάτια Α, Β, C και D (fragment A , fragment B, fragment

C ,fragment D) αναλύει τη λειτουργία για 27 από τα γρανάζια του μηχανισμού.

Στη συνέχεια ο M.Wright (βλ. Εικόνα 1.1.3), επιμελητής των Μηχανολόγων

Μηχανικών στο Μουσείο Επιστημών του Λονδίνου, σε συνεργασία με τον Αυστραλό

επιστήμονα των υπολογιστών Alan John Bromley χρησιμοποιώντας μια τεχνική

ονομαζόμενη γραμμική τομογραφία ακτίνων Χ, η οποία προτάθηκε από τον ακτινολόγο Alan

Partridge, κατάφερε να σαρώσει το μηχανισμό σε ακτινογραφίες-τομές δύο διαστάσεων.

Παραπέρα μελέτη των εικόνων οδήγησαν τον Wright (Wright,2007) σε νέα συμπεράσματα

Εικόνα 1.1. 2 Derek de SollaPrice (Μουσείο ΦυσικήςΙστορίας στο Peabody: φωτ.:Βιβλιοθήκη χειρόγραφων καιαρχείων του Πανεπιστημίου τουYale)

Εικόνα 1.1.3 O Michael

Wright στο εργασήριο του.(Decoding the Heavens φωτ.: Jo

Marchant)

Page 9: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[9]

για το μηχανισμό. Μερικά από αυτά είναι ότι: 1) ο μηχανισμός θα μπορούσε να

χρησιμοποιηθεί σαν πλανητάριο για τη μελέτη της κίνησης όχι μόνο του Ήλιου και της

Σελήνης αλλά και πέντε άλλων πλανητών όπως των εσωτερικών (Ερμής , Αφροδίτη) αλλά

και των εξωτερικών (Άρης, Δίας και Κρόνος). 2) ότι ο Ήλιος και η Σελήνη θα μπορούσαν να

κινούνται σύμφωνα με τις θεωρίες του Ίππαρχου και 3) οι πέντε μέχρι τότε πλανήτες θα

μπορούσαν να κινούνται σε επικυκλική τροχιά σύμφωνα με το θεώρημα του Απολλωνίου.

Επίσης ο Wright αυξάνει τον αριθμό των γραναζιών από 27 που είχε αφήσει ο Price

σε 31 και προτείνει ένα μηχανισμό με τον οποίο να φαίνονται οι φάσεις της Σελήνης στο

πάνω καντράν με τη βοήθεια μιας επαργυρωμένης κατά το ήμισυ σφαίρας. Η τελευταία

πρόταση φαίνεται να υιοθετείται και από τους James Evans, Christian C. Carman και Alan S.

Thorndike (Evans & Carman & Thorndike, 2010)

Εικόνα 1.1.4 Θραύσματα του Μηχανισμού των Αντικυθήρων (Εικόνα με χρήση της τεχνικήςPolynomial Texture Map: φωτ. Retrotechnology.com. 2013)

Page 10: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[10]

Στα τέλη του 2005 γίνεται μια επιπλέον

εξέταση του μηχανισμού όπου χρησιμοποιείται η

τελευταία λέξη της τεχνολογίας. Συγκεκριμένα οι

εταιρείες HP (Hewlett Packard) και x-tek Systems,

φέρνουν στην Ελλάδα τις συσκευές τους για να

εξετάσουν επιτόπου το μηχανισμό. Έτσι ο μηχανισμός

απεικονίζεται σε 3 διαστάσεις με τη βοήθεια της

συσκευής της HP η οποία περιβάλλει το μηχανισμό και

κάνει χρήση της τεχνολογίας PTM (Polynomial

Texture Map) (βλ. Εικόνα 1.1.4). Επίσης σαρώνεται με

τη βοήθεια του βιομηχανικού τομογράφου βάρους 7,5

τόνων Blade Runner της εταιρείας x-tek, οπότε

αποκαλύπτονται και άλλες λεπτομέρειες όσον αφορά

τον αριθμό των δοντιών των γραναζιών, ενώ

παράλληλα αυξάνεται η αναγνωσιμότητα και άλλων

επιγραφών. Μετά από λίγο στις 21 Οκτωβρίου του

2005 ανακοινώνεται στην Αθήνα ότι βρέθηκαν νέα

κομμάτια του μηχανισμού. Τώρα υπάρχουν γύρω στα

82 γνωστά θραύσματα του μηχανισμού. Στις 30 Μαΐου

του 2006 ανακοινώθηκε ότι από τους 1000

αναγνωρίσιμους χαρακτήρες στο παρελθόν οι

αναγνώσιμοι χαρακτήρες ανέρχονται σε 2160 που αντιπροσωπεύουν το 95% του συνολικού

κειμένου.

Στις 30 Νοεμβρίου 2006 στο επιστημονικό περιοδικό Nature δημοσιεύτηκε μια νέα

ανακατασκευή του μηχανισμού με βάση την τομογραφία ακτίνων Χ υψηλής ανάλυσης που

περιγράφηκε παραπάνω(Freeth, Bitsakis, Moussas, Seiradakis, Tselikas & Mangou και

συν. , 2006). Τα νέα ευρήματα επιβεβαιώνουν ότι ο μηχανισμός ήταν ένας αστρονομικός

αναλογικός υπολογιστής που χρησιμοποιήθηκε για να προβλέψει τις θέσεις των ουρανίων

σωμάτων. Η δημοσίευση αυτή προτείνει ότι ο μηχανισμός διέθετε 37 γρανάζια , από τα

Εικόνα 1.1.5 Σχεδιαστική

απεικόνιση των οπισθίων καντράν του

μηχανισμού. (Freeth και συν. 2008).

Page 11: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[11]

οποία τα 30 επιβίωσαν και ότι χρησιμοποιήθηκε για την πρόβλεψη της θέσης του Ήλιου και

της Σελήνης. Με βάση τις επιγραφές που αναφέρουν σταθερά σημεία των πλανητών , οι

ερευνητές εικάζουν ότι ο μηχανισμός μπορούσε να αποδώσει και πλανητικές κινήσεις. Στην

μπροστινή όψη του μηχανισμού υπήρχαν χαραγές για την ηλιακή κλίμακα και το ζωδιακό

κύκλο μαζί με δείκτες που έδειχναν την θέση του Ήλιου , τη θέση της Σελήνης , τις

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

μηχανισμού φαίνεται να υπήρχαν δύο σπειροειδείς κλίμακες, τις οποίες διέτρεχαν δυο

δείκτες μεταβλητού μήκους και δυο μικρότερες, παριστάνοντας την εξέλιξη των παρακάτω

περιγραφομένων σημαντικών αστρονομικών κύκλων (βλ. Εικόνα 1.1.5)

1. «Κύκλος του Σάρου»: Είναι μια περίοδος 18 χρόνων και 1/3 της ημέρας, όπου

Σελήνη και Γη έχουν τις ίδιες σχετικές θέσεις στην αρχή και το τέλος του κύκλου.

2. «Κύκλος του Εξελιγμού»: Είναι μια περίοδος με διάρκεια 54 χρόνων και μία

ημέρα δηλ. αποτελείται από 3 κύκλους Σάρου και αποτελεί τον ελάχιστο χρόνο

επανεμφάνισης της ίδιας πανομοιότυπης έκλειψης Σελήνης ή Ηλίου στον ίδιο

τόπο.

3. «Κύκλος του Μέτωνα»: Είναι μια περίοδος περίπου 19 χρόνων

4. «Κύκλος του Καλλίππου»: Είναι μια περίοδος 76 χρόνων και περιλαμβάνει 4

κύκλους Μέτωνα.

Όλοι οι παραπάνω κύκλοι θα αναλυθούν λεπτομερώς στη συνέχεια.

Ο μηχανισμός της Σελήνης χρησιμοποιεί μια «έξυπνη» ακολουθία γραναζιών δύο από

τα οποία κάνοντας χρήση ενός συστήματος σχισμής – πείρου (pin and slot) προσομοιώνουν

τη μεταβολή της γωνιακής ταχύτητας της Σελήνης γύρω από τη Γη που είναι μεγαλύτερη στο

περίγειο και μικρότερη στο απόγειο σύμφωνα πάντα με τη θεωρία του Ίππαρχου.

Στις 31 Ιουλίου 2008 ένα έγγραφο που παρέχει περαιτέρω λεπτομέρειες σχετικά με το

μηχανισμό δημοσιεύτηκε στο περιοδικό Nature (Ball, 2008). Στο έγγραφο αυτό, μεταξύ

άλλων αποκαλύψεων , αποδεικνύεται ότι ο μηχανισμός περιείχε και ένα επιπλέον καντράν το

οποίο χωρίζονταν σε τέσσερα μέρη και έδειχνε έναν τετραετή κύκλο, ο οποίος πιστεύεται ότι

Page 12: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[12]

χρησιμοποιούνταν για την τήρηση των ημερομηνιών έναρξης των Πανελληνίων Αγώνων

(όπως για παράδειγμα των αρχαίων Ολυμπιακών Αγώνων ).

Τέλος, στο πίσω και πάνω καντράν του μηχανισμού μετά την τομογραφία με ακτίνες

X, αποκαλύφθηκαν 12 ονόματα μηνών που πιστοποιούνται ότι χρησιμοποιούντο στην

Κόρινθο και στις Κορινθιακές αποικίες (Συρακούσες). Οι ερευνητές προτείνουν ότι η

συσκευή θα μπορούσε κάλλιστα να είναι Συρακούσιου σχεδιασμού και μπορεί να αποτελεί

έργο του Αρχιμήδη.

1.2 Βιβλιογραφική επισκόπηση

Έγινε συλλογή βιβλιογραφικού υλικού ώστε να εμπλουτισθεί η γνωσιακή βάση πάνω σε

εξειδικευμένα θέματα Μαθηματικών και Αστρονομίας που είναι απαραίτητα για την

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

μελέτες ερευνητών με τη χρονολογική σειρά που έγιναν, δημοσιευμένα επιστημονικά άρθρα,

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

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

λειτουργίας του μηχανισμού είναι οι παρακάτω:

1. «Gears from the Greeks» του Derek De Solla Price

2. «Calendars with Olympiad display and eclipse prediction on the Antikythera

Mechanism» των Freeth Jones3, Steele & Bitsakis

3. «The Antikythera Mechanism: From the bottom of the sea to the scrutiny of

modern technology» του Σεϊδαράκη Ι.

4. «Decoding the Antikythera Mechanism: Investigation of an Ancient

Astronomical Calculator» των Freeth, Bitsakis, Moussas, Seiradakis, Tselikas

& Magkou και άλλων.

5. «The Antikythera mechanism reconsidered» του M. Wright

6. Wikipedia.org

Page 13: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[13]

7. www.mogi-vice.com/Pagine/Altro.html, προσωπική ιστοσελίδα του Mogi

Vicentini

8. http://www.etl.uom.gr/mr/Antikythera/AntiMechSim_v0.93.zip, προσομοίωση

του μηχανισμού των Αντικυθήρων κατασκευασμένη από το Φοίβο

Ασημακόπουλο

9. http://www.dmst.aueb.gr/dds/sw/ameso/Antikythera.045.pr, προσομοίωση του

μηχανισμού των Αντικυθήρων κατασκευασμένη από το Διομήδη Σπινέλη

10. http://demonstrations.wolfram.com/AntikytheraMechanism/, προσομοίωση

του μηχανισμού των Αντικυθήρων κατασκευασμένη από τον Adam P.

Goucher.

Στη συνέχεια έγινε διασταύρωση των πληροφοριών των πηγών και εφαρμογή των

μαθηματικών πράξεων ώστε τα αποτελέσματα να είναι συμβατά και σύμφωνα με τις

τελευταίες ανακαλύψεις που έχουν γίνει όσον αφορά τη λειτουργία του μηχανισμού.

Ιδιαίτερη βαρύτητα στην έρευνα δόθηκε σε εφαρμογές animations και προσομοίωσης του

μηχανισμού. Οι εφαρμογές κατηγοριοποιήθηκαν και μελετήθηκαν επισταμένα ώστε αφενός

να αποτελέσουν πηγές ιδεών και αφετέρου να ανιχνευθούν πιθανές ατέλειες ή παραλήψεις

που θα πρέπει να αποφευχθούν στην κατασκευή του μοντέλου.

Page 14: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[14]

1.2.1 Σχεδιοκίνηση (Animations)

1. Animation τρισδιάστατης

προσομοίωσης του μηχανισμού από

την ιστοσελίδα MANOS

ROUMELIOTIS' OFFICE PAGE

α. Στην επιλογή animations(Price)

όπου διατίθενται για download 6

συνολικά animations σύμφωνα με τη

θεώρηση του Del Sola Price σε

μορφή video (3 σε ανάλυση 400x300

και 3 σε ανάλυση 640x480).

β. Στην επιλογή animations(ARP)

όπου διατίθενται για download 7 συνολικά animations σε μορφή video (3 σε

ανάλυση 400x300 , 3 σε ανάλυση 640x480 και 1 σε ανάλυση 1280x720) (βλ. Εικόνα

1.2 1).

2. Animation δισδιάστατης προσομοίωσης του μηχανισμού (Antikythera Mechanism

Flash Animation) σε flash από την ιστοσελίδα

http://www.mekanizmalar.com/antikythera.html.

3. Animation δισδιάστατης προσομοίωσης του μηχανισμού (The Antikythera

Mechanism I With Java animations by Bill Casselman) από την ιστοσελίδα

<http://www.math.sunysb.edu/~tony/whatsnew/column/antikytheraI-

0400/kyth5.html>

Εικόνα 1.2 1 Σχεδιοκίνηση (animation) τουμηχανισμού των Αντικυθήρων. (MANOSROUMELIOTIS’ OFFICE PAGE)

Page 15: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[15]

1.2.2 Προσομοιώσεις (Simulations)

α. Δύο διαδραστικές τρισδιάστατες

προσομοιώσεις γραμμένες σε γλώσσα

προγραμματισμού C++ από το Φοίβο

Ασημακόπουλο, οι οποίες μπορούν να

γίνουν download από τη διεύθυνση

http://www.etl.uom.gr/mr/Antikythera/Anti

MechSim_v0.93.zip (βλ Εικόνα 1.2.2).

β. Μια διαδραστική δισδιάστατη

προσομοίωση του Μηχανισμού των

Αντικυθήρων σε περιβάλλον Squeak EToys

από το Διομήδη Σπινέλη η οποία μπορεί να

γίνει download από τη διεύθυνση

<http://www.dmst.aueb.gr/dds/sw/ameso/Ant

ikythera.045.pr > (βλ. Εικόνα 1.2.3).

γ. Μια διαδραστική τρισδιάστατη

προσομοίωση κατασκευασμένη από τον

Adam P.Goucher. Η προσομοίωση μπορεί να

γίνει download από τη διεύθυνση

<http://demonstrations.wolfram.com/Antikyt

heraMechanism/> (βλ. Εικόνα 1.2 4)

και να αποθηκευτεί σε αρχείο με προέκταση

.cdf το οποίο υποστηρίζεται από το Wolfram

CDF Player και έχει διαδραστικές

δυνατότητες.

Εικόνα 1.2.2 Προσομοίωση του μηχανισμού τωνΑντικυθήρων (MANOS ROUMELIOTIS’OFFICE PAGE

Εικόνα 1.2.3 Προσομοίωση του μηχανισμού τωνΑντικυθήρων σε περιβάλλον Squeak Toys(Ιστότοπος του Διομήδη Σπινέλλη)

Page 16: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[16]

δ. Μια διαδραστική τρισδιάστατη

προσομοίωση The Antikythera

Mechanism.exe κατασκευασμένη από

την Lysozyme. H προσομοίωση μπορεί να

γίνει download και να αποθηκευτεί σε αρχείο

exe από τη διεύθυνση

<http://www.math.sunysb.edu/~tony/whatsne

w/column/antikytheraI-0400/kyth5.html> (βλ.

Εικόνα 1.2 5).Εικόνα 1.2 4 Προσομοίωση του μηχανισμού τωνΑντικυθήρων (Antikythera Mechanism WolframDemonstrations Project)

Εικόνα 1.2 5 Προσομοίωση του μηχανισμού τωνΑντικυθήρων (ΤΗΕ ANTIKYTHERAMECHANISM 2003 Lysozeme)

Page 17: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[17]

1.2.3 Σχετικές παρατηρήσεις

Όσον αφορά τη σχεδιοκίνηση (animation):

Στο μηχανισμό των Αντικυθήρων βρίσκονται σε κίνηση τουλάχιστον 30 γρανάζια και τα

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

επίπεδο εμποδίζει τη σαφή διάκριση μεταξύ τους και αδυνατεί να δείξει τη συσχέτιση που

υπάρχει μεταξύ τους. Για το λόγο αυτό, ένα δισδιάστατο animation όπως γίνεται στις

περιπτώσεις 1.2.1.2 και 1.2.1.3 μπορεί να δείξει τμήμα μόνο του μηχανισμού.

Στην περίπτωση τώρα των τρισδιάστατων animation, η ύπαρξη της τρίτης διάστασης

που είναι το βάθος πεδίου, δίνει τη δυνατότητα στο χρήστη να διακρίνει τα διάφορα επίπεδα

στα οποία είναι κατανεμημένα τα γρανάζια του μηχανισμού, αλλά, για να επιτευχθεί αυτό

στο μέγιστο, πρέπει να υπάρχει κίνηση της κάμερας και ο σωστός φωτισμός ώστε να

μπορέσει να προσεγγιστεί όσο το δυνατόν καλύτερα η πραγματικότητα. Βέβαια, με δεδομένο

την κίνηση 30 τουλάχιστον γραναζιών με διαφορετικές γωνιακές ταχύτητες, κάτι τέτοιο θα

δημιουργούσε ένα μεγάλο σε χρόνο και μέγεθος rendering με αποτέλεσμα την αύξηση του

μεγέθους του video άρα μείωση της ευχρηστίας και της δυνατότητας της κοινόχρηστης

διάθεσης του στο διαδίκτυο. Έτσι τα video των 3d animation των περιπτώσεων 1.2.1.α και

1.1.1.β με διάρκεια του ενός λεπτού περίπου δε δίνουν τον απαραίτητο χρόνο, ώστε ο

χρήστης να μπορέσει να παρατηρήσει τις κινήσεις των γραναζιών, να κάνει τη συσχέτιση

μεταξύ τους και ταυτόχρονα να αποκωδικοποιήσει τις πληροφορίες που του δίνει ο

μηχανισμός. Επίσης παρατηρήθηκε ελλιπής πληροφόρηση όσον αφορά τις ενδείξεις των

καντράν. Ειδικά στα καντράν που δείχνουν τους κύκλους του Σάρου και του Μέτωνα δεν

υπάρχουν καθόλου ενδείξεις.

Page 18: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[18]

Όσον αφορά τις προσομοιώσεις (simulations):

Εδώ υπάρχει ένα βασικό πλεονέκτημα σε σχέση με τα animations, που είναι η

διαδραστικότητα του μοντέλου. Παρόλα αυτά, η δισδιάστατη προσομοίωση της περίπτωσης

1.2.2.β χαρακτηρίζεται από τα μειονεκτήματα των δισδιάστατων animation όπως αναλύθηκε

παραπάνω. Οι διαδραστικές προσομοιώσεις της περίπτωσης 1.2.2.α παρουσιάζουν μια

δυσχρηστία όσον αφορά το χειρισμό της πλοήγησης του χρήστη μέσα στο χώρο, με

αποτέλεσμα τη δυσκολία της παρατήρησης του μηχανισμού. Η διαδραστική προσομοίωση

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

χρήστη μέσα στο χώρο με επιπλέον αδυναμία κίνησης δια μέσου του μοντέλου (άξονας z).

Επίσης, ενώ έχει τη δυνατότητα απόκρυψης του ξύλινου πλαισίου του μηχανισμού, αυτό

γίνεται μόνο στην περίπτωση που τα γρανάζια είναι ακίνητα ενώ έχει χαμηλή ταχύτητα

αναπαραγωγής σε καρέ /δευτερόλεπτο.

Σε όλες τις προσομοιώσεις υπάρχει ελλιπής πληροφόρηση του χρήστη όσον αφορά

τις ενδείξεις των καντράν του μηχανισμού. Συγκεκριμένα, δεν υπάρχουν ενδείξεις στο

καντράν του «Μετωνικού κύκλου» ενώ στο καντράν του κύκλου του «Σάρου» ενδείξεις

φέρει μόνο η δισδιάστατη προσομοίωση της περίπτωσης 1.2.2.β. Στη διαδραστική

προσομοίωση 1.2.2.δ ο χρήστης μπορεί να θέσει σε περιστροφή τα γρανάζια του μηχανισμού

και να περιστρέψει το μοντέλο γύρω από το κέντρο του ως προς τους 3 άξονες. Ενώ η

προσομοίωση παρουσιάζει μια βελτίωση σε σχέση με αυτή της περίπτωσης 1.2.2.γ, εντούτοις

παρουσιάζει μια δυσχρηστία όσον αφορά την περιστροφή του μοντέλου ως προς το κέντρο

του ενώ δίνει την δυνατότητα κίνησης της κάμερας σε βάθος δια μέσου του μηχανισμού

μόνο μέχρι το κέντρο του. Επίσης, ενώ τα γρανάζια είναι τρισδιάστατα, τα δόντια τους είναι

απλώς αποτυπωμένα με χρήση κατάλληλου texture το οποίο από απόσταση δίνει την

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

κυλινδρικό σχήμα και χωρίς δόντια.

Μελετώντας προσεκτικά όλες τις παραπάνω προσομοιώσεις, καθορίστηκαν οι

προδιαγραφές που έπρεπε να πληροί το υπό κατασκευή μοντέλο ώστε να ελαχιστοποιηθούν

Page 19: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[19]

οι καταγραφείσες ελλείψεις με μετατοπισμένο το βάρος στην αναγνωσιμότητα των

καταγεγραμμένων ενδείξεων, τη διαδραστικότητα και τη φωτορεαλιστικότητα του μοντέλου.

1.3 Μαθηματική και Αστρονομική προσέγγιση

Ο Μηχανισμός των Αντικυθήρων χρησιμοποιεί γρανάζια για να μας δείξει αστρονομικούς

κύκλους και να προβλέψει ηλιακές και σεληνιακές εκλείψεις. Τα εναπομείναντα κομμάτια

του μηχανισμού δείχνουν ότι αυτός αποτελούνταν από 30 τουλάχιστον γρανάζια. Αυτά όμως

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

παρουσιάζεται προστεθήκαν άλλα 5 γρανάζια ώστε ο μηχανισμός να είναι συμβατός με το

σχήμα (βλ. Εικόνα 1.3.1). Τα γρανάζια που χρησιμοποιήθηκαν είναι :

a1,b1,b2,b3,c1,c2,d1,d2,e1,e2,e3,e4,e5,e6,f1,f2,g1,g2,h1,h2,i1,k1,k2,l1,l2,m1,m2,m3,n1,n2,n

3,o1,p1,p2,q1.To γρανάζι r1 με 63 δόντια το οποίο ανακαλύφθηκε στο κομμάτι D έχει

άγνωστη χρησιμότητα και έτσι παραλήφθηκε.

Εικόνα 1.3.1 Σχεδιαστική απεικόνιση των γραναζιών του Μηχανισμού των Αντικυθήρων(Wikipedia 2013a: Εικ. Lead holder).

Λόγω της συμπλοκής των γραναζιών η κίνηση μεταδίδεται από τη μανιβέλα σε όλα τα

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

του δοντιού στα συμπλεκόμενα γρανάζια να είναι το ίδιο. Αυτό επιτυγχάνεται διότι όλα τα

δόντια των γραναζιών είναι σε σχήμα ισοπλεύρου τριγώνου (Derek Del Sola Price , 1974)με

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

Page 20: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[20]

2.π.r (όπου π=3.14 και r η ακτίνα του γραναζιού) να είναι ίδιος για όλα τα γρανάζια.

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

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

τους.

όπου f , r , N είναι τα σύμβολα για τη συχνότητα, την ακτίνα, τον αριθμό των δοντιών των

γραναζιών και οι δείκτες 1,2 αναφέρονται στα 2 γρανάζια αντίστοιχα. Έτσι για παράδειγμα

το γρανάζι c1 με 38 δόντια σε σχέση με το γρανάζι b2 με 64 δόντια που του δίνει κίνηση έχει

64/38 φορές μεγαλύτερο αριθμό περιστροφών ανά μονάδα χρόνου σε σχέση με το γρανάζι

b2. Με άλλα λόγια αν πολλαπλασιάσουμε τον αριθμό περιστροφών του γραναζιού b2 με την

αναλογία 64/38 , βρίσκουμε τον αριθμό περιστροφών του c1 στον ίδιο χρόνο. Με αυτό τον

τρόπο μεταδίδεται η κίνηση μέχρι το τελευταίο γρανάζι.

1.3.1 Η ακολουθία των γραναζιών της Σελήνης (moon train)

Το γρανάζι που κινεί τον βραχίονα της Σελήνης είναι το b3. Η κίνηση ουσιαστικά ξεκινά από

το γρανάζι b1 ή αλλιώς sun gear και καταλήγει στο γρανάζι b3 μέσω της ακολουθίαςb1-- b2

c1- c2 d1- d2 e2 - e5 k1 - k2 e6 -e1 b3. Παίρνοντας τα γρανάζια που

συμπλέκονται μεταξύ τους και πολλαπλασιάζοντας τις επί μέρους αναλογίες του αριθμού

των δοντιών τους βρίσκουμε τη σχέση του αριθμού των περιστροφών του γραναζιού b3 σε

σχέση με τον αντίστοιχο αριθμό περιστροφών του γραναζιού b1 ανά μονάδα χρόνου. Δηλαδή

ο αριθμός των περιστροφών του b3 ανά μονάδα χρόνου θα είναι : (64/38)*(48/24)*(

127/32)*(50/50)*(50/50)*(32/32)=13,368.

Έτσι όταν ο Ήλιος κατά τον γήινο παρατηρητή εκτελέσει μια πλήρη ετήσια

φαινομενική περιστροφή μέσα στο ζωδιακό κύκλο, άρα η Γη ένα πλήρες ημερολογιακό έτος

(365,25 μέρες), για ακίνητο παρατηρητή ως προς τα άστρα, η Σελήνη θα έχει εκτελέσει

Page 21: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[21]

13,368 περιστροφές ως προς τα άστρα δηλαδή θα έχουν παρέλθει 13,368 αστρικοί1 μήνες

(sidereal months) (βλ. Εικόνα 1.3. 2). Πράγματι αν πολλαπλασιάσουμε τον αριθμό των

ημερών του αστρικού μήνα που είναι 27,321661 ημέρες με το 13,368 βρίσκουμε

365,235964248 ημέρες που είναι πάρα πολύ κοντά στην διάρκεια ενός ημερολογιακού έτους.

Εικόνα 1.3. 2 Σχεδιαστική απεικόνιση για την επίδειξη του αστρικού μήνα (Cameron Smith a,2008)

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

Page 22: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[22]

1.3.2 Ο κύκλος του Μέτωνα ή «Mετωνικός κύκλος» και η ακολουθία τωνγραναζιών του (metonic cycle).

Εικόνα 1.3. 3 Σχεδιαστική απεικόνιση για την επίδειξη του συνοδικού μήνα (Cameron Smith b, 2008)

Ο μετωνικός κύκλος αποτελείται από 235 συνοδικούς2 μήνες (βλ. Εικόνα 1.3. 3) ή

235*29,530589=6939,75 ή 6939,75/365,25=19 έτη ). Ο Μέτων βρήκε ότι 19 χρόνια (όπως

τα γνωρίζουμε δηλαδή 1 έτος=365,25 μέρες) αντιστοιχούν σε 125 πλήρεις μήνες (30 μέρες)

2 Συνοδικός μήνας είναι 29,531 μέρες και αντιστοιχεί στο χρόνο που μεσολαβεί από νέα σελήνη σε νέα σελήνη(βλ εικόνα 6).

Page 23: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[23]

και 110 «κούφιους» μήνες (29 μέρες) δηλαδή 125x30+110*29=6940 μέρες. Διαιρώντας

τώρα τις 6940 μέρες δια 19 βρίσκουμε ότι κατά το Μέτωνα ένα έτος θα είχε διάρκεια (

6940/19=365 μέρες + 1/4 μέρας + 1/76 μέρας )3. Το γρανάζι που κινεί τον βραχίονα που

δείχνει τον κύκλο του "Μέτωνα" είναι το n1. H κίνηση ξεκινά από το γρανάζι b2 (ομοαξονικό

με το γρανάζι του Ήλιου b1) και μεταδίδεται μέσω της ακολουθίας των γραναζιώνb2 l1 - l2 m1 - m2 n1

Εφόσον ο κύκλος του "Μέτωνα" διαρκεί 19 ημερολογιακά έτη και ολοκληρώνεται σε

5 στροφές του βραχίονα θα πρέπει το γρανάζι n1για κάθε στροφή του γραναζιού b1 και άρα

και του b2, να κάνει 5/19 περιστροφές. Πράγματι πολλαπλασιάζοντας τις αναλογίες των

δοντιών των γραναζιών της ακολουθίας, θα έχουμε:(64/38)*(53/96)*(15/53)=5/19=0,263.

1.3.3 Ο «Καλλιπικός κύκλος» και η ακολουθία των γραναζιών του (callipic train)

Ο Κάλλιππος (330 π.Χ.) από παρατηρήσεις ήξερε ότι η διάρκεια του έτους ήταν (365

μέρες +1/4 μέρας) δηλαδή 1/76 της μέρας λιγότερο από το έτος που πρότεινε ο Μέτωνας

οπότε πρότεινε ένα νέο κύκλο ο οποίος να αποτελείται από 4 Μετωνικούς κύκλους δηλαδή

4*19=76 χρόνια. Έτσι στο τέλος κάθε Καλλιπικού κύκλου αφαιρούνταν η 1 παραπανήσια

μέρα. Το γρανάζι που κινεί τον δείκτη του κύκλου του "Καλλίππου" είναι το q1. H κίνηση

ξεκινά από το γρανάζι n2 (ομοαξονικό με το γρανάζι n1) (βλ. Εικόνα 1.3.1) και μεταδίδεται

μέσω της ακολουθίας των γραναζιών:n2 p1 - p2 q1. Εφόσον ο κύκλος του "Καλλίπου"

είναι ίσος με 4 κύκλους "Μέτωνα" και αφού συμπληρώνεται για 5 στροφές του γραναζιού n1,

το γρανάζι q1 που δείχνει τον κύκλο του Καλλίπου θα πρέπει να εκτελεί (1/4)*(1/5)=1/20 της

στροφής. Πράγματι υπολογίζοντας το γινόμενο των αναλογιών του "Μέτωνα" και του

"Καλλίππου" έχουμε:0,263*(15/60)*(12/60)=0,263*(1/20)=0,0132.

1.3.4 H αναλογία στην ακολουθία της Ολυμπιάδας

3http://en.wikipedia.org/wiki/Callippic_cycle

Page 24: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[24]

Το γρανάζι που κινεί το δείκτη που δείχνει τον κύκλο των Ολυμπιάδων είναι το ο1 το οποίο

παίρνει κίνηση από το n3 που είναι ομοαξονικό με το n1 που δίνει κίνηση στο βραχίονα του

"Μέτωνα" (βλ. Εικόνα 1.3.1). H κίνηση από το n3 στο ο1 μεταδίδεται μέσω της ακολουθίας

των γραναζιών:n3o1 με αναλογία (57/60). Οι Πανελλήνιοι αγώνες στην αρχαία Ελλάδα

ήταν 4: Οι Ολυμπιακοί αγώνες που γίνονταν κάθε 4 χρόνια στην Ολυμπία, οι αγώνες της

Πυθίας που γίνονταν κάθε 4 χρόνια στους Δελφούς, οι αγώνες της Νεμέας που γίνονταν κάθε

2 χρόνια στη Νεμέα και τα Ίσθμια που γίνονταν κάθε 2 χρόνια στην Κόρινθο. Όλος ο κύκλος

των αγώνων κρατούσε 4 χρόνια. Επομένως για κάθε έτος δηλαδή για κάθε πλήρη κύκλο του

Ήλιου μέσα στο ζωδιακό κύκλο ο δείκτης των Ολυμπιάδων πρέπει να κάνει 1/4 της στροφής.

Πράγματι, υπολογίζοντας το γινόμενο των αναλογιών του Μέτωνα και των Ολυμπιάδων

έχουμε: (5/19)*(57/60)=1/4

1.3.5 Ο «δρακωνικός» και ο «ανωμαλιστικός» μήνας

Εικόνα 1.3.4(Σχεδιαστική απεικόνιση για την επίδειξη του Δρακωνικού μήνα(Cameron Smith c, 2008)

Ένας "δρακωνικός" μήνας είναι ο χρόνος που μεσολαβεί μεταξύ 2 διαδοχικών διελεύσεων

της Σελήνης από τον ίδιο "κόμβο"(node) (το σημείο που η τροχιά της Σελήνης τέμνει το

επίπεδο της εκλειπτικής). Ο "δρακωνικός" μήνας είναι πολύ σημαντικός για τον υπολογισμό

των εκλείψεων, διότι, όταν συμβεί μια έκλειψη Σελήνης, η Σελήνη θα βρίσκεται πάνω σε

κόμβο και θα είναι σε φάση "πλήρους Σελήνης" (full moon). Επομένως, επόμενη έκλειψη θα

γίνει μετά από ακέραιο αριθμό 223 συνοδικών μηνών ή μετά από ακέραιο αριθμό 242

δρακωνικών μηνών(223*29,530589=242*27,212220). Επειδή το επίπεδο της τροχιάς της

Page 25: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[25]

Σελήνης στρέφεται με την αντίθετη φορά από ό,τι η Σελήνη (μια πλήρη περιστροφή κάθε

18,6 χρόνια), η διάρκεια του δρακωνικού μήνα είναι 27,212220 μέρες (βλ. Εικόνα 1.3.4) και

είναι λίγο μικρότερη από αυτή του αστρικού μήνα που είναι 27,321661 μέρες4.

Εικόνα 1.3.5(Σχεδιαστική απεικόνιση για την επίδειξη του ανωμαλιστικού μήναμήνα (Cameron Smith d, 2008)

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

απόσταση της Σελήνης από τη Γη να μην παραμένει σταθερή. Δύο σημεία της τροχιάς της

Σελήνης έχουν ιδιαίτερο ενδιαφέρον. Το περίγειο (Perigee): το σημείο που η Σελήνη

βρίσκεται στη κοντινότερη απόσταση από τη Γη και το απόγειο(Apogee) : το σημείο που η

Σελήνη βρίσκεται στη μακρινότερη απόσταση από τη Γη. Τα σημεία αυτά δεν παραμένουν

σταθερά και ακίνητα διότι το επίπεδο της τροχιάς της Σελήνης στρέφεται πολύ αργά

κάνοντας μια περιστροφή κάθε 9 χρόνια με φορά ίδια με αυτήν της περιστροφής της

Σελήνης. Ο χρόνος μεταξύ 2 διαδοχικών διελεύσεων της Σελήνης από το απόγειο ή το

περίγειο ονομάζεται «ανωμαλιστικός» μήνας και είναι λίγο μεγαλύτερος από τον αστρικό

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

4 http://www.hermit.org/eclipse/why_months.html#Draconic

Page 26: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[26]

«ανωμαλιστικός μήνας» είναι 27,554549 μέρες, ενώ ο «αστρικός μήνας», όπως είδαμε, είναι

27,321661 μέρες5.

Ο «ανωμαλιστικός μήνας» (βλ. Εικόνα 1.3.5) έχει ιδιαίτερη σπουδαιότητα για τις

ηλιακές εκλείψεις, επειδή το "μέγεθος" της ηλιακής έκλειψης που βλέπουμε και το είδος της

έκλειψης, αν είναι μερική, ολική, δακτυλιοειδής, ή υβριδική, εξαρτάται από την απόσταση

Γης - Σελήνης κατά τη διάρκεια της έκλειψης και αυτή με τη σειρά της εξαρτάται από το

σημείο στο οποίο συμβαίνει κατά τη διάρκεια του «Ανωμαλιστικού μήνα». Για τις

σεληνιακές εκλείψεις η διάρκεια και η εμφάνιση της έκλειψης επηρεάζονται από το σημείο

αυτό.

1.3.6 Οι κύκλοι των εκλείψεων – Ο κύκλος του «Σάρου» και ο «Εξελιγμός»

Ο κύκλος του Σάρου χαρακτηρίζεται από τη σύμπτωση 3 τροχιακών περιόδων της Σελήνης

οι οποίες είναι οι εξής:

1. Από ίδια σεληνιακή φάση σε ίδια σεληνιακή φάση (223 συνοδικοί μήνες). Οι

εκλείψεις συμβαίνουν σε νέα ή σε πλήρη Σελήνη.

2. Από την συν-ευθυγράμμιση των σημείων τομής της τροχιάς της Σελήνης με το

επίπεδο της εκλειπτικής σε μια νοητή ευθεία που συνδέει τη Γη με τη Σελήνη ( 242

δρακωνικοί μήνες). Οι εκλείψεις συμβαίνουν κοντά στα σημεία τομής (nodes).

3. Από τις ίδιες αποστάσεις μεταξύ Σελήνης και Γης με περίοδο εμφάνισης από

απόγειο σε απόγειο (apogee) της Σεληνιακής τροχιάς (239 ανομαλιστικοί - anomalistic -

μήνες). Η απόσταση μεταξύ Γης και Σελήνης καθορίζει το μέγεθος της έκλειψης αν είναι

δηλαδή ολική ή μερική.

O κύκλος "Σάρου" είναι ίσος με 223 "συνοδικούς" μήνες που είναι

223*29,530589=6585,321 μέρες και συμπίπτει σε διάρκεια με 242 "δρακωνικούς" μήνες

δηλαδή 242*27,212220 =6585,357 μέρες. Τι μας δείχνει αυτό; Αν σε ένα τόπο μια χρονική

στιγμή έχουμε για παράδειγμα έκλειψη Ηλίου, τότε μετά τον κατάλληλο ακέραιο αριθμό

5 http://www.hermit.org/eclipse/why_months.html#Anomalistic

Page 27: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[27]

συνοδικών περιστροφών της Σελήνης και τον αντίστοιχο ακέραιο αριθμό περιστροφών του

επιπέδου της τροχιάς, θα έχουμε ξανά ευθυγράμμιση Ήλιου– Σελήνης– Γης για το

συγκεκριμένο τόπο. Δηλαδή μετά από ένα κύκλο Σάρου. Ο κύκλος του Σάρου είναι 6585,32

ημέρες (4 δίσεκτα κ 14 κανονικά χρόνια=6574 κ 11,32 μέρες ή 5 δίσεκτα και 13

κανονικά=6575 κ 10,32 μέρες) με αποτέλεσμα τη δημιουργία επιτυχημένων

επαναλαμβανομένων ηλιακών εκλείψεων με μετατόπιση 8 ωρών από κύκλο σε κύκλο ή 120

μοιρών σε γεωγραφικό μήκος. (Eclipse.gsfc.nasa.gov,2014c). Έτσι, κάθε ηλιακή έκλειψη

είναι ορατή μετά από ένα «Σάρο» κατά 120 μοίρες δυτικότερα δηλαδή μη ορατή από τον ίδιο

τόπο όπως ήταν ορατή 1 «Σάρο» πριν. Αληθείς επαναλήψεις των ηλικιακών εκλείψεων στον

ίδιο τόπο και την ίδια ώρα έχουμε μετά από 3 κύκλους Σάρου. Αυτός ο κύκλος ονομάστηκε

Εξελιγμός και η διάρκεια του είναι περίπου 54 χρόνια. Έτσι, αν γνωρίζουμε μια ηλιακή

έκλειψη μια συγκεκριμένη ημερομηνία πχ. 13 Νοεμβρίου 2012, ορατή στην περιοχή

Αυστραλίας , Ν.Ζηλανδίας και Ανταρκτικής τότε η επόμενη στον ίδιο τόπο και την ίδια ώρα

θα συμβεί μετά από ένα Εξελιγμό, που είναι 54 χρόνια και 34 μέρες δηλαδή την 17η

Δεκεμβρίου του 2066 (βλ. Εικόνα 1.3.6).

Εικόνα 1.3.6 (Σχηματική απεικόνιση επανάληψης ολικής ηλιακής έκλειψης τις ημερομηνία13/11/2012 και 17/12/2066 στην περιοχή Αυστραλίας, Ν. Ζηλανδίας και Ανταρκτικής: Εικ.nasa.gov 2013)

Page 28: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[28]

1.3.7 Η τελική αναλογία των γραναζιών του κύκλου του «Σάρου».

Το γρανάζι που κινεί το βραχίονα που δείχνει τον κύκλο του "Σάρου" είναι το g1 (βλ. εικόνα

1.3.1). Το g1 παίρνει κίνηση από το γρανάζι f2 και η κίνηση στην ακολουθία μεταδίδεται από

το γρανάζι b2. Σχηματικά η ακολουθία δείχνεται: b2 l1 - l2 m1 - m3 e3 - e4 f1 - f2

g1

Εφόσον ένας κύκλος Σάρου ολοκληρώνεται μέσα σε 223 συνοδικούς μήνες, ενώ ένας

κύκλος Μέτωνα μέσα σε 235 συνοδικούς μήνες, προκύπτει ότι ένας κύκλος Σάρου ισούται

με 223/235 κύκλους Μέτωνα. Μια στροφή του γραναζιού b2 που αντιστοιχεί σε ένα

ημερολογιακό έτος αντιστοιχεί σε 1/19 του κύκλου Μέτωνα ή σε 223/(19)*235 του κύκλου

του Σάρου. Τώρα, αφού 4 στροφές του γραναζιού του Σάρου ολοκληρώνονται για ένα κύκλο

Σάρου, σημαίνει ότι 223/(19)*235 του κύκλου του Σάρου που αντιστοιχούν σε μια στροφή

του γραναζιού b2, αντιστοιχούν και σε (4*235)/(19*223) στροφές του γραναζιού g1.

Πράγματι, πολλαπλασιάζοντας τις αναλογίες των γραναζιών της ακολουθίας του Σάρου θα

έχουμε:(64/38)*(53/96)*(27/223)*(188/53)*(30/54)=(4*235)/(19*223)

1.3.8 H τελική αναλογία των γραναζιών στην ακολουθία του "Εξελιγμού"

To γρανάζι που κινεί το βραχίονα που δείχνει τον κύκλο του "Εξελιγμού" είναι το i1. Το i1

παίρνει κίνηση από το γρανάζι h2 και η κίνηση μεταδίδεται μέσω της ακολουθίας των

γραναζιών g2 h1 - h2 i1. Εφόσον ένας κύκλος "Εξελιγμού" αποτελείται από 3 κύκλους

"Σάρου" και κάθε κύκλος "Σάρου" ολοκληρώνεται μετά από 4 στροφές του γραναζιού g1, θα

πρέπει ο αριθμός των στροφών του γραναζιού i1 στον ίδιο χρόνο να ισούται με το 1/12 των

στροφών του γραναζιού g1. Πράγματι πολλαπλασιάζοντας τις αναλογίες των γραναζιών της

ακολουθίας του "Εξελιγμού" θα έχουμε: (20/60)*(15/60)=1/12

Page 29: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[29]

ΚΕΦΑΛΑΙΟ 2

ΑΝΑΛΥΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

2.1 Αρχική Ιδέα και στόχος

Η αρχική ιδέα ήταν η κατασκευή ενός εικονικού τρισδιάστατου διαδραστικού μοντέλου του

μηχανισμού, που να βρίσκεται σε λειτουργία, ώστε βλέποντας ο χρήστης τα γρανάζια σε

κίνηση να αντιλαμβάνεται όσον το δυνατόν καλύτερα τις αναλογικές σχέσεις μεταξύ τους

και να αποκωδικοποιεί τις πληροφορίες που ο μηχανισμός μπορεί να δώσει.

Σύμφωνα με έρευνα (Roumeliotis, 2012) το πρώτο animation του μηχανισμού έγινε από

τον Robert Morris το 1982, αλλά τα περισσότερα animations του μηχανισμού αρχίζουν να

εμφανίζονται στο διαδίκτυο από το 1998 οπότε από εκεί και έπειτα παρατηρείται μια

εκθετική αύξηση των ερευνών που βασίζονται πάνω στο μηχανισμό των Αντικυθήρων. Έτσι,

η αρχική σκέψη ήταν η χρήση κάποιου σχεδιαστικού προγράμματος για 3d modeling με το

οποίο θα ξεκινούσε η κατασκευή και στη συνέχεια η ψηφιοποίηση του μοντέλου

στηριζόμενο σε υπάρχοντα μοντέλα, συμβατά με τις τελευταίες έρευνες, ανακαλύψεις,

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

Αντικυθήρων.

Στόχος ήταν το προϊόν να αποτελεί ταυτόχρονα μια πηγή πληροφόρησης για τον απλό

χρήστη αλλά και αντικείμενο μελέτης για τον ερευνητή. Έτσι άρχισε να διαφαίνεται η

ανάγκη δημιουργίας και μιας πολυμεσικής εφαρμογής με υποστηρικτικό υλικό πάνω σε

βασικές αλλά και εξειδικευμένες γνώσεις όσον αφορά το μηχανισμό, με διαδικτυακές

προεκτάσεις, ώστε ο χρήστης-ερευνητής να μπορεί να διαχειρίζεται την πληροφορία σε

συνάρτηση με το κινούμενο μοντέλο και να μπορεί να εξάγει πιο εύκολα συμπεράσματα.

Page 30: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[30]

2.2 Μεθοδολογία

Η ανάπτυξη της εφαρμογής, σε γενικές γραμμές, στηρίχθηκε στην μεθοδολογία Thomas

Reeves με κάποιες τροποποιήσεις – προσθήκες. Η μεθοδολογία Reeves περιλαμβάνει

τέσσερις βασικές λειτουργίες: 1) την ανάλυση, 2) το σχεδιασμό, 3) την παραγωγή και 4) την

αξιολόγηση. Κάθε φάση συνεπάγεται ένα σύνολο συγκεκριμένων δραστηριοτήτων που

εκτελούνται από το σύνολο των μελών μιας ομάδας με στόχο την παραγωγή συγκεκριμένων

προϊόντων. Ο Πίνακας 1 στο ΠΑΡΑΡΤΗΜΑ Δ περιγράφει αναλυτικά τις φάσεις της

μεθοδολογίας Reeves. Η παραπάνω μεθοδολογία αποτελεί μεν μια τυποποιημένη διαδικασία

παραγωγής πολυμέσων, αλλά από την άλλη εστιάζει στη βιομηχανοποίηση της παραγωγής

με παράλληλη εταιρική υποστήριξη που στην περίπτωση αυτή προσαρμόστηκε και

μετασχηματίστηκε κατάλληλα. Τα στάδια που υλοποιήθηκαν περιγράφονται παρακάτω.

2.3 Περιγραφή του δείγματος χρηστών

Πριν από το σημείο εκκίνησης του σχεδιασμού του μοντέλου έπρεπε να γίνει μια έρευνα

χρηστών από την οποία θα έβγαιναν χρήσιμα συμπεράσματα α) όσον αφορά τις προτιμήσεις

για τη μορφή, τη λειτουργία και τη διαδραστικότητα του μοντέλου, β) κατά πόσον

ενημερωμένο είναι το δείγμα των χρηστών για το μηχανισμό των Αντικυθήρων και γ) όσον

αφορά την προσαρμοστικότητα του μοντέλου, το είδος της πλατφόρμας-λειτουργικού

χρήσης και την ισχύ των υπολογιστικών συστημάτων των χρηστών. Έτσι συντάχθηκε ένα

ερωτηματολόγιο 10 συνολικών ερωτήσεων το οποίο παρατίθεται στο ΠΑΡΑΡΤΗΜΑ Α

σελ.43.

Εφόσον σύμφωνα με τον αρχικό στόχο η εφαρμογή θα απευθύνεται σε μια ομάδα

κοινού που εκτείνεται από τον ανημέρωτο χρήστη μέχρι τον ερευνητή, δεν επιλέχθηκε να

γίνει στρωματοποίηση αλλά ούτε και κατηγοριοποίηση του δείγματος των χρηστών, πέραν

της βασικής προϋπόθεσης να διαθέτουν ένα υπολογιστικό σύστημα.

Page 31: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[31]

2.4 Περιγραφή εργαλείων συλλογής των απαντήσεων

Για τη συλλογή όσο το δυνατόν μεγαλύτερου δείγματος έγινε χρήση των φορμών Google και

ο σύνδεσμος που παραπέμπει στο ερωτηματολόγιο κοινοποιήθηκε στο μέσο κοινωνικής

δικτύωσης facebook.

https://docs.google.com/forms/d/1GrDbYxAawAjkc53AUsNO2t9kCP7d_DXDlCJZWUQRq

mk/viewform. Το σύστημα συλλογής των στοιχείων, Google Docs Forms, δίνει τη

δυνατότητα κατασκευής μιας φόρμας υπό μορφή ερωτηματολογίου πολλαπλών επιλογών, ή

πλαισίων ελέγχου, στην περίπτωση που θα χρειαστούν περισσότερες της μιας επιλογών. Ο

σύνδεσμος της φόρμας μπορεί να αποσταλεί σε μια λίστα παραληπτών κάνοντας χρήση των

επαφών ή ακόμα και ομάδων, ενώ μπορεί να κοινοποιηθεί σε μέσα κοινωνικής δικτύωσης.

Τα ερωτηματολόγια όταν συμπληρωθούν υποβάλλονται και οι απαντήσεις καταγράφονται

αυτόματα σε λογιστικά φύλλα (spreadsheets), ενώ υπάρχει η δυνατότητα από το μενού που

διατίθεται να γίνει σύνοψη των απαντήσεων σε στατιστικά διαγράμματα πίττας ή άλλων

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

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

εκείνη τη χρονική στιγμή.

2.5 Αποτελέσματα στατιστικής ανάλυσης

Ερώτηση 1:

Γνωρίζετε τι είναι ο μηχανισμός των Αντικυθήρων?

Ναι γνωρίζω ακριβώςτι είναι 27 66%

Όχι δεν γνωρίζω 1 2%

Το έχω ακουστά αλλάδεν γνωρίζω ακριβώςτι είναι

13 32%

Ερώτηση 2:

Θα σας ενδιέφερε η δημιουργία ενός μοντέλου προσομοίωσης του μηχανισμού ώστε νατον γνωρίσετε καλυτέρα?

Page 32: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[32]

Ναι θα με ενδιέφερε 41 85%

Όχι θα αρκεστώ σε εικόνεςκαι σχέδια του μηχανισμού 5 10%

Όχι δεν με ενδιαφέρεικαθόλου το θέμα 2 4%

Ερώτηση 3:

Στην περίπτωση κατασκευής ενός τέτοιου μοντέλου θα προτιμούσατε να είναι

Δισδιάστατο 1 2%

Τρισδιάστατο 45 98%

Ερώτηση 4:

Επιπλέον χαρακτηριστικά του μοντέλου : (επιλέξτε ένα ή περισσότερα χαρακτηριστικά)

Διαδραστικό 36 47%

Κινούμενο 23 30%

Με μουσική επένδυση 17 22%

Ερώτηση 5:

Στην περίπτωση που το μοντέλο είναι διαδραστικό πως θα προτιμούσατε να γίνει η 3dπλοήγηση στο χώρο του μηχανισμού?

Page 33: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[33]

Με πληκτρολόγιο (keyboard) 1 2%

Με ποντίκι (mouse) 16 36%

Και με τα δυο (Keyboard +mouse) 28 62%

Ερώτηση 6:

Στην περίπτωση κίνησης των γραναζιών του μοντέλου ποια control θα προτιμούσατε ναυπάρχουν (Επιλέξτε 1 ή περισσότερα)

Play 39 33%

Stop - Reset 28 23%

Pause 26 22%

μεταβολέας (slider)ταχύτητας περιστροφής 27 23%

Ερώτηση 7:

Σε ποια ανάλυση προτιμάτε να εμφανίζεται το μοντέλο ?

1024x768 9 19%

1280x720 (720p) 6 13%

1680x1050 8 17%

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

24 51%

Ερώτηση 8:

Για ποια πλατφόρμα υποδοχής προτιμάτε να διανέμεται το μοντέλο?

Page 34: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[34]

Για MIcrosoft Windows 38 68%

Για Mac 5 9%

Για Linux 4 7%

Για Android 6 11%

Για Xbox 360 3 5%

Για Wii 0 0%

Για Blackberry 0 0%

Ερώτηση 9:

Κατηγοριοποιήστε τον επεξεργαστή του συστήματός σας επιλέγοντας μια από τιςπαρακάτω κατηγορίες

Μονοπύρηνος επεξεργαστής(single core) 4 9%

Διπύρηνος επεξεργαστής(dual core) 16 34%

Τριπύρηνος επεξεργαστής ήi3 6 13%

Τετραπύρηνος επεξεργαστής 11 23%

i5 5 11%

Εξαπύρηνος και άνω 5 11%

Ερώτηση 10:

Page 35: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[35]

Κατηγοριοποιήστε την μνήμη της κάρτας γραφικών του συστήματός σας επιλέγονταςμια από τις παρακάτω κατηγορίες

με μνήμη μικρότερη από 512Mb 7 15%

με μνήμη ίση με 512 Mb 12 26%

με μνήμη μεγαλύτερη από512 Mb 28 60%

Από τα παραπάνω αποτελέσματα φάνηκε η προτίμηση των χρηστών για ένα διαδραστικό

τρισδιάστατο μοντέλο και η πλοήγηση να γίνεται με ποντίκι (mouse) και με πληκτρολόγιο

(keyboard) η δε κίνηση του μοντέλου να ελέγχεται από controls (play, pause, stop/reset).

Επίσης φάνηκε ότι ένα αρκετά μεγάλο ποσοστό δεν έχει καλή πληροφόρηση για το

μηχανισμό των Αντικυθήρων. Τέλος η καταγραφή των δυνατοτήτων των υπολογιστικών

τους συστημάτων έδειξε ότι σε μεγάλη πλειονότητα αυτά πληρούν τις προδιαγραφές ώστε να

μπορούν να υποστηρίξουν υψηλή ανάλυση και γραφικά με αυξημένη λεπτομέρεια.

Τα στατιστικά αποτελέσματα καθόρισαν τις προδιαγραφές που θα πρέπει να πληροί

το μοντέλο ενώ έδειξαν την ανάγκη κατασκευής και μιας υποστηρικτικής εφαρμογής

παρουσίασης και πληροφόρησης για το μηχανισμό.

2.6 Τεχνικά στοιχεία συγγραφής και διανομής έργου και καθορισμόςπροδιαγραφών.

Τα κυριότερα προγράμματα για σχεδίαση 3d γραφικών και 3d animations είναι : CINEMA

4D της MAXON , 3ds MAX και MAYA της AUTODESK και BLENDER. Τα παραπάνω

προγράμματα μπορούν να παράγουν video με δυνατότητα κίνησης κάμερας μέσα σε εικονικό

περιβάλλον που έχει δημιουργήσει ο χρήστης, αποτυπώνοντας την πιθανή κίνηση του

μοντέλου καθώς και την τρισδιάστατη του υπόσταση από όλες τις δυνατές οπτικές γωνίες.

Ένα άλλο εργαλείο το οποίο κυρίως χρησιμοποιείται για game development είναι το

πρόγραμμα Unity3d το οποίο μπορεί επίσης να χρησιμοποιηθεί και για παραγωγή 3d

animation δίνοντας παράλληλα την δυνατότητα διάδρασης με τη χρήση κατάλληλων scripts.

Page 36: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[36]

Το συγκεκριμένο πρόγραμμα συνεργάζεται άριστα με το CINEMA 4D και δέχεται μοντέλα

τα οποία έχουν προηγουμένως δημιουργηθεί στο CINEMA και στη συνέχεια έχουν γίνει

export6 στην κατάλληλη μορφή ώστε να αφομοιωθούν από αυτό. Η προηγούμενη εμπειρία σε

αυτά τα 2 προγράμματα και η μεταξύ τους συμβατότητα είχε σαν άμεση συνέπεια την

επιλογή τους ώστε να αποτελέσουν τα εργαλεία παραγωγής ενός διαδραστικού

τρισδιάστατου μοντέλου του μηχανισμού.

Λαμβάνοντας υπόψη τις απαντήσεις του δείγματος των χρηστών παρατηρήθηκε ένα

ποσοστό γύρω στο 32% το οποίο δεν είναι αρκετά ενημερωμένο πάνω στο μηχανισμό. Έτσι

αποφασίστηκε ότι θα έπρεπε να υπάρξει και μια εφαρμογή παρουσίασης και ανάλυσης του

μοντέλου με υποστηρικτικό χαρακτήρα και διαδικτυακές προεκτάσεις ώστε ο χρήστης να

μπορεί να αντλεί ιστορικά στοιχεία ή τις αστρονομικές και μαθηματικές αρχές που

σχετίζονται με τη κατασκευή και τη λειτουργία του. Ένα τέτοιο εργαλείο συγγραφής

(authoring tool) με δυνατότητες web design είναι το Flash Professional της ADOBE.

Η διανομή τέλος της εφαρμογής αποφασίστηκε από την αρχή να γίνει σε standalone

αρχείο με εκτελέσιμη μορφή και για το διαδραστικό μοντέλο και για την υποστηρικτική

εφαρμογή. Με αυτό τον τρόπο αποφεύγονται πιθανά προβλήματα εγκατάστασης λόγω

αυξημένου βαθμού ασφαλείας στο τείχος προστασίας του λειτουργικού συστήματος των

χρηστών.

Λαμβάνοντας υπόψη τα αποτελέσματα του ερωτηματολογίου όσον αφορά τις

προτιμήσεις των χρηστών σε ποια πλατφόρμα να γίνεται η εγκατάσταση της προσομοίωσης

του μοντέλου, αποφασίστηκε να υπάρχουν διανομές (distributions) σε 1) Microsoft Windows

με τη μορφή εκτελέσιμου αρχείου exe 2) Mac με τη μορφή εκτελέσιμου αρχείου app.

Όσον αφορά την υποστηρικτική εφαρμογή η οποία κατασκευάστηκε σε ADOBE

FLASH PROFESSIONAL, αυτή έγινε export σε format τύπου Win Projector που είναι ένα

standalone αρχείο σε εκτελέσιμη μορφή exe με ενσωματωμένο τον flash player ώστε να μη

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

2.7 Σχεδιασμός οθονών

6 Σε μορφή *.fbx τα οποία αρχεία στη συνέχεια τοποθετούνται στο φάκελο assets του Unity

Page 37: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[37]

Εικόνα 2.8.1 Εικόνα της αρχικής οθόνης (intro) της υποστηρικτικής εφαρμογής (Αρχικό γραφικόπεριβάλλον υποστηρικτικής εφαρμογής κατασκευασμένης σε flash Εικ.: του συγγραφέα)

Στο γραφικό περιβάλλον της υποστηρικτικής εφαρμογής έγινε προσπάθεια να αποδοθεί το

χρώμα της εποχής εκείνης που πιθανολογείται ότι κατασκευάστηκε ο μηχανισμός με

κατάλληλη χρήση controls, υφών (textures) και υλικών (materials) και με βασικό γνώμονα

σχεδίασης τη λιτότητα και την απλότητα του χειρισμού. (βλ. Εικόνα 2.8.1) Έτσι η αρχική

ιδέα ήταν τα κείμενα, οι εικόνες, τα animation-video να προβάλλονται πάνω σε έναν πάπυρο

ο οποίος να περιστρέφεται μέσω γραναζιών συμβαδίζοντας με το πνεύμα του μηχανισμού

οπότε με scroll down ή με scroll up ο χρήστης να μπορεί να ενημερώνεται χωρίς να «φεύγει»

από το αρχικό περιβάλλον. Σε αυτή τη διεπαφή χρήστη τέθηκε σαν στόχος να δωθούν στα

κείμενα διαδραστικές ιδιότητες βάζοντας όπου απαιτούνταν υπερσυνδέσεις (links) οι οποίες

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

το φως ενός κεριού (βλ. εικόνα 2.8.2).

Page 38: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[38]

Εικόνα 2.8.2 Εικόνα του αρχικού μενού της υποστηρικτικής εφαρμογής (Αρχικό μενού της υποστηρικτικήςεφαρμογής κατασκευασμένης σε flash. Εικ.: του συγγραφέα)

2.8 Η ροή της πληροφορίας – Flowchart

Από την αρχή αποφασίστηκε ότι το τρισδιάστατο διαδραστικό μοντέλο καλό θα ήταν να

υπάρχει σαν επιλογή στο αρχικό μενού (βλ. Εικόνα 2.8.1) της εφαρμογής αλλά και να

ενσωματωθεί στο μενού της υποστηρικτικής εφαρμογής σαν ιστοσελίδα όπου θα μπορεί να

παρατηρήσει ο χρήστης το μηχανισμό μέσα σε ένα τρισδιάστατο περιβάλλον, οδηγώντας την

κάμερα κατάλληλα με πληκτρολόγιο ή ποντίκι (mouse) ή με συνδυασμό και των δύο. Το

γραφικό περιβάλλον του χρήστη στην υποστηρικτική εφαρμογή, θα μπορούσε να αποτελείται

από ένα κεντρικό μενού όπου η πλοήγηση του χρήστη θα γίνεται με μη γραμμικό τρόπο στις

διάφορες επιλογές από τις οποίες θα παίρνει πληροφορίες όπως: α) Ιστορικά στοιχεία β)

Δομή του μηχανισμού γ) Λειτουργία του μηχανισμού. Επίσης αποφασίστηκε μια από τις

επιλογές να τον οδηγεί σε μια δισδιάστατη παρουσίαση των τριών καντράν του μηχανισμού

Page 39: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[39]

σε κάτοψη, όπου να μπορεί να παρατηρεί καλύτερα τη λειτουργία του μηχανισμού και να

κάνει τους κατάλληλους υπολογισμούς.

Ακολουθήθηκε η μέθοδος «top down» στην αρχιτεκτονική δόμησης της πληροφορίας

και επιλέχθηκε η ιεραρχική δομή ή δενδροειδής δομή στην πλοήγηση (hieratical structure or

tree structure) που είναι οικεία για το μέσο χρήστη. «Στο μοντέλο αυτό υπάρχει ένας αρχικός

κόμβος (αρχικό μενού) από όπου ξεκινά η πλοήγηση και στη συνέχεια επεκτείνεται σε διάφορα

επίπεδα βάθους μέχρι να φτάσει σε κάποιους τελικούς κόμβους. Ο αρχικός κόμβος (ρίζα) του

δέντρου αντιστοιχεί στην κεντρική οθόνη της εφαρμογής, ενώ οι τελικοί κόμβοι (φύλλα) είναι

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

αντιπροσωπεύουν κατηγορίες ενώ λειτουργούν και ως κομβικά σημεία για την πλοήγηση.

Συνήθως κόμβοι που βρίσκονται στο ίδιο επίπεδο παρουσιάζουν πληροφορία με αντίστοιχο

βαθμό λεπτομέρειας». (Φωτόπουλος, Φαλιέρης, Νικολόπουλος & Νικολόπουλος,2008).

Page 40: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[40]

Εικόνα 2.9.1 Το flowchart της πλοήγησης του χρήστη

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

ακολουθήθηκε. Όπως φαίνεται από το παραπάνω διάγραμμα η δόμηση της πληροφορίας

γίνεται σε 2 επίπεδα. Στο πρώτο επίπεδο ο χρήστης έχει 2 επιλογές : 1) Να πλοηγηθεί σε ένα

τρισδιάστατο διαδραστικό περιβάλλον παρατηρώντας το εικονικό μοντέλο του μηχανισμού

επιλέγοντας «ΜΕΛΕΤΗ ΤΟΥ ΜΗΧΑΝΙΣΜΟΥ ΣΕ FLASH». 2) Να γνωρίσει το μηχανισμό

και να κατανοήσει τη λειτουργία του επιλέγοντας «3D ΜΟΝΤΕΛΟ ΤΟΥ ΜΗΧΑΝΙΣΜΟΥ

ΣΕ UITY». Στο δεύτερο επίπεδο ο χρήστης βρίσκεται στο αρχικό μενού της παρουσίασης

του μηχανισμού όπου του δίνεται η δυνατότητα να πλοηγηθεί με ένα μη γραμμικό τρόπο

μέσω 8 επιλογών. Έτσι επιλέγοντας :

Ο ΜΗΧΑΝΙΣΜΟΣΤΩΝ ΑΝΤΙΚΥΘΗΡΩΝ

ΜΕΛΕΤΗ ΤΟΥΜΗΧΑΝΙΣΜΟΥ ΣΕFLASH

TI EINAI OΜΗΧΑΝΙΣΜΟΣ ΤΩΝΑΝΤΙΛΥΘΗΡΩΝ

ΗΜΟΝΤΕΛΟΠΟΙΗΣΗ

ΤΑ ΓΡΑΝΑΖΙΑ

ΟΙ ΑΝΑΛΟΓΙΕΣ, ΗΚΙΝΗΣΗ ΚΑΙ ΟΙΕΚΛΕΙΨΕΙΣ

ΜΗΧΑΝΙΣΜΟΣ ΚΑΙΥΠΟΛΟΓΙΣΜΟΙ

Ο ΜΗΧΑΝΙΣΜΟΣ ΣΕ3D

ΑΒΕΒΑΙΟΤΗΤΕΣ ΚΑΙΛΥΣΕΙΣ

ΒΙΒΛΙΟΓΡΑΦΙΚΕΣΑΝΑΦΟΡΕΣ

3D ΜΟΝΤΕΛΟ ΤΟΥΜΗΧΑΣΝΙΣΜΟΥ ΣΕUNITY

Page 41: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[41]

Α) «ΤΙ ΕΙΝΑΙ Ο ΜΗΧΑΝΙΣΜΟΣ ΤΩΝ ΑΝΤΙΚΥΘΗΡΩΝ» όπου ο χρήστης μπορεί

να ενημερωθεί για την πορεία των ερευνών και των συμπερασμάτων πάνω στα βασικά

ερωτήματα όπως α) τι είναι ο μηχανισμός των Αντικυθήρων, β) γιατί κατασκευάστηκε και

που χρησιμοποιήθηκε, γ) πως λειτουργεί και τι μπορεί να μας δείξει, μέσα από ένα σύντομο

χρονολόγιο, από τη στιγμή της ανακάλυψης του μέχρι σήμερα.

Β) «Η ΜΟΝΤΕΛΟΠΟΙΗΣΗ» όπου ο χρήστης μπορεί να γνωρίσει τις πιο σημαντικές

προσπάθειες μοντελοποίησης του μηχανισμού. Σε αυτό το κεφάλαιο αναφέρονται μηχανικά

μοντέλα του μηχανισμού τα οποία και κατασκευάστηκαν κατά καιρούς και απετέλεσαν

ταυτόχρονα πειραματικές αποδείξεις των δυνατοτήτων του μηχανισμού αλλά και

συνέβαλλαν στη διόρθωση των αρχικών απόψεων και συμπερασμάτων.

Γ) «ΤΑ ΓΡΑΝΑΖΙΑ» όπου ο χρήστης μπορεί να ανακαλύψει τα 35 από τα συνολικά

γρανάζια του μηχανισμού για τα οποία είναι γνωστά η ακτίνα τους, ο αριθμός των δοντιών

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

έγινε από την εταιρία Volume Graphics GmbH με χρήση του προγράμματος VGStudio Max.

Στο κεφάλαιο αυτό τα γρανάζια χωρίζονται σε ακολουθίες (ομάδες) (trains) ανάλογα με την

τελική κίνηση που συνεργαζόμενα αποδίδουν. Π.χ η ακολουθία του φεγγαριού (moon train)

περιλαμβάνει 11 γρανάζια τα οποία συμπλεκόμενα κατάλληλα μεταξύ τους προσομοιώνουν

τη κίνηση της Σελήνης η οποία δείχνεται με τον αντίστοιχο δείκτη στο εμπρόσθιο καντράν

του μηχανισμού. Κατά την ανάλυση, ακολουθίες οι οποίες περιλαμβάνουν πολλά γρανάζια,

χωρίζονται σε υποομάδες για την πιο εύκολη μελέτη τους.

Δ) «ΟΙ ΑΝΑΛΟΓΙΕΣ Η ΚΙΝΗΣΗ ΚΑΙ ΟΙ ΕΚΛΕΙΨΕΙΣ» όπου ο χρήστης εμβαθύνει

ακόμα περισσότερο στα μυστικά του μηχανισμού. Στο κεφάλαιο αυτό γίνεται μια ανάλυση

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

ποιο λόγο τα γρανάζια έχουν το καθένα το συγκεκριμένο αριθμό δοντιών και για ποιο λόγο

συμπλέκονται μεταξύ τους με συγκεκριμένη σειρά ώστε να επιτύχουν το κατάλληλο τελικό

αποτέλεσμα. Όλα είναι θέμα αναλογιών οι οποίες προκύπτουν από τη διαίρεση του αριθμού

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

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

Page 42: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[42]

αναλογίες των δοντιών τους πολλαπλασιαζόμενες δίνουν ένα αριθμό που φαίνεται να

συμπίπτει με την αναλογία των μετρημένων αστρονομικών χρόνων ώστε να αποδώσουν με

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

του Ήλιου και της Σελήνης στο μπροστινό καντράν αλλά και οι κύκλοι του «Μέτωνα», του

«Καλλίπου», του «Σάρου» και του «Εξελιγμού» στα οπίσθια καντράν, ενώ εξηγείται η

χρησιμότητα τους για την εποχή εκείνη και τη σημερινή.

Ε) «ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ» όπου ο χρήστης, αφού προηγουμένως

έχει καταρτιστεί σε θεωρητικό επίπεδο πάνω στη λειτουργία του μηχανισμού, έχει την

ευκαιρία να πειραματιστεί με το μηχανισμό και να κάνει διάφορους υπολογισμούς, όπως την

εύρεση της ημερομηνίας μιας πανσελήνου ή μιας νέας Σελήνης που θα γίνει στο μέλλον ή να

υπολογίσει την επόμενη έκλειψη Σελήνης ή Ηλίου, περιμένοντας να συντελεστεί ένα κύκλος

Εξελιγμού. Όλα αυτά γίνονται με τη βοήθεια μιας δισδιάστατης απεικόνισης των 3 βασικών

καντράν του μηχανισμού.

Στ) «Ο ΜΗΧΑΝΙΣΜΟΣ ΣΕ 3D» όπου ο χρήστης μπορεί να μεταφερθεί σε ένα

εικονικό τρισδιάστατο περιβάλλον κοντά στη περιοχή των Αντικυθήρων όπου μπορεί να

παρατηρήσει τον μηχανισμό από όλες τις δυνατές γωνίες, να περιηγηθεί στο εσωτερικό του,

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

γραναζιών που παίρνουν μέρος στην κίνηση του μηχανισμού και φυσικά να τον θέσει σε

κίνηση καθορίζοντας ακόμα και την ταχύτητα περιστροφής της μανιβέλας ενώ ταυτόχρονα

παρατηρεί τους δείκτες όλων των καντράν καθώς αυτοί διατρέχουν τις ενδείξεις.

Ζ) «ΑΒΕΒΑΙΟΤΗΤΕΣ ΚΑΙ ΛΥΣΕΙΣ» όπου ο χρήστης μπορεί να ενημερωθεί για τις

αβεβαιότητες που προκύπτουν από τις εικασίες που έχουν διατυπωθεί κατά καιρούς από

ερευνητές όσον αφορά την κατασκευή, τη λειτουργία και τη χρήση του μηχανισμού. Στην

κατασκευή του εικονικού μοντέλου έγινε προσπάθεια να υιοθετηθούν θεωρήσεις που

στηρίζονται στην όσο το δυνατόν καλή οπτική κατάσταση όσων από τα κομμάτια

(fragments) του μηχανισμού είχαν τη λιγότερη φθορά λόγω των δύσκολων συνθηκών στις

οποίες εκτέθηκαν. Παρόλα αυτά επειδή η εργασία έχει καθαρά ερευνητικό χαρακτήρα έγιναν

Page 43: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[43]

υποθέσεις οι οποίες όμως είναι δυνατόν στο μέλλον να αποτελέσουν αντικείμενο μελέτης και

ίσως να αναθεωρηθούν και να βελτιωθούν.

Η) «ΒΙΒΛΙΟΓΡΑΦΙΚΕΣ ΑΝΑΦΟΡΕΣ» όπου ο χρήστης μπορεί να ενημερωθεί για τις

βιβλιογραφικές πηγές που χρησιμοποιήθηκαν, να ανατρέξει στην θεματολογία που έχει

αναπτυχθεί γύρω από το μηχανισμό των Αντικυθήρων και να εμβαθύνει περαιτέρω για να

κατανοήσει τη λειτουργία του

2.9 Σχεδιασμός storyboard του εικονικού διαδραστικού μοντέλου του μηχανισμού

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

Από τις απαντήσεις των χρηστών παρατηρήθηκε ένα ποσοστό γύρω στο 97% το οποίο θα

προτιμούσε το μοντέλο να είναι τρισδιάστατο ενώ το ποσοστό των χρηστών που προτιμούσε

να είναι διαδραστικό έφθασε το 99%.

Στην παραπάνω Εικόνα 2.10.1 δείχνεται η αρχική ιδέα (concept idea) όσον αφορά το

τρισδιάστατο εικονικό περιβάλλον αφενός και το διαδραστικό μοντέλο του μηχανισμού

Page 44: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[44]

αφετέρου. Το περιβάλλον επιλέχθηκε από τη θαλάσσια περιοχή κοντά στα Αντικύθηρα στην

οποία ανακαλύφθηκε ο μηχανισμός μέσα σε ναυάγιο αρχαίου Ρωμαϊκού πλοίου.

ΚΕΦΑΛΑΙΟ 3

ΔΗΜΙΟΥΡΓΙΑ ΠΡΩΤΟΤΥΠΩΝ ΜΕΣΩ ADOBE FLASH CS6

3.1 Μορφοποίηση της αρχικής οθόνης (αρχικό μενού)

Η υποστηρικτική εφαρμογή σχεδιάστηκε και υλοποιήθηκε σε ADOBE FLASH

PROFFESIONAL έκδοσης CS6. Στην αρχική οθόνη η οποία αποτελεί και το γραφικό

περιβάλλον χειρισμού της εφαρμογής έγινε προσπάθεια να αποτυπωθεί το χρώμα της εποχής

εκείνης. Στη σκηνή (stage) του αρχείου antikythera_allres.fla στο flash υπάρχει ένα στατικό

περιβάλλον το οποίο παραμένει σταθερό καθ’ όλη την πλοήγηση του χρήση μέσα από το

κεντρικό μενού. Στο background του περιβάλλοντος αυτού κυριαρχεί το ξύλο σαν υφή υπό

το φως ενός κεριού. Στην περίπτωση του κεριού χρησιμοποιήθηκε ένα script δημιουργίας του

τρεμοπαίγματος της φλόγας. Το συγκεκριμένο script σε as3 έγινε download από τη

διεύθυνση (http://www.scribegriff.com/studios/index.php?post/2011/08/17/The-Peter-Joel-

Candle-Flame-E

Page 45: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[45]

Εικόνα 3.1.1 Αρχείο εικόναςτου κεριού πουχρησιμοποιείται στηνυποστηρικτική εφαρμογή(Κερί και βάσηκατασκευασμένα σεCINEMA 4d. Εικ,: τουσυγγραφέα)

Εικόνα 3.1.2 Εικόνα τηςφλόγας του κεριού (Ηφλόγα του κεριού ηοποία μετά απόμεταβλητό glow πουεφαρμόζεται μέσωκώδικα μοιάζει νατρεμοπαίζει. Εικ.: τουσυγγραφέα).

Εικόνα 3.1.3 Εικόνατου μοχλού κίνησηςτου παπύρου.(Εικόνα του μοχλούκίνησης του παπύρουσε περιβάλλονσχεδίασης. Εικ.: τουσυγγραφέα)

ffect-in-AS3 ). Το συγκεκριμένο script προσαρμόστηκε στο συνολικό κώδικα του scene1 (βλ.

ΠΑΡΑΡΤΗΜΑ Β από γραμμή 80 έως 122) και χρησιμοποιήθηκε το κατάλληλο movieclip

(βλ. εικόνα 3.1.2) ώστε να δοθεί η εντύπωση της φλόγας του κεριού που τρεμοπαίζει.

Επίσης σε CINEMA 4d φτιάχτηκε το στέλεχος του κεριού που στη συνέχεια έγινε export και

import στο αρχείο antikythera_allres.fla με τη μορφή swf και στη συνέχεια μετατράπηκε σε

movieclip (βλ. εικόνα 3.1.1)

Το μενού πλοήγησης αποτελεί ένας πάπυρος ο οποίος κινείται με τη βοήθεια 3

γραναζιών. Στο πάπυρο αυτόν προβάλλονται όλα τα κείμενα, οι εικόνες, τα video και με την

βοήθεια ενός μοχλού ο οποίος όταν μετακινείται από το χρήστη προς τα κάτω μετακινεί τον

πάπυρο προς τα πάνω δίνοντας την εντύπωση scroll up ή scroll down αντίστοιχα. Η

ψευδαίσθηση της κίνησης του μοχλού γίνεται ως εξής: Στην πραγματικότητα υπάρχουν 3

μοχλοί τοποθετημένοι στην ίδια θέση ένας με κλίση προς τα πάνω (lever_up), ένας άλλος με

κλίση προς τα κάτω(lever_down) και ένας κάθετος στο stage (lever) (βλ. Εικόνα 3.1.3). Στην

Page 46: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[46]

αρχική οθόνη ο χρήστης βλέπει μόνο τον κεντρικό μοχλό. Συγκεκριμένα υπάρχει ένα

movieclip (vir_lever) με alpha channel 0% ώστε να μην φαίνεται και είναι τοποθετημένο

ακριβώς στην ίδια θέση με τον κεντρικό μοχλό και με ίδιο μέγεθος με αυτόν. Οπότε όταν ο

χρήστης σύρει τον κεντρικό μοχλό τότε στην πραγματικότητα σύρει τον εικονικό μοχλό

vir_lever του οποίου η κίνηση περιορίζεται μόνο κατά τον άξονα y. Οπότε όταν ο εικονικός

μοχλός κινείται προς τα κάτω τότε lever_down.visible=true ενώ lever_up.visible=false και

lever.visible=false δηλαδή φαίνεται μόνο ο μοχλός με κλίση προς τα κάτω ενώ οι δυο άλλοι

δεν φαίνονται και τα αντίστοιχα γίνονται όταν ο κεντρικός μοχλός κινείται προς τα πάνω. Ο

κώδικας που αντιστοιχεί σε αυτή τη διαδικασία απεικονίζεται στο ΠΑΡΑΡΤΗΜΑ Β από

γραμμή 142 έως γραμμή 206. Όσον αφορά την κίνηση των 3 συμπλεκομένων γραναζιών

αυτή γίνεται μόνον όταν ο μοχλός κινείται προς τα πάνω ή προς τα κάτω και η περιστροφή

τους ελέγχεται μέσω της μεθόδου rotation (βλ. ΠΑΡΑΡΤΗΜΑ Β γραμμή 207 έως 209).

Κατά την περιστροφή τους τα γρανάζια παρασύρουν μέσω σχοινιών σε περιστροφή τον

πάπυρο. Η κίνηση του παπύρου προς τα πάνω ή προς τα κάτω γίνεται με τη συνεχή αλλαγή

της μεταβλητής y του movieclip που δείχνει τον πάπυρο του οποίου το ύψος (height) είναι

αρκετά μεγάλο. Η τοποθέτηση του όμως σε χαμηλότερο επίπεδο (layer) έχει σαν αποτέλεσμα

να φαίνεται μόνο το τμήμα που βρίσκεται μεταξύ των 2 περιστρεφόμενων κυλίνδρων

δημιουργώντας την ψευδαίσθηση του συνεχούς τυλίγματος (βλ. Εικόνα 3.1.4). Οι

κυλινδρικές βάσεις του παπύρου είναι δυο instances από δυο διαφορετικές κλάσεις movie

clips τα οποία έχουν ενσωματωμένη την κατάλληλη σχεδιοκίνηση (animation) μέσω της

επιλογής motion tween. Στη μια κλάση οι κυλινδρικές βάσεις περιστρέφονται δεξιόστροφα

και στην άλλη αριστερόστροφα. Στο stage υπάρχουν οι βάσεις του παπύρου που

περιστρέφονται δεξιόστροφα, οι βάσεις που περιστρέφονται αριστερόστροφα αλλά και οι

βάσεις που δεν περιστρέφονται. Στην περίπτωση που ο πάπυρος ανέρχεται εμφανίζονται οι

βάσεις οι οποίες περιστρέφονται αριστερόστροφα με visible=true, ενώ οι στατικές και οι

δεξιόστροφες αποκρύπτονται με visible=false και αντίστοιχα γίνονται όταν ο πάπυρος

κατέρχεται. Η κίνηση του παπύρου πρέπει να περιορίζεται μεταξύ 2 ορίων διότι όταν

τυλίγεται στον ένα κύλινδρο ξετυλίγεται από τον άλλο και το ανάποδο. Αυτό επετεύχθη

βάζοντας πάνω στο movieclip που παριστάνει τον πάπυρο 2 γραμμές μια στην αρχή

(start_menu) και μια στο τέλος (end_menu). Όταν τα όρια ακουμπούν πάνω στους

περιστρεφόμενους κυλίνδρους τότε με χρήση της κατάλληλης μεθόδου hitTestObject της as3

Page 47: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[47]

σταματά η κίνηση των γραναζιών. Επίσης έχουν προστεθεί και 2 επί πλέον όρια start_red και

end_red ώστε σε περίπτωση που ξεπεραστούν τα προηγούμενα start_menu και end_menu να

γίνεται επαναφορά (reset) στο αρχικό μενού (βλ. αριθμημένη γραμμή 291 έως γραμμή 324

στο ΠΑΡΑΡΤΗΜΑ Β)

Εικόνα 3.1.4 Εικόνα από το υπό-μενού ΜΟΝΤΕΛΟΠΟΗΣΗ (Το γραφικόπεριβάλλον της επιλογής ΜΟΝΤΕΛΟΠΟΙΗΣΗ κατασκευασμένο σε Flash. Εικ.:του συγγραφέα)

Όταν ο χρήστης κάνει κλικ σε μια επιλογή του κεντρικού μενού, τοποθετείται σε ένα επίπεδο

(layer) πάνω από το αρχικό μενού ένα άλλο κομμάτι παπύρου με τη χρήση της μεθόδου

(addChild method) της as3. Στο καινούργιο αυτό movieclip που έχει σαν background το

πάπυρο έχουν τοποθετηθεί τα κείμενα με χρήση του Text tool ενώ οι εικόνες έχουν

επικολληθεί πάνω στον πάπυρο (βλ. ΠΑΡΑΡΤΗΜΑ Β γραμμή εντολής 339 έως 349). Στο

κάτω μέρος της αρχικής σκηνής (scene), που αποτελεί το στατικό περιβάλλον, υπάρχει ένα

βέλος με την ονομασία «Μενού» το οποίο λειτουργεί σαν κουμπί επιστροφής και είναι και

αυτό ένα movieclip (βλ. Εικόνα 3.1.5). Όταν ο χρήστης το επιλέξει, καταργεί το movieclip

που βρίσκεται στο προσκήνιο, δηλαδή ένα layer πιο πάνω από το αρχικό μενού, με τη χρήση

της μεθόδου (removeChild method) της as3 οπότε με αυτό τον τρόπο μεταβαίνει ένα επίπεδο

πιο κάτω δηλαδή στο αρχικό μενού. Έτσι η επιστροφή στο αρχικό μενού γίνεται με αυτό τον

τρόπο (βλ. ΠΑΡΑΡΤΗΜΑ Β γραμμή εντολών 357 έως 367)

Page 48: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[48]

Εικόνα 3.1.5 Κουμπί επιστροφής στο αρχικό μενούσχεδιασμένο σε flash. (Εικ.: του συγγραφέα).

3.2 Η επιλογή «ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ»

Επιλέγοντας από το μενού «ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ» ο χρήστης

ενεργοποιεί το movieclip SELECT3 το οποίο εισάγει στο σκηνικό ένα ανάπτυγμα των 2

όψεων, δηλαδή της εμπρόσθιας και της οπίσθιας του μηχανισμού, σε 2 διαστάσεις υπό

μορφή αρχείου swf. Το συγκεκριμένο αρχείο το οποίο προστίθεται στο stage με τη μέθοδο

addChild της as3 αποτελεί μια επιπλέον εφαρμογή που σαν στόχο έχει να βοηθήσει το

χρήστη να κατανοήσει τη λειτουργία του μηχανισμού και να κάνει διάφορους υπολογισμούς

όπως είναι: α) ο προσδιορισμός των φάσεων «νέας Σελήνης» και «πλήρους Σελήνης», β) η

παρατήρηση της εξέλιξης όλων των κύκλων που μας δείχνει ο μηχανισμός και γ) ο

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

στο ΠΑΡΑΡΤΗΜΑ Β από γραμμή 403 έως 480 προστίθεται ένα νέο γραφικό περιβάλλον

οπότε κάποια κοντρόλ που δεν είναι απαραίτητα εξαφανίζονται με αλλαγή της αριθμητικής

τάξης τους στην ιεραρχική σειρά εμφανίσεως τους ( display list).

Μετά την ολοκλήρωση του τρισδιάστατου μοντέλου του μηχανισμού στο CINEMA

4d όπως θα περιγραφεί παρακάτω έγινε export των κατόψεων του εμπρόσθιου και των 2

οπισθίων καντράν σε αρχεία swf τα οποία εισήχθηκαν στο stage ενός νέου αρχείου fla.

Page 49: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[49]

Εικόνα 3.1.6 Δισδιάστατο ανάπτυγμα στο οποίο εικονίζονται τα καντράν τουμηχανισμού.(Το γραφικό περιβάλλον της επιλογής ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙκατασκευασμένο σε Flash. Εικ.: του συγγραφέα)

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

επένδυση ξύλου και κοντρόλ σε μορφή μοχλών, ο χρήστης βρίσκεται σε ένα οικείο

περιβάλλον όπου μπορεί να κάνει κάποιους υπολογισμούς ώστε να κατανοήσει καλύτερα τη

λειτουργία και τις δυνατότητες του μηχανισμού (βλ. Εικόνα 3.1.6) . Ο Ήλιος παριστάνεται

από μια κίτρινη σφαίρα προσαρμοσμένη στο δείκτη του Ήλιου (sun pointer) και η Σελήνη

παριστάνεται από μια σφαίρα προσαρμοσμένη κατάλληλα πάνω στον αντίστοιχο δείκτη

(moon pointer) ώστε εκτός της περιστροφής της να δείχνει και τις φάσεις της Σελήνης. Η

σταδιακή εξέλιξη των φάσεων της Σελήνης γίνεται ως εξής: Μπροστά από το λευκό κύκλο

που παριστάνει τη Σελήνη στο δείκτη της Σελήνης διέρχονται εναλλάξ τρεις μαύροι κύκλοι

οι οποίοι βρίσκονται στις κορυφές ενός ισόπλευρου τριγώνου το οποίο περιστρέφεται γύρω

από το κέντρο του ενώ ταυτόχρονα μετέχει της κίνησης του δείκτη της Σελήνης. Με την

τεχνική mask που διαθέτει η εφαρμογή Adobe Flash CS6 αποκρύπτονται οι δύο από τους

τρεις κύκλους και εμφανίζεται μόνο αυτός που περνά κάτω από τον πλήρη λευκό κύκλο.

Έτσι με επιλογή της κατάλληλης συχνότητας περιστροφής του ισόπλευρου τριγώνου

Page 50: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[50]

επιτυγχάνεται η εναλλαγή της νέας με την πλήρη Σελήνη. Συγκεκριμένα η εντολή που

προσδιορίζει τη συχνότητα περιστροφής είναι :

this.rotation+=12.36853123276787*mygrandpa.saros.varia.speedrotation/3 όπου saros.varia

είναι ένα κενό movie clip και η μεταβλητή speedrotation καθορίζει την γωνιακή ταχύτητα

περιστροφής του Ήλιου. Ο συντελεστής 12.36853123276787 προκύπτει από τη διαίρεση

365,25/29,53058799999999 όπου 29,53058799999999 και είναι η διάρκεια σε μέρες του

συνοδικού μήνα, ενώ η διαίρεση με το 3 οφείλεται στην ύπαρξη των 3 κύκλων στις κορυφές

του ισοπλεύρου τριγώνου.

Στα δυο οπίσθια καντράν του μηχανισμού που βρίσκονται στο ίδιο επίπεδο και

παριστάνουν τους 5 κύκλους υπάρχουν δείκτες οι οποίοι φέρουν κόκκινες κουκίδες (pins) οι

οποίες κατά την περιστροφή κινούνται κατά μήκος των δεικτών, ενώ ταυτόχρονα εκτελούν

σπειροειδή τροχιά ακολουθώντας τις σπείρες που ορίζουν τα 2 καντράν και δείχνουν την

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

πίνακας ο οποίος ενημερώνεται σε πραγματικό χρόνο και μας δείχνει το έτος για τους 5

κύκλους , την τρέχουσα ημερομηνία και τις φάσεις της Σελήνης. Τέλος, με τη βοήθεια 2

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

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

ημερολόγιο7 να είναι συγχρονισμένο με το χρησιμοποιούμενο Ιουλιανό, ενώ ένας ακόμη

οριζόντιος μεταβολέας μπορεί να θέσει σε λειτουργία τον μηχανισμό ή να τον «παγώσει» ή

να τον κινήσει βηματικά.

Αρχικά ο χρήστης μπορεί να ορίσει μια νέα ημερομηνία εκκίνησης ή να αφήσει την

τρέχουσα ημερομηνία (βλ. Εικόνα 3.1.7)

7<http://www.infoplease.com/calendar/egyptian.html>

<http://ancienthistory.about.com/od/egyptperiods/ss/022208EgyptPer_9.htm>

<http://aegyptologie.online-resourcen.de/Ptolemaic_Kings>

Page 51: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[51]

Εικόνα 3.1.7 Επιλογή ημερομηνίας για να γίνουν οιυπολογισμοί. (Στιγμιότυπο λειτουργίας του μηχανισμού. Εικ.:του συγγραφέα)

Στη συνέχεια μετακινεί τον μοχλό οριζόντια στη θέση «Ξεκίνα». Ο μηχανισμός τότε τίθεται

σε λειτουργία και μας δείχνει τις εξής κινήσεις:

α) Την κίνηση του Ήλιου μέσα στο ζωδιακό κύκλο. β) Την κίνηση της Σελήνης μέσα στο

ζωδιακό κύκλο. Στην πρώτη στήλη του πίνακα, που χρησιμεύει και σαν μενού, υπάρχουν 2

κουτιά επιλογής (check boxes) , ένα για την επιλογή της ημερομηνίας εκκίνησης και ένα για

την ημερομηνία μετάβασης. Επιλέγοντας ένα από τα κουτιά επιλογής εμφανίζεται επιλογέας

ημερομηνίας (date picker/chooser as3 component) που δίνει δυνατότητα στο χρήστη να

επιλέξει μια οποιαδήποτε ημερομηνία. Στη περίπτωση της επιλογής ημερομηνίας εκκίνησης

ο μηχανισμός ξεκινά από αυτή την ημερομηνία ενώ στην περίπτωση της ημερομηνίας

μετάβασης ο χρήστης μπορεί να μεταβεί σε μια μελλοντική ημερομηνία. Η επιλογή αυτή

χρησιμεύει όταν ο χρήστης θέλει να παρατηρήσει το αποτέλεσμα στο τελείωμα ενός κύκλου

χωρίς να χρειάζεται να περιμένει. Έτσι για παράδειγμα, μπορεί να θέσει σαν ημερομηνία

εκκίνησης μια υπαρκτή ημερομηνία έκλειψης για ένα συγκεκριμένο τόπο και να υπολογίσει

την επόμενη ημερομηνία έκλειψης στον ίδιο τόπο μετά από κύκλο Εξελιγμού δηλ περίπου

μετά από 54 χρόνια. Επίσης μπορεί να υπολογίσει ημερομηνίες φάσεων Σελήνης

παρατηρώντας τη σχετική θέση των 2 δεικτών (του Ήλιου και της Σελήνης) του εμπρόσθιου

καντράν. Συγκεκριμένα λαμβάνοντας υπόψη ότι στο κέντρο του καντράν βρίσκεται ο γήινος

παρατηρητής, για να έχουμε πλήρη Σελήνη πρέπει να έχουμε ευθυγράμμιση με διάταξη

Σελήνη – Γη – Ήλιος ή Ήλιος – Γη – Σελήνη ενώ για να έχουμε νέα Σελήνη πρέπει να

έχουμε ευθυγράμμιση με διάταξη Γη – Σελήνη – Γη. ή Ήλιος – Σελήνη –Ήλιου. Ο χρήστης

Page 52: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[52]

μπορεί να πετύχει εύκολα μια από τις παραπάνω συστοιχίες κάνοντας χρήση της βηματικής

κίνησης και να υπολογίσει μια ημερομηνία πλήρους ή νέας Σελήνης

Όλα τα παραπάνω επιτυγχάνονται μέσω του κώδικα σε as3 που δείχνεται στο αρχείο

moon_phases_5_10.fla, όσον αφορά το scene1 από την αριθμημένη γραμμή 481 μέχρι τη

γραμμή 811, όσον αφορά τη κίνηση του saros pointer από την αριθμημένη γραμμή 812 έως

γραμμή 854 και όσον αφορά τη σύνθετη κίνηση του saros pointer - follower πάνω στο Saros

pointer και κατά μήκος της σπειροειδούς τροχιάς του καντράν του Saros από την αριθμημένη

γραμμή 855 μέχρι τη γραμμή 876 στο ΠΑΡΑΡΤΗΜΑ Β

Με παρόμοιο τρόπο γίνεται η κωδικοποίηση για τη κίνηση του Meton pointer και

Saros pointer - follower όπως και για την κίνηση των Callipos pointer και Exeligmos pointer

αλλά και για το Olympiad pointer. Για την κίνηση όλων των κινουμένων μερών της

εφαρμογής αυτής χρησιμοποιήθηκαν οι αναλογίες που περιγράφηκαν στη θεωρητική μελέτη

του μηχανισμού. Ουσιαστικά δίνεται κίνηση στο sun (sun pointer) και στη συνέχεια με τις

κατάλληλες αναλογίες κινούνται οι υπόλοιποι δείκτες δηλαδή ο δείκτης της Σελήνης (moon

pointer), ο δείκτης του Μετωνικού κύκλου (meton pointer), ο δείκτης του κύκλου του Σάρου

(saros poiter), o δείκτης του Καλλιπικού κύκλου (Callipos pointer), ο δείκτης του κύκλου του

Εξελιγμού (Exeligmos pointer) και ο δείκτης του κύκλου των Ολυμπιάδων (Olympiad

pointer)

Page 53: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[53]

3.3 Τα γρανάζια K1,K2 και η θεωρία του Ίππαρχου

Ανάμεσα στα γρανάζια του μηχανισμού υπάρχουν δυο γνωστά ως Κ1 και Κ2 τα οποία

συνδέονται μέσω ενός μηχανισμού ο οποίος προσομοιώνει τη μη ομαλή κίνηση της Σελήνης

λόγω της ελλειπτικής της τροχιάς γύρω από τη Γη, σύμφωνα με τη θεωρία του Ίππαρχου.(

Wikipedia, 2014c). Για να γίνει κατανοητή η κίνηση του γραναζιού K2 σε σχέση με το

γρανάζι K1 μέσω του μηχανισμού γνωστού στη ξένη βιβλιογραφία και ως «pin and slot

mechanism» δημιουργήθηκε ένα ξεχωριστό αρχείο σε flash hipparhus.fla το οποίο εισάγεται

σαν αρχείο swf και εμφανίζεται στο χρήση σαν video (βλ. Εικόνα 3.1.8) κατά την

παρουσίαση του μηχανισμού από την επιλογή «ΟΙ ΑΝΑΛΟΓΙΕΣ Η ΚΙΝΗΣΗ ΚΑΙ ΟΙ

ΕΚΛΕΙΨΕΙΣ» του κεντρικού μενού. Στο αρχείο αυτό εμφανίζονται τα γρανάζια Κ1 και Κ2 τα

οποία έχουν 50 δόντια το καθένα. Τα γρανάζι Κ1 διαθέτει (όπως φάνηκε από τα ευρήματα)

έναν πείρο ο οποίος παρασύρει μέσω της υποδοχής σε κίνηση το γρανάζι Κ2 του οποίου το

κέντρο είναι λίγο μετατοπισμένο σε

σχέση με το αντίστοιχο του K1 (βλ.

εικόνα 3.1.8). Το αποτέλεσμα είναι η

κίνηση του K2 να δέχεται μια

«ψευδοημοτονοειδή» επίδραση και στη

συνέχεια να τη μεταδίδει μέσω της

υπόλοιπης ακολουθίας των γραναζιών

της Σελήνης στο δείκτη της Σελήνης,

προσομοιώνοντας με αυτό τον τρόπο την

μη ομαλή κίνηση της Σελήνης, λόγω της

ελλειπτικής τροχιάς της γύρω από τη Γη.

Εικόνα 3.1.8 Αρχείο swf το οποίο προσομοιώνει τηνκίνηση των γραναζιών K1 και K2 (Εικ.: τουσυγγραφέα)

Page 54: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[54]

Για να προσομοιωθεί ο μηχανισμός «pin and slot» έπρεπε πρώτα να υπολογιστεί η

μαθηματική συνάρτηση που δείχνει πώς μεταβάλλεται η γωνιακή ταχύτητα του γραναζιού Κ2

σε σχέση με το χρόνο (βλ. ΠΑΡΑΡΤΗΜΑ Γ). Στη συνέχεια εφαρμόστηκε το αποτέλεσμα της

χειρόγραφης σημείωσης που δείχνεται στο ΠΑΡΑΡΤΗΜΑ Γ, στον κώδικα as3 ο οποίος

χρησιμοποιήθηκε στο αρχείο hipparhus.fla από αριθμημένη γραμμή 877 έως 944 (βλ.

ΠΑΡΑΡΤΗΜΑ Β).

3.4 Διαχείριση ήχου στην εφαρμογή activation-deactivation

H πλοήγηση του χρήστη μέσα στο περιβάλλον της εφαρμογής

γίνεται υπό τον ήχο μουσικής από το κομμάτι main theme -

from missing του Βαγγέλη Παπαθανασίου. Η ένταση του

ήχου μπορεί να ρυθμιστεί μέσω ενός μοχλού που ουσιαστικά

είναι ένα «μεταποιημένο» slider . Το συγκεκριμένο control

βρίσκεται ακριβώς από πάνω από ένα εικονίδιο ήχου (βλ.

Εικόνα 3.4.1). Το εικονίδιο αυτό παριστάνει μια λύρα

σύγχρονη της εποχής ύπαρξης του μηχανισμού η οποία

κατασκευάστηκε στο πρόγραμμα επεξεργασίας

τρισδιάστατων γραφικών CINEMA 4D με μορφοποίηση και

κατάλληλη μετατροπή του αρχαίου ελληνικού γράμματος ψ ώστε να μοιάζει με λύρα.

Κάνοντας χρήση του κατάλληλου κώδικα (βλ. γραμμή εντολής 945 έως 960 ΠΑΡΑΡΤΗΜΑ

Β) 3 καμπύλες που παριστάνουν τα ηχητικά κύματα φαίνονται να απομακρύνονται διαδοχικά

από τη λύρα και το animation είναι ενεργό όσο χρόνο ο ήχος είναι ενεργοποιημένος. Η

απενεργοποίηση του ήχου μπορεί να γίνει χειροκίνητα όταν ο χρήστης μετακινήσει το μοχλό

προς τα αριστερά μηδενίζοντας την ένταση του. Επειδή η εφαρμογή περιλαμβάνει

διαδικτυακές συνδέσεις στις οποίες υπάρχει πιθανότητα να ακουστεί νέος ήχος από

πολυμεσική διαδικτυακή παρουσίαση, με χρήση του κατάλληλου κώδικα (βλ. γραμμές

εντολών 46-50 , γραμμές εντολών 53-54, γραμμές εντολών 241-255 ΠΑΡΑΡΤΗΜΑ Β),

επιλέχθηκε να «παγώνει» ο ήχος της μουσικής υπόκρουσης και να μηδενίζεται η συχνότητα

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

κίνηση των γραναζιών οδήγησης του μηχανισμού κίνησης του παπύρου ακούγεται ένας ήχος

που παραπέμπει σε κίνηση γραναζιών. Οι δύο αυτοί ήχοι έγιναν κλάσεις με «export for

Εικόνα 3.4.1 Μοχλός ρύθμισηςκαι animation ήχου σε λύρα.(Εικόνα του συγγραφέα)

Page 55: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[55]

action script» από τα αντίστοιχα αρχεία ήχου σε format mp3 και στη συνέχεια εισήχθησαν

στην βιβλιοθήκη (library) του αρχείου fla της εφαρμογής.

3.5 Διαχείριση κειμένου, links, εικόνων, animation και απεικόνιση πάνω στονπάπυρο

Το κείμενο το οποίο εμφανίζεται πάνω στον πάπυρο γίνεται με χρήση του text tool που

διαθέτει το γραφικό περιβάλλον επεξεργασίας που

διαθέτει το πρόγραμμα Adobe Flash CS6 στο οποίο έγινε

η σχεδίαση και η υλοποίηση της εφαρμογής. Σα

γραμματοσειρά επιλέχθηκε η Avdira η οποία έγινε και

embed στο αρχείο fla της εφαρμογής. Όπου κρίθηκε

απαραίτητο, όπως για παράδειγμα σε εξειδικευμένους

αστρονομικούς όρους ή σε ιστορικά στοιχεία, δόθηκε η

δυνατότητα διαδικτυακής υποστήριξης με δυνατότητα

περιήγησης στον προεπιλεγμένο browser του χρήστη και

σε νέα σελίδα. Οι υπερσυνδέσεις δείχνονται με το γνωστό

και οικείο σε όλους γαλάζιο υπογραμμισμένο κείμενο.

Όσον αφορά τις εικόνες των γραναζιών που εμφανίζονται

στην επιλογή ΤΑ ΓΡΑΝΑΖΙΑ του κεντρικού μενού,

αποτελούν οι ίδιες αρχεία swf τα οποία έγιναν export από

το CINEMA 4D από τα αντίστοιχα γρανάζια του

τρισδιάστατου μοντέλου (βλ. Εικόνα 3.5.1). Στην

περίπτωση των animation χρησιμοποιήθηκαν αρχεία swf

με δυνατότητα χειρισμού μέσω των 2 βασικών κουμπιών

play και pause/stop. Σε όλα αυτά τα αρχεία κατά την

κατασκευή τους και ενώ ήταν σε μορφή fla δόθηκε η

δυνατότητα να «παρακολουθούν» την κίνηση του

παπύρου και να σταματούν το animation αν ο χρήστης

κάνει scroll στον πάπυρο και ενώ έχει ενεργοποιημένο το animation αυτό βγαίνει εκτός του

οπτικού του πεδίου . Στην εικόνα Εικόνα 3.5.2 δείχνεται ένα τέτοιο αρχείο swf το οποίο στη

μορφή calendar.fla χρησιμοποιεί τον κώδικα που δείχνεται από τη γραμμή 961 μέχρι τη

γραμμή 989 στο ΠΑΡΑΡΤΗΜΑ Β.

Εικόνα 3.5.1 Λεπτομέρεια απόεικόνα γραναζιού. (Εικ.: τουσυγγραφέα)

Εικόνα 3.5.2 Animation που δείχνειτην κίνηση των δεικτών του Ήλιουκαι της Σελήνης στο εμπρόσθιοκαντράν του μηχανισμού. (Εικόνατου εμπρόσθιου καντράνκατασκευασμένου σε CINEMA 4d.Εικ.: του συγγραφέα)

Page 56: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[56]

ΚΕΦΑΛΑΙΟ 4

ΚΑΤΑΣΚΕΥΗ ΤΟΥ ΤΡΙΣΔΙΑΣΤΑΤΟΥ ΜΟΝΤΕΛΟΥ ΣΤΟ CINEMA 4D

4.1 Σχεδίαση - τροποποίηση - βελτίωση

Το πρόγραμμα που χρησιμοποιήθηκε για την

σχεδίαση του μοντέλου του Μηχανισμού των

Αντικυθήρων είναι το CINEMA 4D της

MAXON έκδοσης R13. Εδώ πρέπει να

επισημανθεί ότι οι ακριβείς θέσεις των

γραναζιών αλλά και ο ακριβής αριθμός των

δοντιών τους δεν είναι πλήρως

εξακριβωμένος. Μετά από έρευνα στην

ιστοσελίδα The Antikythera Mechanism

Research Project όπου αναφέρονται μοντέλα εικονικά (virtual) και πραγματικά (solid) του

μηχανισμού, ιδιαίτερη εντύπωση προκάλεσε ένα σχηματικό μοντέλο του M.Vicentini το

οποίο διατίθεται στην προσωπική του

ιστοσελίδα για download στην διεύθυνση

http://www.mogi-

vice.com/Antikythera/VRMLx4.zip. Στο

συμπιεσμένο αρχείο υπάρχουν 4

διαφορετικά μοντέλα λόγω των διαφορετικών

εκδοχών που έχουν αναπτυχθεί κατά καιρούς

όσον αφορά την δομή και τη λειτουργία του

μηχανισμού (βλ. Εικόνα 4.1.1). Μετά από

Εικόνα 4.1.1 Τέσσερα μοντέλα του Μηχανισμούτων Αντικυθήρων (Vicentini, 2007)

Εικόνα 4.1.2Το επιλεγμένο μοντέλο τουμηχανισμού σε VRML μορφή (Vicentini, 2007)

Page 57: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[57]

προσωπική επικοινωνία με τον κ. Massimo Mogi Vicentini δόθηκε η άδεια χρήσης –

τροποποίησης ενός εκ των τεσσάρων σχηματικών μοντέλων το οποίο θα αποτελούσε την

βάση για το χτίσιμο του εικονικού μοντέλου (βλ. Εικόνα 4.1.2). Το αρχικό σχηματικό

μοντέλο του Vicentini που χρησιμοποιήθηκε

είναι εμπνευσμένο από την ερευνητική δουλειά

του Price. Το μοντέλο αυτό αρχικά εισήχθη

στο CINEMA 4D με τη μορφή VRML και στη

συνέχεια μετατράπηκε σε format c4d ώστε να

είναι δυνατή η επεξεργασία του στο CINEMA

4D. Στο μοντέλο αυτό έγιναν τροποποιήσεις

ώστε να είναι συμβατό με τις τελευταίες

ανακαλύψεις που έχουν γίνει πάνω στο

μηχανισμό και αφετέρου να είναι λειτουργικό,

αφού θα έπρεπε από στατικό να αποκτήσει

κίνηση. Οι τροποποιήσεις που έγιναν συνολικά

είναι οι εξής:

1. Τροποποίηση των γραναζιών Κ1 και Κ2

ώστε να αποκτήσουν τη σωστή σύνδεση «pin

and slot» ,όπως έχει αναφερθεί προηγουμένως,

αποδίδοντας έτσι την μη ομαλή κίνηση της

Σελήνης γύρω από τη Γη (θεωρία

Ίππαρχου).(βλ. Εικόνα 4.1.3)

2. Ελαφρά τροποποίηση των διαμέτρων

των γραναζιών, ώστε τα μήκη των περιφερειών

τους να είναι ανάλογα του αριθμού των δοντιών τους, που είναι απαραίτητη

προϋπόθεση για να συμπίπτει το βήμα των συμπλεκομένων γραναζιών.

3. Πρόσθεση 2 ακόμα γραναζιών και συγκεκριμένα των ο1 και n3 τα οποία

κατασκευάστηκαν στο CINEMA 4D με 60 και 57 δόντια αντίστοιχα ώστε ο

μηχανισμός να αποκτήσει μια επί πλέον δυνατότητα που είναι η μέτρηση του κύκλου

Εικόνα 4.1.3 Εικόνα από την

επεξεργασία σε CINEMA 4D τωνγραναζιών K1 και K2. (Εικ.: του

συγγραφέα)

Εικόνα 4.1.4 Εικόνα από την κατασκευήσε CINEMA 4D του μηχανισμού

περιστροφής του δείκτη της Σελήνης μετη βοήθεια συστήματος διαφορικών

γραναζιών(Εικ.: του συγγραφέα).

Page 58: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[58]

των Πανελληνίων αγώνων (Freeth, Jones, Steele & Bitsakis , 2008). Οι θέσεις των

γραναζιών είναι συμβατές με το σχήμα του μηχανισμού (βλ. Εικόνα 1.3.1).

4. Κατάλληλη μετακίνηση των θέσεων των γραναζιών των ακολουθιών του Μέτωνα,

του Καλλίππου, του Σάρου και του Εξελιγμού, ώστε να είναι δυνατή η κατασκευή

των οπισθίων καντράν.

5. Δημιουργία των δεικτών

του Ήλιου (sun pointer) και της

Σελήνης (moon pointer) στο εμπρόσθιο

καντράν του ημερολογίου (calendar).

Συγκεκριμένα στην περίπτωση του

δείκτη του Ήλιου, κατασκευάστηκε

επίχρυση σφαίρα στο CINEMA 4D

ώστε να είναι συμβατή με τη σχετική

αναφορά (Freeth, Bitsakis, Moussas,

Seiradakis, Tselikas &Magkou, 2006)

«..The references to “golden little

sphere” and “little sphere” probably refer to the front zodiac display for the Sun

and Moon..». Στην περίπτωση του δείκτη της Σελήνης κατασκευάστηκε μια

επαργυρωμένη κατά το ήμισυ σφαίρα προσαρμοσμένη κατάλληλα πάνω σε

ράβδο, η οποία στρέφεται και κατά τον διαμήκη άξονα της και δείχνει κατά αυτό

τον τρόπο τις φάσεις της Σελήνης κατά την περιστροφή της μέσα στο ζωδιακό

κύκλο, ακολουθώντας τη σχετική αναφορά που γίνεται στο άρθρο The

Antikythera Mechanism reconsidered «…The Moon pointer incorporated the

Moon-phase device that is partially preserved in fragment C…» (Wright,2007).

Για τη δημιουργία του συγκεκριμένου μηχανισμού κατασκευάστηκαν 2 επιπλέον

γρανάζια τα οποία, με διαφορική σύμπλεξη και κατάλληλη επιλογή του αριθμού

των δοντιών τους, έδωσαν συχνότητα περιστροφής στη σφαίρα της Σελήνης ίση

με αυτή που απαιτείται ώστε αυτός να δείχνει τη νέα Σελήνη όταν βρίσκεται στην

ίδια θέση με τη σφαίρα του Ήλιου και την πλήρη Σελήνη όταν βρίσκεται

αντιδιαμετρικά. Συγκεκριμένα, το ένα γρανάζι που βρίσκεται στον άξονα που

Εικόνα 4.1.5 Εικόνα από την κατασκευή σεCINEMA 4D του καντράν του Μέτωνα με τιςενδείξεις των 235 συνοδικών μηνών τουκύκλου.(Εικ.: του συγγραφέα).

Page 59: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[59]

περιστρέφει το δείκτη του Ήλιου έχει 25 δόντια, ενώ το γρανάζι που είναι

τοποθετημένο πάνω στο δείκτη της Σελήνης έχει 27 δόντια (βλ. Εικόνα 4.1.4).

6. Δημιουργία των σπειρών που εμφανίζονται στα 2 οπίσθια καντράν ώστε σε

συνδυασμό με τις ακτινωτές ευθείες που ξεκινούν από τα 2 κέντρα των καντράν

να επιτυγχάνεται ο διαχωρισμός του μεν καντράν του Μέτωνα σε 5x47 = 235

τετράγωνα, ένα για κάθε συνοδικό μήνα του κύκλου, και του αντίστοιχου του

Σάρου σε 4x56=224 τετράγωνα εκ των οποίων τα 223 χρησιμοποιούνται για τους

223 συνοδικούς μήνες του αντίστοιχου κύκλου.

7. Κατασκευή ενός ειδικού μηχανισμού ώστε να μπορεί ο χρήστης να βλέπει την

ακριβή ένδειξη στα καντράν του Μέτωνα και του Σάρου κατά τη διάρκεια των 5

και 4 στροφών των αντίστοιχων δεικτών τους. Εδώ χρησιμοποιήθηκαν 2 κωνικοί

πείροι οι οποίοι διατρέχουν κατά μήκος τους δείκτες. Χρησιμοποιήθηκαν ειδικές

συναρτήσεις, όπως θα αναπτυχθεί στη συνέχεια, ώστε κατά τη σύνθετη κίνησή

τους οι 2 πείροι να βρίσκονται πάνω στις αντίστοιχες σπείρες των καντράν των 2

κύκλων (βλ. Εικόνα 4.1.6).

8. Κατασκευή των 2 μικρότερων καντράν μέσα στο καντράν του κύκλου του

Μέτωνα (ένα για το κύκλο του

Καλλίππου και ένα για τον κύκλο

των Ολυμπιάδων) και ενός επιπλέον

καντράν για το κύκλο του

Εξελιγμού.

9. Κατασκευή των

αντίστοιχων δεικτών των

(υπο)καντράν που περιγράφονται

στην προηγούμενη περίπτωση.

10. Οι δείκτες

προσαρμόστηκαν κατάλληλα πάνω

στους άξονες που τους κινούν.

Συγκεκριμένα ο δείκτης του κύκλου του Καλλίππου στον άξονα του γραναζιού q1

και ο δείκτης του κύκλου των Ολυμπιάδων στον άξονα του γραναζιού o1.

Εικόνα 4.1.6 Εικόνα από την κατασκευή σε CINEMA4D του μηχανισμού ακίδας (Pin) η οποία με κατάλληλησυνάρτηση διατρέχει κατά μήκος τον δείκτη τουΜέτωνα (Εικ.: του συγγραφέα).

Page 60: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[60]

11. Κατασκευή των κατάλληλων συμβόλων – επιγραφών – χαραγών ώστε να

τοποθετηθούν πάνω στα καντράν ακολουθώντας πιστά τα ευρήματα,

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

του μηχανισμού.

12. Συγκεκριμένα

κατασκευάστηκαν και τοποθετήθηκαν

365 χαραγές μία για κάθε μέρα στην

εξωτερική κλίμακα του εμπρόσθιου

καντράν που παριστάνει το αρχαίο

Αιγυπτιακό ημερολόγιο (30

ημέρες/μήνα x12 μήνες + 5) και 360

χαραγές στην εσωτερική κλίμακα που

παριστάνει το ζωδιακό κύκλο.

13. Στη συνέχεια

κατασκευάστηκαν και τοποθετήθηκαν

τα ονόματα των 12 αρχαίων

Αιγυπτιακών μηνών (ΘΩΘ, ΦΑΩΦΙ,

ΑΘΥΡ, ΧΟΪΑΚ, ΤΥΒΙ, ΜΕΧΕΙΡ,

ΦΑΜΕΝΩΘ, ΦΑΡΜΟΥΘΙ,

ΠΑΧΩΝ, ΠΑΥΝΙ, ΕΠΙΦΙ, ΜΕΣΟΡΙ)

στην εξωτερική κλίμακα και τα

ονόματα των 12 αστερισμών

(ΠΑΡΘΕΝΟΙ, ΧΗΛΑΙ, ΣΚΟΡΠΙΟΝ,

ΤΟΞΟΤΗΝ, ΑΙΓΟΚΕΡΩΝ,

ΥΔΡΟΧΟΟΝ, ΙΧΘΥΑΣ, ΚΡΙΟΝ,

ΤΑΥΡΟΝ, ΔΙΔΥΜΟΥΣ,

ΚΑΡΚΙΝΟΝ, ΛΕΟΝΤΑ) που

βρίσκονται στην εσωτερική

κλίμακα.(βλ. Εικόνα 4.1.8).

Εικόνα 4.1.7 Εικόνα από την κατασκευή σεCINEMA 4D του καντράν των Ολυμπιάδων με τιςενδείξεις(Εικ.: του συγγραφέα).

Εικόνα 4.1.8 Εικόνα από την κατασκευή σε CINEMA 4Dτου εμπρόσθιου καντράν του ημερολογίου με τις 2κλίμακες και τα ονόματα των μηνών του Αιγυπτιακούημερολογίου αφενός και των αστερισμών του ζωδιακούκύκλου αφετέρου (Εικ.: του συγγραφέα).

Page 61: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[61]

14. Όσον αφορά τις ενδείξεις των 2 κύριων οπισθίων καντράν, στο μεν καντράν του

Σάρου τοποθετήθηκαν τα ελληνικά γράμματα Σ και Η που δείχνουν αντίστοιχα

τις εκλείψεις της Σελήνης και του Ήλιου, ενώ στο καντράν του Μέτωνα

τοποθετήθηκαν τα ονόματα των 12 αρχαίων Κορινθιακών μηνών (ΦΟΙΝΙΚΑΙΟΣ,

ΚΡΑΝΕΙΟΣ, ΛΑΝΟΤΡΟΠΙΟΣ, ΜΑΧΑΝΕΥΣ, ΔΩΔΕΚΑΤΕΥΣ, ΕΥΚΛΕΙΟΣ,

ΑΡΤΕΜΙΣΙΟΣ, ΨΥΔΡΕΥΣ, ΓΑΜΕΛΙΟΣ, ΑΓΡΙΑΝΙΟΣ, ΠΑΝΑΜΟΣ,

ΑΠΕΛΛΑΙΟΣ) επαναλαμβανόμενα όπως ακριβώς αναγράφονται στο καντράν

του Μέτωνα μέχρι τη συμπλήρωση των 235 συνοδικών μηνών. Στην περίπτωση

του καντράν του Καλλίππου τοποθετήθηκαν τα αρχαία ελληνικά γράμματα

Α,Β,Γ,Δ που δείχνουν τους 4 κύκλους του Μέτωνα μέχρι τη συμπλήρωση ενός

κύκλου Καλλίππου, ενώ στην περίπτωση του καντράν των Ολυμπιάδων

(Olympiad dial) κατασκευάστηκαν τα σύμβολα LA, LB, LΓ, LΔ τα οποία

παριστάνουν τις 4 περιόδους του κύκλου καθώς και οι επιγραφές που δείχνουν

τους επαναλαμβανόμενους Πανελλήνιους αγώνες όπως ΙΣΘΜΙΑ, ΝΕΜΕΑ,

ΟΛΥΜΠΙΑ, ΠΥΘΙΑ και ΝΑΑ. Η κατασκευή και τοποθέτηση όλων αυτών των

χαραγών, συμβόλων, επιγραφών έγινε μετά από προσεκτική μελέτη των άρθρων

«Calendars with Olympiad display and eclipse prediction on the Antikythera

Mechanism» και «THE ANTIKYTHERA MECHANISM: From the bottom of

the sea to the scrutiny of modern technology». (Seiradakis, 2012).(βλ. Εικόνα

4.1.7)

4.2 Περιστροφές γραναζιών

Το μοντέλο μετά την επεξεργασία του έπρεπε να τεθεί σε κίνηση. Συγκεκριμένα τα γρανάζια

έπρεπε να περιστραφούν με συγκεκριμένες γωνιακές ταχύτητες όπως αυτές υπαγορεύονται

από τις αναλογίες των δοντιών τους. Εδώ έγινε χρήση ενός εδικού plug in στο πρόγραμμα

CINEMA 4D το οποίο λέγεται Gearbuilder με τη βοήθεια του οποίου ο σχεδιαστής μπορεί να

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

Page 62: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[62]

To plug in Gearbuilder (Jack’s Secret Stash)8 μπορεί να χρησιμοποιηθεί υπό τη μορφή 3

τύπων. Του τύπου share axis όπου, όταν εφαρμόζεται σε γρανάζια που μοιράζονται τον ίδιο

άξονα τα στρέφει με την ίδια γωνιακή ταχύτητα, του τύπου connection όπου εφαρμοζόμενο

στρέφει το γρανάζι με αντίθετη γωνιακή ταχύτητα από το γρανάζι με το οποίο συμπλέκεται

και του τύπου motor οπότε και μετατρέπει το γρανάζι σε αυτό που μεταδίδει την κίνηση στα

υπόλοιπα. Επομένως, ξεκινώντας από το πρώτο – αρχικό γρανάζι του μηχανισμού το οποίο

μεταδίδει την κίνηση στα υπόλοιπα και είναι σύμφωνα με την Εικόνα 1.3.1 το a1,

εφαρμόστηκε το plug in gearbuilder σαν motor και στη συνέχεια με βάση την ακολουθία

όλων των υπολοίπων γραναζιών εφαρμόστηκε σαν share axis ή connection κατάλληλα. Στο

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

διαμέτρου των γραναζιών ώστε να γίνεται άριστη συναρμογή, δηλαδή τα συμπλεκόμενα

γρανάζια να έχουν το ίδιο βήμα και να μην παρατηρούνται ατέλειες συναρμογής μεταξύ

τους. Ο αριθμός των δοντιών των γραναζιών καθορίζει την αναλογία των γωνιακών

ταχυτήτων περιστροφής τους. Επομένως ένα πιθανό λάθος σε αριθμό δοντιών ενός

γραναζιού θα δημιουργήσει λάθος αναλογίες στα υπόλοιπα συμπλεκόμενα γρανάζια και

επομένως λάθος γωνιακές ταχύτητες. Γι αυτό τα γρανάζια του αρχικού μοντέλου ελέγχθηκαν

ένα προς ένα ώστε ο αριθμός των δοντιών τους να είναι συμβατός με το σχήμα της Εικόνα

1.3.1. Εκτός όμως από αυτόν τον έλεγχο έπρεπε να ελεγχθούν και οι αναλογίες, ώστε να είναι

ίσες με αυτές που καθορίζονται σύμφωνα με τα συμπεράσματα που φαίνονται στο

προαναφερθέν άρθρο «Decoding the Antikythera Mechanism: Investigation of an Ancient

Astronomical Calculator» (Freeth, Bitsakis, Moussas, Seiradakis, Tselikas, Magkou και

συν.,2006) αλλά και στο site Wikipedia (Wikipedia, 2014d). Στο CINEMA 4D υπάρχει μια

δυνατότητα ελέγχου μιας μεταβλητής, όπως για παράδειγμα της γωνιακής ταχύτητας

περιστροφής ενός αντικειμένου (object) σε πραγματικό χρόνο. Η δυνατότητα αυτή

ονομάζεται XPresso και μπορεί να ενεργοποιηθεί για οποιοδήποτε σχηματικό αντικείμενο

μέσα στο περιβάλλον του CINEMA 4D αλλά μπορεί να δημιουργηθεί και αυτόνομα.

Δημιουργήθηκε λοιπόν ένα XPresso το οποίο ονομάστηκε check μέσα στο οποίο

υπολογίστηκαν οι εξής αναλογίες γωνιακών ταχυτήτων:

8 Jack’s Secret Stash : Plug in για CINEMA 4D διαθέσιμο στη URL: http://www.c4d-jack.de/site/en/downloads/cat_view/43-plugins.html

Page 63: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[63]

1. n1/b2=0,263 : λόγος της γωνιακής συχνότητας του n1 προς την αντίστοιχη του b2 που

είναι ο αντίστροφος λόγος του αριθμού των δοντιών τους και παριστάνει την τελική

αναλογία της ακολουθίας των γραναζιών του Μέτωνα

2. o1/b2=0,25: λόγος της γωνιακής ταχύτητας του ο1 προς την αντίστοιχη του b2 που

είναι ο αντίστροφος λόγος του αριθμού των δοντιών τους και παριστάνει την τελική

αναλογία της ακολουθίας των γραναζιών των Ολυμπιάδων

3. q1/b2=0,013 :λόγος της γωνιακής ταχύτητας του q1 προς την αντίστοιχη του b2 που

είναι ο αντίστροφος λόγος του αριθμού των δοντιών τους και παριστάνει την τελική

αναλογία της ακολουθίας των γραναζιών του Καλλιππικού κύκλου

4. g1/b2=0,222:λόγος της γωνιακής ταχύτητας του g1 προς την αντίστοιχη του b2 που

είναι ο αντίστροφος λόγος του αριθμού των δοντιών τους και παριστάνει την τελική

αναλογία της ακολουθίας των γραναζιών του κύκλου του Σάρου

5. i1/b2=0,018:λόγος της γωνιακής ταχύτητας του i1 προς την αντίστοιχη του b2 που

είναι ο αντίστροφος λόγος του αριθμού των δοντιών τους και παριστάνει την τελική

αναλογία της ακολουθίας των γραναζιών του κύκλου του Εξελιγμού.

Οι τιμές των λόγων όπως φαίνονται και στην Εικόνα 4.1.9 συμπίπτουν με τις

αναμενόμενες οπότε με αυτό τον τρόπο πιστοποιήθηκε η αξιοπιστία των μετρήσεων και

υπολογισμών.

Όλα τα γρανάζια του μηχανισμού παίρνουν κίνηση είτε γιατί μοιράζονται τον ίδιο

άξονα είτε γιατί συμπλέκονται μεταξύ τους εκτός από 2 γρανάζια στα οποία εμφανίζεται

ένας μηχανισμός μετάδοσης γνωστός στη ξένη βιβλιογραφία και ως «πείρος και σχισμή»

(«pin and slot»). Συγκεκριμένα το γρανάζι Κ1 φέρει ένα πείρο ο οποίος διέρχεται από

ορθογώνια σχισμή που υπάρχει στο γρανάζι Κ2 το οποίο τοποθετείται ακριβώς από κάτω με

ελαφρά μετατοπισμένο το κέντρο του σε σχέση με το K1. To γρανάζι K2 έχει λίγο

μεγαλύτερη διάμετρο από το K1 και περιστρέφεται καθώς παρασύρεται λόγω της σύμπλεξης

πείρου-σχισμής (pin and slot). Η αποκωδικοποίηση του μηχανισμού αυτού και η εφαρμογή

του στο γρανάζι Κ2 εξηγείται στη συνέχεια

Page 64: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[64]

Εικόνα 4.1.9 Το XPresso «check» στο CINEMA 4D υπολογίζει σε πραγματικό χρόνο τιςαναλογίες των γωνιακών ταχυτήτων των γραναζιών. (Εικ.: του συγγραφέα)

Page 65: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[65]

4.3 Περιστροφή του γραναζιού Κ2

Το γρανάζι K1 παίρνει κίνηση λόγω της σύμπλεξης του με το γρανάζι e5 (βλ. εικόνα 1.3.1).

Στη συνέχεια μέσω του μηχανισμού «pin and slot» μεταδίδει την κίνηση του στο γρανάζι K2.

Έπρεπε λοιπόν να υπολογιστεί η συνάρτηση που δίνει για κάθε χρονική στιγμή τη γωνία

περιστροφής του K2 ώστε εφαρμοζόμενη μέσω της δυνατότητας XPresso που μας παρέχει το

CINEMA 4D να περιστρέφει το γρανάζι Κ2 δίνοντας την ψευδαίσθηση της περιστροφής του

λόγω του μηχανισμού pin and slot. Στην περίπτωση αυτή χρησιμοποιήθηκε το μαθηματικό

μοντέλο του ΠΑΡΑΡΤΗΜΑΤΟΣ Γ το οποίο χρησιμοποποιήθηκε και σε προηγούμενο

υπολογισμό. Ουσιαστικά με τη μη ομαλή κίνηση αυτή του Κ2 η οποία μεταφέρεται μέσω της

ακολουθίας των επόμενων γραναζιών (e6e1b3) στον δείκτη περιστροφής της Σελήνης, ο

κατασκευαστής του μηχανισμού θέλησε να αποτυπώσει τη μη ομαλή κίνηση της Σελήνης η

οποία έχει την μέγιστη ταχύτητα περιστροφής στο περίγειο και την ελάχιστη στο απόγειο. Το

μαθηματικό μοντέλο αποκωδικοποιήθηκε και μεταφέρθηκε με τον κατάλληλο συμβολισμό

στο XPresso το οποίο στην προκειμένη περίπτωση εφαρμόζει τη συνάρτηση του arcsinθ2 για

κάθε χρονική στιγμή στο γρανάζι K2 αναγκάζοντας το να περιστρέφεται με γωνιακή

ταχύτητα ω2=dθ2/dt. Η όλη μαθηματική ανάπτυξη δείχνεται στην Εικόνα 4.1.10 που

ακολουθεί. Η ορθότητα των υπολογισμών επαληθεύεται από το γεγονός ότι ενώ το γρανάζι

Κ2 περιστρέφεται εξαιτίας της εφαρμογής μαθηματικής συνάρτησης εντούτοις η ορθογώνια

σχισμή του δείχνει να ακολουθεί συνεχώς τον πείρο του γραναζιού Κ1.

Page 66: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[66]

Εικόνα 4.1.10 XPrεsso υπολογισμού και εφαρμογής μαθηματικού μοντέλου στο γρανάζι Κ2 ώστε ναπεριστρέφεται λόγω φαινομενικής αλληλεπίδρασης pin and slot .(Εικ.: του συγγραφέα)

4.4 Κίνηση οδηγών δεικτών στα καντράν του Μέτωνα και του Σάρου

Στο άρθρο με τίτλο Decoding the Antikythera Mechanism: Investigation of an Ancient

Astronomical Calculator και στη σελίδα 4 (Freeth και συν.,2006), αναφέρεται: “... we find a

new feature that explains why the dial is a spiral: a “Pointer-Follower device (see Figure 3)

travelled around the spiral groove to indicate which month (across the five turns of the scale)

should be read”. Από ότι φαίνεται οι δείκτες των κύκλων του Μέτωνα και του Σάρου έφεραν

ένα μηχανισμό ο οποίος έδειχνε τον τρέχοντα μήνα κατά τη διάρκεια των 5 και 4 στροφών

στα 2 καντράν αντίστοιχα. Έτσι κατασκευάστηκαν 2 κωνικοί πείροι οι οποίοι ακολουθούν

τις σπείρες των 2 κύκλων και δείχνουν ανά πάσα στιγμή τον τρέχοντα συνοδικό μήνα στους

2 κύκλους ( βλ. Εικόνα 3.2.6). Στη συνέχεια κατασκευάστηκε η συνάρτηση η οποία

Page 67: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[67]

υπολογίζει τη θέση των 2 πείρων. Ο υπολογισμός για παράδειγμα της συνάρτησης στην

περίπτωση του πείρου που συναντάμε στο δείκτη του κύκλου του Μέτωνα έγινε ως εξής:

Αν υποθέσουμε ότι συμβολίζουμε με r την απόσταση του κωνικού πείρου από το

κέντρο της σπείρας την τυχαία χρονική στιγμή t και r0 την αρχική απόσταση του πείρου από

το κέντρο (αρχική ακτίνα σπείρας) τότε κατά την περιστροφή θα ισχύει r=r0 + b.θ όπου b μια

σταθερά. Η σταθερά b μπορεί να υπολογιστεί θέτοντας στην προηγούμενη εξίσωση όπου

θ=10π όσο είναι η τελική γωνία μετά από 5 στροφές και όπου r την μεγαλύτερη ακτίνα της

σπείρας. Στην περίπτωση του παρόντος μοντέλου μετρήθηκε r0=80,51 και b=6.7/π. Στη

συνέχεια βρέθηκαν οι συντεταγμένες x και z που υπαγορεύουν τη θέση του πείρου πάνω στο

επίπεδο της σπείρας και εκφράστηκαν με τη βοήθεια της προηγούμενης συνάρτησης. Επειδή

ο πείρος έπρεπε να ξαναγυρίζει στην αρχική του θέση μετά από 5 στροφές σαν γωνία θ

χρησιμοποιήθηκε η θ’= θ – [θ/10π]*10π όπου [θ/10π] παριστάνει το ακέραιο μέρος της

ποσότητας θ/10π. Στην περίπτωση που θ<10π τότε [θ/10π] =0 άρα θ’= θ , όταν όμως η γωνία

θ = 10π μετά από 5 στροφές τότε [θ/10π]*10π = 10π δηλ. θ=0 άρα σύμφωνα με τη

συνάρτηση r=r0 + b.θ το r=r0 με άλλα λόγια ο πείρος γυρίζει στην αρχική του θέση. Όλα αυτά

αποκωδικοποιήθηκαν και μεταφέρθηκαν σε ένα XPresso με το οποίο ελέγχεται η κίνηση του

πείρου του δείκτη του Μέτωνα και αντίστοιχα με μια παρόμοια διαδικασία η κίνηση του

πείρου του δείκτη του Σάρου. (βλ Εικόνα 4.1.11)

Page 68: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[68]

Εικόνα 4.1.11 Λεπτομέρεια από τη χρήση XPresso για τον υπολογισμό της θέσης του πείρου τουδείκτη του Μέτωνα. (Εικ.: του συγγραφέα).

Page 69: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[69]

4.5Κατασκευή ξύλινου περιβλήματος του μηχανισμού

Εικόνα 4.5.1 Το μοντέλο του μηχανισμού τελειοποιημένο σε CINEMA 4D πριν την εξαγωγή καιεπεξεργασία του σε Unity 3d. (Εικ.: του συγγραφέα).

Γύρω από τον μηχανισμό τοποθετήθηκε ξύλινο περίβλημα κατάλληλων διαστάσεων διότισύμφωνα με την αναφορά του άρθρου The Cosmos in the Antikythera Mechanism των(Freeth & Jones,2012) «..The Antikythera Mechanism was contained in a wooden box..»(Εικόνα 4.5.1)

4.6Materials και textures

Στα γρανάζια του μοντέλου επιλέχθηκε σα χρώμα (material) το bronze vintage ενώ στην

ξύλινη κάσα του μοντέλου επιλέχθηκε σαν υφή (texture) το mahogany wood. Στους άξονες

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

δείκτη του Ήλιου επιλέχθηκε σαν υφή (texture) το gold antique. (Εικόνα 4.1.8)

Page 70: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[70]

4.7Animation του μοντέλου (διάρκεια σε frames και frame rate)

Το plug in Gearbuilder που αναφέρθηκε προηγουμένως δίνει στον τύπο motor ένα animation

του οποίου η χρονική διάρκεια σε πλήθος καρέ ( συνολικά frames) αλλά και η ταχύτητα σε

καρέ / δευτερόλεπτο (frames/sec) καθορίστηκαν στις ρυθμίσεις του έργου (project settings)

του προγράμματος. Για το συγκεκριμένο μοντέλο επιλέχθηκε ένας αρκετά μεγάλος αριθμός

frames (30000 frames) με ταχύτητα (frame rate) = 24 καρέ/δευτερόλεπτο (fps)

ΚΕΦΑΛΑΙΟ 5

ΕΠΕΞΕΡΓΑΣΙΑ ΣΕ UNITY 3D ΚΑΙ ΔΙΑΔΡΑΣΤΙΚΟΤΗΤΑ ΜΟΝΤΕΛΟΥ

5.1 Τo Unity3D

Το Unity3d είναι κατά κύριο λόγο ένα σύστημα ανάπτυξης παιχνιδιών και βασικά του

χαρακτηριστικά που αποτελούν ταυτόχρονα και τα δυνατά του σημεία είναι: 1) η διάδραση

που μπορεί να αναπτύξει ο σχεδιαστής σε ένα περιβάλλον 3 διαστάσεων, 2) η

φωτορεαλιστικότητα που μπορεί να προσδώσει στο εικονικό περιβάλλον της σκηνής, 3) η

δυνατή μηχανή rendering που διαθέτει. Το Unity3d επίσης μπορεί να εξάγει το προϊόν σε

πολλές πλατφόρμες όπως α) σε swf (flash) β) σε html web page γ) σε standalone εκτελέσιμο

πρόγραμμα exe για windows και mac δ) σε linux ε) σε πλατφόρμες παιχνιδιών όπως XBOX

360, PS3, Wii σε στ) σε tablets με λειτουργικό android – κινητά Blackberry ζ) σε iphone η)

σε windows 8 phones. Επίσης το Unity3d διαθέτει περιβάλλον προγραμματισμού σε

JavaScript και C# ενώ μπορεί να δεχθεί τρισδιάστατα μοντέλα τα οποία μπορεί να

επεξεργαστεί περαιτέρω.

Page 71: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[71]

5.2 Εξαγωγή του μοντέλου από το CINEMA 4D και εισαγωγή σε UNITY3d

Υπάρχουν αρκετά formats στα οποία μπορεί να γίνει εξαγωγή ενός μοντέλου

επεξεργασμένου σε CINEMA 4D. Από αυτούς τους τύπους μόνον ένας μπορεί να γίνει

δεκτός για εισαγωγή σε περιβάλλον Unity3d και αυτός είναι σε μορφή fbx (Filmbox). Η

συγκεκριμένη μορφή αρχείου αναπτύχθηκε από τον Kaydara και τώρα ανήκει στην

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

εμφανίζεται στον object manager του CINEMA 4D και όλη τη σχεδιοκίνηση (animation) που

είναι αποτυπωμένη σε αυτό. Αφού τελείωσε η επεξεργασία του μοντέλου σε CINEMA 4D,

στη συνέχεια έγινε export σε fbx και τοποθετήθηκε μέσα στο φάκελο Assets του Unity.

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

θελήσει να επεξεργαστεί ένα τρισδιάστατο μοντέλο σε περιβάλλον Unity. Για να υπάρχει

αρκετός χρόνος στη διάθεση του χρήστη ώστε να μπορέσει να μελετήσει το μοντέλο όταν

βρίσκεται σε κίνηση, δόθηκαν συνολικά 30000 καρέ (frames) με ταχύτητα 24

καρέ/δευτερόλεπτο (24fps) που αντιστοιχεί σε 30000/24=1250 sec δηλ. περίπου 21 λεπτά σε

περιβάλλον CINEMA 4D ενώ στο Unity υπάρχει δυνατότητα επιμήκυνσης του χρόνου

παρατήρησης. Συγκεκριμένα σαν αρχική (default) ταχύτητα καρέ/δευτερόλεπτο δόθηκε το

0.15 της αρχικής ταχύτητας με αποτέλεσμα την επιπλέον δυνατότητα επιμήκυνσης του

χρόνου παρατήρησης.

Page 72: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[72]

5.3 Τοποθέτηση materials στα μέρη του μηχανισμού

Εικόνα 5.3.1 Στιγμιότυπο περιβάλλοντος επεξεργασίας στο Unity 3d των materials τωνγραναζιών. (Εικ.: του συγγραφέα)

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

πρόγραμμα επεξεργασίας δέχεται και ταξινομεί και τα materials που είναι συνδεδεμένα με τα

αντικείμενα. Εντούτοις στο περιβάλλον Unity3d μπορούν να εισαχθούν και υλικά ( materials

) ή να γίνει επεξεργασία των υπαρχόντων ή να δημιουργηθούν υφές (textures) για

μεγαλύτερο φωτορεαλισμό. Στο συγκεκριμένο μοντέλο έγινε επιλογή του υλικού που θα

χρησιμοποιηθεί για το χρωματισμό των γραναζιών και των αξόνων, των δεικτών και των

ενδείξεων, των καλυμμάτων των καντράν και της υφής (texture) της ξύλινης επένδυσης.

Χρώμα και υφή γραναζιών και αξόνωνΣτα γρανάζια προτιμήθηκε να δοθεί το χρώμα του χρυσού μπρούντζου με σκίαση

(Shader: Bumped Specular). Έτσι προτιμήθηκε σαν χρώμα ο συνδυασμός RGB 201 ,

174 , 93. σε συνδυασμό με υφή (texture) επιφάνειας παλιού μετάλλου. Στην

περίπτωση των αξόνων επίσης προτιμήθηκε μπρούντζος πιο σκουρόχρωμος με

συνδυασμό RGB 205,127,50 και σκίαση κατοπτρική (Shader: Specular).

(βλ.Σφάλμα! Το αρχείο προέλευσης της αναφοράς δεν βρέθηκε.)

Page 73: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[73]

Χρώμα και υφή ενδείξεων και δεικτώνΣτην περίπτωση των χαραγών και των επιγραφών των μηνών και των αστερισμών

του εμπρόσθιου καντράν χρησιμοποιήθηκε σα χρώμα το μαύρο ματ σε σκίαση

διάχυτη (Shader diffuse) ώστε λόγω της αντίθεσης του λευκού χρώματος του

εσωτερικού δίσκου του καντράν να συμβάλει στην καλή αναγνωσιμότητα. Στη δε

περίπτωση των οπισθίων καντράν των 2 κύκλων χρησιμοποιήθηκε «χρυσός»

μπρούντζος για τις σπείρες και τα περιγράμματα όπως και για τις ενδείξεις και τις

επιγραφές, με σκίαση κατοπτρική.

Όσον αφορά τους δείκτες έγιναν οι εξής επιλογές : 1) Στο δείκτη του Ήλιου,

στέλεχος στήριξης της σφαίρας και σφαίρα χρωματίστηκαν με το ίδιο χρώμα που

παραπέμπει σε παλιό χρυσό «old gold»με συνδυασμό χρώματος RGB 215,183,64 και

υφή (texture) επιφάνειας παλιού μετάλου. 2) Στο δείκτη της Σελήνης

χρησιμοποιήθηκε επίσης το ίδιο χρώμα δηλαδή «old gold» για το στέλεχος ενώ για τη

σφαίρα χρησιμοποιήθηκε κατά το ένα ημισφαίριο το μαύρο ματ και κατά το άλλο το

λευκό χρώμα με σκίαση Shader diffuse όπως είδαμε προηγουμένως. 3) Στους δείκτες

των κύκλων του «Μέτωνα» και του «Σάρου» και των (υπο)καντράν χρησιμοποιήθηκε

χρώμα με συνδυασμό RGB 124 , 75 , 34 που παραπέμπει σε χαλκό αντίκα (antique

copper).(βλ. Εικόνα 5.3.2)

Page 74: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[74]

Εικόνα 5.3.2 Στιγμιότυπο περιβάλλοντος επεξεργασίας στο Unity 3d των materials των δεικτών. (Εικ.:του συγγραφέα)

Υφή των καλυμμάτων των καντράνΑποφασίστηκε η χρήση γυάλινων καλυμμάτων καντράν καθότι η ανακάλυψη του

διαφανούς γυαλιού χρονολογείται τον 1ο αιώνα Π.χ (Diocles.civil.duth.gr, 2014).

Σα σχήμα καλυμμάτων επιλέχθηκε το ημισφαιρικό και το υλικό διαφανές το οποίο

χαρακτηρίζεται από σκίαση διαφανή και κατοπτρική (shader transparent/specular).

Υφή ξύλινης επένδυσηςΣαν υφή στην κατασκευή του ξύλινου περιβλήματος του μηχανισμού

χρησιμοποιήθηκε υφή ξύλου από μαόνι (mahogany) με σκίαση διάχυτη (Shader

diffuse).

5.4 Δημιουργία εικονικού περιβάλλοντοςΤο εικονικό περιβάλλον παραπέμπει στην θαλάσσια περιοχή κοντά στα Αντικύθηρα

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

περιβάλλοντος.

1) Δημιουργία skybox στο Unity.

Page 75: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[75]

H δημιουργία skybox σε περιβάλλον Unity γίνεται από την επιλογή Edit

Render settings Skybox material όπου υπάρχει δυνατότητα επιλογής

διαφόρων ειδών Skyboxes. Στη συγκεκριμένη περίπτωση χρησιμοποιήθηκε το

περιβάλλον ενός ηλιόλουστου ουρανού (Sunny Box) που δίνει και επί πλέον

φωτισμό.

2) Εισαγωγή νερού στο περιβάλλονΑπό τα assets του Unity έγινε επιλογή του daylight water. Το συγκεκριμένο

prefab έχει τη δυνατότητα αντανακλάσεων και κίνησης (κυματισμού) που

αυξάνει τη φωτορεαλιστικότητα

3) Τοποθέτηση των Αντικυθήρων και του αρχαίου ρωμαϊκού πλοίου στοπεριβάλλον.Από το Google Earth έγινε χαρτογράφηση του νησιού των Αντικυθήρων ενώ

καταγράφηκε το σημείο όπου εικάζεται ότι βρέθηκε το ναυάγιο των

Αντικυθήρων (Maps.google.com, 2014) στη συνέχεια έγινε χρήση του

προγράμματος fractscape στο οποίο έγινε επεξεργασία του αποτυπώματος του

νησιού των Αντικυθήρων και μετατροπή σε grayscale Heightmap το οποίο

στη συνέχεια εξήχθη (export) σε μορφή raw image και στη συνέχεια εισήχθη

(import) στο Unity, από την επιλογή import raw στο Terrain, μέσα στο

inspector του Unity. Τέλος από την επιλογή ρυθμίσεις τερρέν (Terrain

settings) τοποθετήθηκε μια υποτυπώδης βλάστηση πάνω στο νησί. (βλ.Εικόνα

5.4.1). Επίσης στο τερρέν τοποθετήθηκε ένα τρισδιάστατο μοντέλο αρχαίου

ρωμαϊκού πλοίου το οποίο έγινε download από τη διεύθυνση

http://sketchup.google.com/3dwarehouse/ και μεταποιήθηκε κατάλληλα στο

CINEMA 4D ώστε να μοιάζει με ναυάγιο.

Page 76: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[76]

Εικόνα 5.4.1 Επεξεργασία «heightmap» του περιγράμματος του νησιού των Αντικυθήρων, όπωςαυτό αποτυπώθηκε από το Google Earth, στο περιβάλλον επεξεργασίας του προγράμματοςfractscape. (Εικ.: του συγγραφέα).

5.5 Δημιουργία φωτισμούΓια να δοθεί ο επιπλέον φωτισμός, πέραν αυτού που δημιουργεί το περιβάλλον Skybox,

τοποθετήθηκαν και 2 κατευθυντικά φώτα (directional lights) εκ των οποίων το ένα

φωτίζει το πάνω μέρος του μηχανισμού και το άλλο το κάτω μέρος, ώστε να είναι

ευανάγνωστες οι ενδείξεις του εμπρόσθιου και των οπισθίων καντράν. Τέλος

ρυθμίστηκε η ένταση τους ώστε να δημιουργούν τις απαραίτητες σκιές και να

ενισχύουν την τρισδιάστατη αίσθηση.

5.6 Τοποθέτηση κίνηση – περιστροφή κάμεραςΗ κάμερα τοποθετήθηκε ώστε αμέσως με το «άνοιγμα» του σκηνικού ο χρήστης

βλέπει μπροστά του το μηχανισμό. Όλη η φιλοσοφία της κίνησης και επομένως της

διάδρασης του μοντέλου στηρίζεται πάνω στην κίνηση της κάμερας. Ουσιαστικά όπως

θα δούμε παρακάτω η πλοήγηση του χρήστη μέσα στο περιβάλλον οφείλεται στην

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

ακίνητος σε μια συγκεκριμένη θέση και ο χρήστης - παρατηρητής στην ουσία κινείται

ακολουθώντας την κάμερα. Στην κάμερα δόθηκε μέσω scripts που θα αναλυθεί στη

συνέχεια, δυνατότητα κίνησης (translation) και περιστροφής (rotation). Συγκεκριμένα η

Page 77: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[77]

κίνηση της κάμερας μπορεί να γίνεται κατά τη διεύθυνση των 3 αξόνων x,y και z. Η

περιστροφή μπορεί να γίνεται γύρω από το κέντρο του μηχανισμού, πάνω στο

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

περιστροφής δηλαδή κατά 360 μοίρες. Αντίστοιχα περιστροφή μπορεί να υπάρξει και

στο οριζόντιο επίπεδο γύρω από το κέντρο του μηχανισμού σε θετικές αλλά και σε

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

περιστροφή της κάμερας μπορεί να γίνεται με χρήση πληκτρολογίου , ποντικιού αλλά

και πατώντας κατάλληλα κουμπιά τα οποία εμφανίζονται στο γραφικό περιβάλλον του

χρήστη. Η τελευταία περίπτωση χρησιμοποιείται στην περίπτωση έλλειψης

πληκτρολογίου και ποντικιού όπως στην περίπτωση των tablets.H κίνηση και η

περιστροφή της κάμερας γίνεται με τη χρήση καταλλήλων scripts. Συγκεκριμένα :

1. Η περιστροφή της κάμερας ελέγχεται μέσω του πληκτρολογίου με τη σύνδεση του

script move_rotate.js πάνω στην κάμερα. Το συγκεκριμένο script είναι δομημένο σε

JavaScript (βλ. Παράρτημα Γ από γραμμή 990 έως 1060). Στον κώδικα αυτού του

script φαίνεται ότι όταν ο χρήστης πατά: 1) το πλήκτρο keypad 8 τότε η κάμερα

στρέφεται με κέντρο το μηχανισμό και με φορά προς τα πάνω, 2) το keypad 2 προς

τα κάτω, 3) το keypad 4 προς τα αριστερά και 4) το keypad 6 προς τα δεξιά. Π.χ η

εντολή που ενεργοποιείται με το πάτημα του Keypad 8 και στρέφει την κάμερα προς

τα πάνω ως προς το κέντρο του μηχανισμού πάνω στο κατακόρυφο επίπεδο YZ,

είναι transform.RotateAround(Vector3.right, Time.deltaTime*0.2f). Δηλαδή το

διάνυσμα (1,0,0) που βρίσκεται πάνω στον άξονα x στρέφεται προς τα δεξιά με

αποτέλεσμα ο άξονας z να κινείται προς τα πάνω. Με αντίστοιχες εντολές

ελέγχουμε την στροφή της κάμερας προς τα κάτω με -Vector3.right, προς τα δεξιά

με Vector3.up και προς τα αριστερά με -Vector3.up. Στο συγκεκριμένο script

δίνεται η δυνατότητα να γίνει αρχικοποίηση (reset) της κάμερας στον αρχικό της

προσανατολισμό (initialrotation) πατώντας το πλήκτρο Keypad 5.

2. H κίνηση της κάμερας μέσω πληκτρολογίου (keyboard) αλλά και ο πλήρης έλεγχος

μέσω ποντικιού (mouse) ελέγχεται με τη σύνδεση του script maxCamera.cs πανω

στην κάμερα. Το script αυτό είναι σε κώδικα C# και δείχνεται στο ΠΑΡΑΡΤΗΜΑ

Β από αριθμημένη γραμμή 1061 έως 1254. Στον κώδικα αυτού του script φαίνεται

ότι όταν ο χρήστης πατά τα βέλη UP, DOWN, RIGHT, LEFT η κάμερα κινείται

Page 78: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[78]

αντίστοιχα προς τα κάτω, προς τα πάνω, προς τα αριστερά και προς τα δεξιά. Η

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

temp.y-=0.2f (το f από το float) προκαλώντας την ελάττωση της συντεταγμένης της

κάμερας στον άξονα y. Όπως φαίνεται στον κώδικα με temp συμβολίζεται η

τρέχουσα θέση (target.position) της κάμερας. Στο ίδιο script ελέγχεται η στροφή της

κάμερας πατώντας το δεξί κλικ του ποντικιού και ταυτόχρονα το αριστερό CTRL η

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

επιλέχθηκε το δεξί κλικ του ποντικού είναι ότι το αριστερό κλικ χρησιμοποιείται για

να κάνει κλικ σε κουμπιά ή για να σέρνει το δρομέα των sliders που υπάρχουν στο

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

του ποντικιού είναι :

////

xDeg = Vector3.Angle(Vector3.right, transform.right );

yDeg = Vector3.Angle(Vector3.up, transform.up );

if (Input.GetMouseButton(1) && Input.GetKey(KeyCode.LeftControl))

{

xDeg += Input.GetAxis("Mouse X") * xSpeed * 0.02f;

yDeg -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;

desiredRotation = Quaternion.Euler(new Vector3(yDeg, xDeg, 0));

currentRotation = transform.rotation;

rotation = Quaternion.Lerp(currentRotation, desiredRotation, Time.deltaTime *zoomDampening);

transform.rotation = rotation;

}

////

Η κίνηση της κάμερας κατά μήκος του άξονα z που δίνει την εντύπωση μεγέθυνσης

(zoom in) ή σμίκρυνσης (zoom out) μπορεί να γίνει με 3 τρόπους. Ο πρώτος είναι

στρέφοντας τον τροχό του ποντικιού (scroll), ο δεύτερος κινώντας το ποντίκι

Page 79: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[79]

(mouse) πάνω και κάτω (κατά τον άξονα Y) έχοντας πατημένα: το δεξί κλικ του

ποντικιού, το αριστερό ALT και το αριστερό CTRL και ο τρίτος πατώντας το

keypad + ή το keypad -. Οι εντολές του script που ελέγχουν την κίνηση μπρος –

πίσω δίνοντας την εντύπωση μεγέθυνσης – σμίκρυνσης είναι :

πρώτος τρόπος κίνησης κατά τον z

if (Input.GetMouseButton(1) && Input.GetKey(KeyCode.LeftAlt) &&Input.GetKey(KeyCode.LeftControl)){desiredDistance -= Input.GetAxis("Mouse Y") * Time.deltaTime *zoomRate*0.125f * Mathf.Abs(desiredDistance);}

δεύτερος τρόπος

desiredDistance -= Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime* zoomRate * Mathf.Abs(desiredDistance);

τρίτος τρόπος

if(Input.GetKey(KeyCode.KeypadPlus)){transform.position.z+=speed;}if(Input.GetKey(KeyCode.KeypadMinus)){transform.position.z-=speed;}

Η περιστροφή αλλά και η κίνηση της κάμερας πατώντας κουμπιά γίνεται με τη

βοήθεια του script button1.js σε JavaScript. To script αυτό

δείχνεται στο ΠΑΡΑΡΤΗΜΑ Β από την αριθμημένη γραμμή

εντολής 1255 μέχρι την 1352. Στο script maxCamera έχουν

εισαχθεί οι Boolean μεταβλητές pressUp , pressDown,

pressRight, pressLeft zoomin, zoomout και resettostart οι

οποίες έχουν αρχικές τιμές false. Στον κώδικα του maxCamera

αν αυτές οι μεταβλητές γίνουν true τότε η κάμερα αντίστοιχα

στρέφεται: 1) προς τα πάνω, 2) προς τα κάτω, 3) προς τα δεξιά,

4) προς τα αριστερά, 5) κινείται προς τα εμπρός, 6) κινείται

Εικόνα 5.6.1 Κουμπιάπεριστροφής (Εικ.: τουσυγγραφέα)

Page 80: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[80]

προς τα πίσω και 7) επανέρχεται στην αρχική της θέση. Επομένως αν στο script

button1.js πατηθούν τα κουμπιά που δείχνουν τα βέλη προς τα πάνω, προς τα κάτω ,

προς τα δεξιά και προς τα αριστερά τότε μέσω του buton1.js δίνεται εντολή στο

script maxCamera.cs οι μεταβλητές pressUp , pressDown, pressRight, pressLeft να

γίνουν true.(βλ. Εικόνα 5.6.1). Επίσης αν πατηθεί το κουμπί reset που εμφανίζεται

στο κέντρο τότε μέσω της εντολής transform.rotation =

Quaternion.Lerp(transform.rotation, initrotation, Time.time*

0.2f); γίνεται αρχικοποίηση (reset) του προσανατολισμού της κάμερας.

Επίσης όσον αφορά τα κουμπιά τη κίνησης δίνονται εντολές

ίδιες ακριβώς με αυτές που αναφέρθηκαν στο script

move_rotate.js ενώ πατώντας το κουμπί reset όπως και πριν

το button1.js δίνει εντολή στο maxCamera.cs να αλλάξει τη

τιμή της μεταβλητής resettostart από false σε true. Τότε

ενεργοποιείται το πακέτο εντολών

if(Input.GetKey(KeyCode.Keypad5)||resettostart)

{ temp = initialposition;

target.position=initialposition;

desiredDistance = distance;} (βλ.Εικόνα 5.6.2)

5.7 Οι ακολουθίες των γραναζιών- διαχωρισμός και εμφάνιση

Για την πληρέστερη μελέτη και παρατήρηση του μηχανισμού δόθηκε η δυνατότητα

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

του χρήστη (GUI) υπάρχει ένα drop-down menu στο οποίο υπάρχουν τόσες επιλογές

όσες είναι και οι ακολουθίες των γραναζιών. Κάνοντας ο χρήστης κλικ στην επιλογή

view εμφανίζονται οι επιλογές sun train, moon train, meton train, callippos train, saros

train, exeligmos train, Olympiad train.

Εικόνα 5.6.2Κουμπιάκίνησης (Εικ.: τουσυγγραφέα)

Page 81: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[81]

Όταν επιλέξει ο χρήστης μια επιλογή για παράδειγμα Moon train εμφανίζεται μόνον η

ακολουθία των γραναζιών της Σελήνης.(βλ. Εικόνα 5.7.1) Αυτό επετεύχθη γράφοντας

ένα script και συγκεκριμένα το hide.cs σε C# το οποίο παρατίθεται στο ΠΑΡΑΡΤΗΜΑ

Β από την αριθμημένη γραμμή εντολής 1255 μέχρι 1774. Υπάρχουν 2 τρόποι να

αναζητηθούν αντικείμενα με script στο unity3d. Ο ένας τρόπος να γίνει αναζήτηση είναι

με τα ονόματα που έχουν καταχωρηθεί σαν gameobject στο hirerarchy του

περιβάλλοντος Unity3d που είναι μια επίπονη διαδικασία όταν πρόκειται για πολλά

αντικείμενα.

Αν όμως τα αντικείμενα αποτελούν ομάδα η διαδικασία είναι ευκολότερη. Δηλαδή

αντί να αναφερθούμε σε κάθε ένα αντικείμενο χωριστά μπορούμε να αναφερθούμε σε

όλα τα αντικείμενα δίνοντας το όνομα της ομάδας. Αυτό μπορεί να γίνει στο Unity3d

βάζοντας την ίδια ετικέτα (tag) στα αντικείμενα της ίδιας ομάδας. Έτσι τα γρανάζια της

ομάδας της Σελήνης φέρουν την ίδια ετικέτα «moon_train» οπότε η εντολή που

περιλαμβάνει όλα τα γρανάζια της ομάδας είναι foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train")). Εφόσον ο χρήστης επιλέγει από

το μενού moon_train τότε όλα τα υπόλοιπα γρανάζια πρέπει να εξαφανιστούν επομένως

δεν πρέπει να γίνει remdering για τα γρανάζια αυτά. Για παράδειγμα με το παρακάτω

πακέτο εντολών εμφανίζονται τα γρανάζια του Ήλιου. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))

{Obj.renderer.enabled=true;

}

Page 82: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[82]

Εικόνα 5.7.1 To μοντέλο του μηχανισμού σε περιβάλλον unity3d. (Εικ.: του συγγραφέα)

5.8 Απόκρυψη και εμφάνιση ξύλινου περιβλήματος

Για την καλύτερη παρατήρηση των γραναζιών δόθηκε η δυνατότητα στο χρήστη επιλέγοντας

«hide case» να εξαφανίζει το ξύλινο περίβλημα του μηχανισμού και επομένως να μπορεί να

παρατηρήσει τα γρανάζια του μηχανισμού καλύτερα.(βλ Εικόνα 5.8.1). Αυτό επετεύχθη με

τη δημιουργία του view_case.js σε JavaScript το οποίο παρατίθεται στο ΠΑΡΑΡΤΗΜΑ Β

από την αριθμημένη εντολή 1776 έως 1802. Συγκεκριμένα όταν ο χρήστης επιλέξει από το

μενού hide case τότε τα αντικείμενα με ετικέτα case εξαφανίζονται μέσω του πακέτου

εντολών

for (Obj in GameObject.FindGameObjectsWithTag("case")){Obj.renderer.enabled=false;}

Page 83: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[83]

Εικόνα 5.8.1 To μοντέλο του μηχανισμού χωρίς ξύλινο περίβλημα σε περιβάλλον unity3d. (Εικ.:του συγγραφέα)

5.9 Δυνατότητα περιστροφής του εξωτερικού δακτυλίου του ημερολογίου

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

δόθηκε η δυνατότητα περιστροφής του εξωτερικού δακτυλίου του εμπρόσθιου καντράν σε

οποιαδήποτε γωνία μεταξύ 0 και 360. Έτσι κατά αυτό τον τρόπο μπορεί να γίνει

συγχρονισμός του Αιγυπτιακού με το Γρηγοριανό ημερολόγιο. Στο γραφικό περιβάλλον

του χρήστη εμφανίζεται ένας μεταβολέας (slider) o οποίος αλλάζει με ακρίβεια εκατοστού

τη γωνία στροφής. Το script που δημιουργεί αυτή την επί πλέον δυνατότητα είναι το

months_rotation.js σε JavaScript και δείχνεται στο ΠΑΡΑΡΤΗΜΑ Β από την αριθμημένη

εντολή 1802 έως 1826. Ουσιαστικά η αλλαγή στη γωνία του εξωτερικού δακτυλίου του

ημερολογίου γίνεται μέσω των εντολών

sliderPos = GUI.HorizontalSlider ( Rect ( rotxpos, rotypos, 200, 30 ), sliderPos, 0, 360);

transform.localEulerAngles = new Vector3(359.07 , sliderPos , 0.65);

Page 84: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[84]

5.10 Εργαλεία χειρισμού της κίνησης και έξοδος από την εφαρμογή

Η διαδραστικότητα του μοντέλου ολοκληρώθηκε με μια επί πλέον δυνατότητα πλήρους

ελέγχου της ταχύτητας περιστροφής των γραναζιών. Συγκεκριμένα στο πάνω μέρος του

γραφικού περιβάλλοντος του χρήστη εμφανίζονται τα βασικά κουμπιά Play, Pause, Stop

και ένας μεταβολέας ταχύτητας περιστροφής των γραναζιών του μηχανισμού ενώ στο πάνω

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

Η τοποθέτηση και λειτουργία των 3 βασικών κουμπιών ελέγχου αλλά και το κουμπί

εξόδου από την εφαρμογή γίνεται μέσω του script animation_control.js σε JavaScript το

οποίο παρατίθεται στο ΠΑΡΑΡΤΗΜΑ Β από την αριθμημένη εντολή 1827 έως 1881. Το

μοντέλο όπως έχει ειπωθεί προηγουμένως έχει ενσωματωμένο animation το οποίο φέρει

από το CINEMA4D επομένως ένας τρόπος ελέγχου της ταχύτητας κίνησης του μοντέλου

γενικά είναι να ελέγξουμε την ταχύτητα των καρέ / δευτερόλεπτο (fps) της σχεδιοκίνησης

(animation) . Έτσι θέτοντας σαν main_animator την σχεδιοκίνηση (animation) που παίρνει

το unity3d από το αρχείο fbx (όπως έχει αναλυθεί σε προηγούμενη παράγραφο) εφαρμόζει

σε αυτή την εντολή StopPlayback(); για να αρχίσει ή να συνεχιστεί η κίνηση και

StartPlayback() για το τέλος της κίνησης . Παράλληλα ελέγχεται και ο ήχος που είναι

συνδεδεμένος με την κάμερα. Συγκεκριμένα στην περίπτωση του StopPlayback() o ήχος

μπαίνει σε λειτουργία με myCamera.audio.Play(), στην περίπτωση του StartPlayback() o

ήχος μπαίνει σε κατάσταση αναμονής με myCamera.audio.Pause() όταν πατιέται το pause

και σταματά με myCamera.audio.Stop() όταν πατιέται το stop. Στην περίπτωση που πατηθεί

το κουμπί εξόδου από το χρήστη το συγκεκριμένο script επιτρέπει μέσω της εντολής

Aplication.Quit() την έξοδο από την εφαρμογή.(βλ Σφάλμα! Το αρχείο προέλευσης τηςαναφοράς δεν βρέθηκε.).

Page 85: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[85]

Εικόνα 5.10.1 Χειρισμός της εφαρμογής (Εικ.: του συγγραφέα)

5.11 Μεταβολή της ταχύτητας περιστροφής και εμφάνιση βοήθειας.

Στο γραφικό περιβάλλον του χρήστη υπάρχει μεταβολέας αλλαγής της ταχύτητας

περιστροφής των γραναζιών. Το script που δίνει αυτή τη δυνατότητα είναι το

speed_rotation.js σε JavaScript και παρατίθεται στο ΠΑΡΑΡΤΗΜΑ Β από την αριθμημένη

γραμμή 1827 έως 1854. Στο script αυτό η ταχύτητα περιστροφής των γραναζιών αλλάζει

μεταβάλλοντας την τιμή της μεταβλητής sliderPos που είναι συνδεδεμένη με ένα

μεταβολέα μέσω της εντολής sliderPos = GUI.HorizontalSlider ( Rect ( rotxpos, rotypos,

200, 30 ), sliderPos, rotMin, rotMax ), όπου rotMin=0.5 και rotMax=2 είναι αντίστοιχα η

μικρότερη και η μεγαλύτερη ταχύτητα περιστροφής.

5.12 Εμφάνιση βοήθειας (help)

Στην οθόνη του χρήστη υπάρχει και ένα κουμπί βοήθειας (HELP) που καθοδηγεί το χρήστη

στο χειρισμό της κάμερας. Το script αυτό είναι το help_popup.cs και παρατίθεται στο

ΠΑΡΑΡΤΗΜΑ Β από την αριθμημένη γραμμή 1855 έως 1893. Όταν ενεργοποιείται το

script μέσω του αντίστοιχου κουμπιού παρουσιάζεται στην πραγματικότητα μια ετικέτα με

οδηγίες χειρισμού του μοντέλου και δυνατότητα κίνησης της κάμερας (GUI Label ). Σε

όλες τις επιγραφές σε γραφικό περιβάλλον (GUI Labels) το Unity3d χρησιμοποιεί διαφανές

φόντο (background) σκούρου χρώματος. Για το λόγο αυτό επιλέχθηκε χρώμα

γραμματοσειράς σε πράσινο χρώμα ώστε το κείμενο της βοήθειας να είναι

ευανάγνωστο.(βλ. Εικόνα 5.12.1)

Page 86: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[86]

Εικόνα 5.12.1 Το τρισδιάστατο μοντέλο στην τελική του μορφή με αναπτυγμένο το αρχείοβοήθειας (help pop-up) .(Εικ. :του συγγραφέα)

5.13 Μουσική επένδυση παρουσίασης

Για την μουσική επένδυση της εφαρμογής έγινε εισαγωγή του μουσικού κομματιού

Antikythera.mp3 το οποίο συνέθεσε και επιμελήθηκε ο Σταύρος Κατσούλης. Το μουσικό

κομμάτι εισήχθη στον inspector του Unity3d μέσα από την επιλογή Audio Clip του Audio

Source.

Τέλος για τον έλεγχο της έντασης του ήχου καθ’ όλη τη διάρκεια πλοήγησης του

χρήστη μέσα στο 3d περιβάλλον υπάρχει ένας μεταβολέας (slider) ο οποίος αλλάζει την

ένταση του ήχου κατά 1/100 της μονάδας έντασης από 0 έως 1. Το script το οποίο δίνει

αυτή την δυνατότητα είναι το slider.js σε JavaScript και παρατίθεται στο ΠΑΡΑΡΤΗΜΑ Β

από την αριθμημένη γραμμή 1887 έως 1903. Ουσιαστικά η εντολή που μεταβάλει την

ένταση είναι η audio.volume=hsliderValue; όπου hslider.value η μεταβλητή που παίρνει τις

τιμές του μεταβολέα που σέρνει ο χρήστης και τις αντιστοιχεί στην τιμή audio.volume που

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

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

Page 87: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[87]

5.14 Αβεβαιότητες και λύσεις

Τα εναπομείναντα κομμάτια του μηχανισμού δείχνουν ότι αυτός αποτελούνταν από 30

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

λειτουργήσει πλήρως. Στο μοντέλο που παρουσιάζεται στην εφαρμογή αυτή προστέθηκαν

άλλα 5 γρανάζια ώστε ο μηχανισμός να είναι συμβατός με το σχήμα (βλ. Εικόνα 1.3.1) το

οποίο δείχνεται στο έγγραφο http://www.antikythera-

mechanism.gr/system/files/0608_Nature.pdf αλλά ταυτόχρονα υπάρχει και στη διεύθυνση

http://en.wikipedia.org/wiki/File:Antikythera-justtrain-horiz.svg.

To γρανάζι r1 με 63 δόντια το οποίο ανακαλύφθηκε στο κομμάτι D έχει άγνωστη

χρησιμότητα και έτσι παραλήφθηκε.

«..There is reference in the inscriptions for the planets Mars and Venus, and it would have

certainly been within the capabilities of the maker of this mechanism to include gearing to

show their positions. There is some speculation that the mechanism may have had

indicators for the 5 planets known to the Greeks...» (Allen Martin, 2008)

Ειδικοί, μεταξύ των οποίων και ο James C Evans, πρότειναν τη χρήση 17 επιπλέον

γραναζιών ώστε ο μηχανισμός να δείχνει την κίνηση των μέχρι τότε 5 γνωστών πλανητών.

Στο συγκεκριμένο έγγραφο ο Evans εξηγεί τη χρήση 6 επί πλέον γραναζιών ώστε ο

μηχανισμός να δείχνει την κίνηση του πλανήτη Άρη. (Evans, Carman & Thorndike, 2010).

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

χρήση τους θα ήταν καθαρά υποθετική και γι αυτό δεν υιοθετήθηκε στην κατασκευή του

μοντέλου. Επίσης ο Wright αλλά και οι Evans , Camman και Thomdike στο ίδιο έγγραφο

πρότειναν τρόπους ώστε ο μηχανισμός να μπορέσει να αποδώσει την εκκεντρότητα στην

εικονική τροχιά του Ήλιου (όπως φαίνεται από το γήινο παρατηρητή ) μέσα στο ζωδιακό

κύκλο ( solar anomaly ). Στο εναπομείναν κομμάτι που δείχνει το μπροστινό καντράν (front

dial) έχει παρατηρηθεί μια ανισοκατανομή ορισμένων χαραγών από τις 365 πάνω στο

καντράν του ζωδιακού κύκλου. Έτσι αυτό μόνο το στοιχείο και ελλείψει άλλων δεδομένων

δε θεωρήθηκε αρκετό ώστε να χρησιμοποιηθεί στην κατασκευή του μοντέλου.

Εφόσον επελέχθη να μην παρασταθεί η κίνηση των 5 πλανητών, οι δείκτες (pointers)

στο μπροστινό καντράν (front dial) του μοντέλου, περιορίστικαν σε 2 : Ο δείκτης του

Page 88: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[88]

Ήλιου (sun pointer) και ο δείκτης της Σελήνης (moon pointer). O δείκτης του Ήλιου δείχνει

την ημερομηνία στο ζωδιακό κύκλο των 365 χαραγών ενώ ο δείκτης της Σελήνης δείχνει

την ημέρα στο αιγυπτιακό ημερολόγιο των 360 χαραγών. Ο Ήλιος παριστάνεται με μια

επίχρυση ή χρυσή σφαίρα ενώ η Σελήνη με μια μικρότερη λευκή κατά το ένα ημισφαίριο.

Επιπλέον χρησιμοποιήθηκε διαφορικό σύστημα 2 γραναζιών ώστε η σφαίρα που

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

ώστε να μπορεί να δείχνει και τις φάσεις της Σελήνης.

«.....the position of the Sun and Moon would have been indicated by pointers across the dial

scales, and a device showing the phase of the Moon was probably carried round on the

lunar pointer. It is not clear whether the Sun position pointer would have been separated

from a date pointer, or whether any planetary positions might have been displayed....»

(Freeth και συν., 2006).

Σε εικόνες τομογραφίaς του μηχανισμού (computer tomography images) ειδικοί της

εταιρίας Volume Graphics GmbH αναλύοντάς τες με τη βοήθεια του προγράμματος

VGStudio Max παρατήρησαν στο καντράν που δείχνει το Μετωνικό κύκλο ένα μηχανισμό

οδήγησης του δείκτη που δείχνει τους σεληνιακούς μήνες (lunar months). Συγκεκριμένα ο

δείκτης μπορούσε να μετακινηθεί με τη βοήθεια μιας ακίδας (pin) η οποία ακολουθούσε

μέσα σε αυλάκι την ελικοειδή σπείρα του καντράν με αποτέλεσμα να δείχνει το μήνα στην

κατάλληλη θέση της σπείρας. Το σύστημα αυτό αναλύεται στο έγγραφο (Freeth και συν.,

2006). Θεωρώντας πολύ σημαντικό στοιχείο την αναγνωσιμότητα στα καντράν του

Μέτωνα και του Σάρου αποφασίσθηκε να υιοθετηθεί αυτή η άποψη και να κατασκευαστούν

δείκτες οι οποίοι να επιτρέπουν στην ακίδα να τους διατρέχει καθ’ όλο το μήκος τους (βλ

Εικόνα 4.1.6).

Επιλογή της αρχικής ημερομηνίας (start date) στο Μηχανισμό

Ο μηχανισμός σε λειτουργία έδειχνε :

α. Την ημερομηνία στο μπροστινό καντράν (front dial) με βάση το Αιγυπτιακό

ημερολόγιο.

β. Την ημερομηνία στο πάνω και πίσω καντράν (upper back dial) με βάση το Αρχαίο

Page 89: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[89]

Ελληνικό ημερολόγιο.

γ. Την ημερομηνία διεξαγωγής των 4 πιο φημισμένων Πανελληνίων αγώνων της

εποχής εκείνης που ήταν : 1) Τα Ολύμπια που διεξάγονταν κάθε 4 χρόνια στην

Ολυμπία 2) Τα Πύθια που διεξάγονταν κάθε 4 χρόνια στους Δελφούς 3) Τα Νέμεα

που διεξάγονταν κάθε 2 χρόνια στην Νεμέα και 4) Τα Ίσθμια που διεξάγονταν κάθε 2

χρόνια στην Κόρινθο. Πάνω στο καντράν των Ολυμπιάδων (Olympic dial) και

συγκεκριμένα στον 4ο χρόνο της διεξαγωγής των αγώνων (LΔ) υπάρχει αναγραφή και

για έναν αγώνα ακόμα τα ίχνη της οποίας δεν είναι εμφανή.

δ. Τις φάσεις της Σελήνης καθώς ο δείκτης της Σελήνης (moon pointer)

περιστρέφονταν και γύρω από τον άξονα του.

ε Τη θέση του Ήλιου μέσα στο ζωδιακό κύκλο.

στ. Τη θέση της Σελήνης σε σχέση με τη Γη και τον Ήλιο.

ζ. Τις εκλείψεις της Σελήνης και του Ηλίου καθώς και τη χρονική τους διάρκεια όπως

δείχνουν οι αναγραφές στο καντράν του Σάρου (Saros dial)

η. Τους κύκλους: 1) του Μέτωνα (Metonic cycle) 2) του Σάρου (Saros cycle) 3) του

Καλλίπου (Callipic cycle) και 4) του Εξελιγμού (Exeligmos cycle)

θ. Τους 16 κύκλους Πανσελλήνων για κάθε κύκλο Σάρου. Εδώ θα πρέπει να

επισημανθεί ότι ένας κύκλος Σάρου συμπληρώνονταν σε 4 στροφές του δείκτη στο

αντίστοιχο καντράν, με αποτέλεσμα σε κάθε στροφή να συμβαίνουν 4 κύκλοι

Πανσελλήνων. Άρα 1 κύκλος Πανσελλήνου για κάθε τέταρτο της στροφής.

Η αρχική ημερομηνία εκκίνησης του μηχανισμού θα έπρεπε να συμβαδίζει με τα εξής:

1. Με την ημερομηνία που δείχνεται στο καντράν του Μέτωνα. Σύμφωνα με τις

αναγραφές που εμφανίζονται στο καντράν αυτό, το ημερολόγιο ξεκινά με το μήνα

«ΦΟΙΝΙΚΑΙΟ». Σύμφωνα με πρόσφατες έρευνες ο μήνας αυτός φαίνεται να

αντιστοιχεί εποχικά στις αρχές Φθινοπώρου

«…Matches for eleven of the twelve months, and a near match for the remaining one,

with the Mechanism's calendar confirm the validity of the hypothesis of a common

calendar for the cities of this district, as well as establishing the order of the months

and probably the beginning of the year, with Phoinikaios in early autumn… Calendars

with Olympiad display and eclipse prediction on the Antikythera Mechanism»

Page 90: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[90]

(T.Freeth,, A.Jones, J.Steele & Y. Bitsakis,2008).

2. Με την ημερομηνία έναρξης των πανελληνίων αγώνων του 1ου έτους. Σύμφωνα με

έρευνες οι οποίες αναφέρονται στο παραπάνω έγγραφο, στο πρώτο έτος του καντράν

των Ολυμπιάδων εναλλάσσονταν τα Ολύμπια με τα Ίσθμια σε κάθε 4ετή κύκλο

Ολυμπιάδων, με τα Ολύμπια να ξεκινούν στο τέλος του καλοκαιριού και τα Ίσθμια

την άνοιξη.

« …Athenian Olympiad Approximate Competition year dial season

1 late Summer Olympics

2 early Summer Nemeans

3 Spring Isthmians

3 late Summer Pythians

4 early Summer Nemeans

1 Spring Isthmians »

3. Με την αρχή ενός κύκλου πανσέληνων. Πράγματι στο καντράν του Σάρου

εμφανίζεται μια υποδιαίρεση στη θέση ( 3 η ώρα) που αποτελεί την αρχή ενός κύκλου

πανσέληνων και εφόσον σε κάθε κύκλο Σάρου συμπληρώνονται 4 κύκλοι πανσέληνων

πιθανολογείται και η ύπαρξη 4 τέτοιων χαραγών στο καντράν του Σάρου με την

πρώτη χαραγή να αντιστοιχεί στην ημερομηνία εκκίνησης του μηχανισμού. Άρα η

ημερομηνία εκκίνησης πρέπει να είναι ταυτόχρονα πανσέληνος και η Σελήνη να

βρίσκεται στο περίγειο δηλαδή στην κοντινότερη απόσταση από τη Γη. Ο

υπολογισμός μιας τέτοιας ημερομηνίας μπορεί να γίνει στην ιστοσελίδα (Walker,

2014).

4. Με την αρχή μιας ακολουθίας εκλείψεων Σελήνης και Ήλιου όπως αυτές φαίνονται

στο καντράν του Σάρου με Σ την ένδειξη για έκλειψη Σελήνης και Η για έκλειψη

Ηλίου. Σύμφωνα με μελέτες που έγιναν όσον αφορά την ταύτιση της ακολουθίας των

εκλείψεων του καντράν με τις παρατηρούμενες εκλείψεις από το site NASA/GSFC

( Eclipse.gsfc.nasa.gov, 2014a) σε μια περίοδο 400 χρόνων δηλαδή από το 400 π.χ μέχρι

το 0, όπου πιθανολογείται η κατασκευή και η λειτουργία του μηχανισμού, βρέθηκαν

100 πιθανές ημερομηνίες εκκίνησης.

Page 91: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[91]

Λαμβάνοντας υπόψη όλα τα παραπάνω βρέθηκε τελικά ότι η ημερομηνία 25

Αυγούστου του 163 π.Χ ή -162 συγκεντρώνει όλα τα παραπάνω χαρακτηριστικά και

επομένως θα μπορούσε να αποτελέσει μια πιθανή ημερομηνία εκκίνησης του

μηχανισμού. Το site της NASA ( Eclipse.gsfc.nasa.gov, 2014b) για αυτή την

ημερομηνία εκκίνησης δίνει μια σειρά εκλείψεων Σελήνης, ένα μήνα μετά, που

συμπίπτουν χρονολογικά με τις ενδείξεις του μηχανισμού. Πράγματι η πρώτη έκλειψη

Σελήνης του μηχανισμού αντιστοιχεί στην ημερομηνία 23 Σεπτεμβρίου του -162 και

στη συνέχεια 18 Φεβρουαρίου του -161 , 14 Αυγούστου του -161 , 13 Σεπτεμβρίου του

-161, 7 Φεβρουαρίου του -160 και 3 Αυγούστου του -160 που ταυτίζονται με τις

αντίστοιχες εκλείψεις οι οποίες εμφανίζονται στο καντράν του Σάρου με την ένδειξη Σ.

Page 92: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[92]

ΚΕΦΑΛΑΙΟ 6

ΠΑΡΑΤΗΡΗΣΕΙΣ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ

Όσον αφορά τη θεώρηση της κίνησης γνωρίζουμε ότι οι αστρονόμοι της εποχής αυτής

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

μοντέλο σύμφωνα με το οποίο η Γη θεωρείται το κέντρο του σύμπαντος γύρω από το οποίο

στρέφονται τα υπόλοιπα ουράνια σώματα (μοντέλο Πτολεμαίου). Το μοντέλο αυτό

καταρρίφθηκε από τον Γαλιλαίο γύρω στα 1632. Η λειτουργία και οι υπολογισμοί που

κάνει ο μηχανισμός, παρόλο που στηρίζονται πάνω στο γεωκεντρικό μοντέλο, εντούτοις

είναι απόλυτα σωστοί. Ο λόγος είναι απλός. Στη Φυσική πολλές φορές μια κίνηση σώματος

τη μελετούμε ως προς ακίνητο παρατηρητή, δηλαδή τη μελετούμε ως προς ακίνητο

σύστημα αναφοράς το οποίο να μη μετέχει της κίνησης του σώματος, αλλά και ως προς

κινούμενο παρατηρητή δηλαδή ως προς σύστημα αναφοράς το οποίο να μετέχει της

κίνησης του σώματος. Και στις δυο περιπτώσεις τα αποτελέσματα στη μέτρηση του χρόνου

της κίνησης του σώματος είναι τα ίδια. Για παράδειγμα αν ένας δρομέας χρονομετρηθεί

από τον προπονητή του για μια πλήρη περιστροφή στο στίβο από αφετηρία σε αφετηρία και

ταυτόχρονα χρονομετρήσει ο ίδιος τον εαυτό του με ίδιο χρονόμετρο που φέρει ο ίδιος, θα

βρει το ίδιο αποτέλεσμα. Στην περίπτωση του Ηλιακού μας συστήματος ο Ήλιος θεωρείται

το κέντρο του και όλοι οι Πλανήτες συμπεριλαμβανομένης της Γης γυρίζουν γύρω από

αυτόν. Έτσι ένας γήινος παρατηρητής θεωρείται κινούμενος παρατηρητής και μπορεί αν

εφαρμόσει σωστά τη θεωρία της σχετικής κίνησης να βρει σωστά αποτελέσματα

ανεξάρτητα από το γεγονός ότι θεωρεί λανθασμένα τη Γη ως ακίνητη. Ο συνοδικός μήνας

που στηρίζεται σε μέτρηση του κινούμενου γήινου παρατηρητή, δε δείχνει την ακριβή

περίοδο της περιστροφής της Σελήνης γύρω από τη Γη (1 συνοδικός μήνας = 29,53 μέρες)

Ο μηχανισμός των Αντικυθήρων είναι ένα κειμήλιο του αρχαίου Ελληνικού πολιτισμού και

έχει μέσα του συμπυκνωμένη όλη την πολυδιάστατη γνώση των αρχαίων Ελλήνων

φιλοσόφων πάνω σε θέματα Μαθηματικών, Φυσικής, Αστρονομίας αλλά και

Μηχανολογίας. Κατά την ανάλυση του θέματος της εργασίας αυτής προέκυψαν οι εξής

διαπιστώσεις:

Page 93: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[93]

ενώ ο αστρικός μήνας που μετριέται ως προς ακίνητο παρατηρητή συνδεδεμένος με

σύστημα αναφοράς τον ίδιο τον Ήλιο δείχνει την ακριβή περίοδο της Σελήνης γύρω από τη

Γη ( 1 αστρικός μήνας = 27,322 μέρες) (βλ Εικόνα 1.3. 2 και Εικόνα 1.3. 3 ). Εντύπωση

προκαλεί το γεγονός ότι ενώ οι αρχαίοι Έλληνες μετρούσαν το χρόνο με συνοδικούς μήνες,

πράγμα που φαίνεται καθαρά στο μηχανισμό των Αντικυθήρων, εντούτοις ο

κατασκευαστής γνώριζε τον ακριβή αριθμό των συνολικών περιστροφών της Σελήνης γύρω

από τη Γη σε ένα ημερολογιακό έτος. Πράγματι βλέπουμε από τις αναλογίες των γραναζιών

ότι για μια περιστροφή του Ήλιου στο καντράν η Σελήνη εκτελεί 13,368 στροφές. Αν

διαιρέσουμε τις 356,25 μέρες του 1 έτους με το 13,368 βρίσκουμε 27,322 μέρες ανά μια

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

Στη μελέτη του θεωρητικού μοντέλου γνωρίσαμε την επίλυση ενός σχετικά εύκολου

προβλήματος, στο οποίο, στηριζόμενοι στις αναλογίες του αριθμού των δοντιών μιας

ακολουθίας γραναζιών, υπολογίζουμε την τελική αναλογία η οποία χρησιμοποιείται για τη

μέτρηση των χρόνων, είτε αυτοί αντιπροσωπεύουν κύκλους είτε αντιπροσωπεύουν χρόνους

περιστροφών (για παράδειγμα όπως είδαμε πριν 13,368 περιστροφές Σελήνης για μια

φαινομενική Ήλιου). Το αντίστροφο πρόβλημα όμως φαίνεται να είναι πολύ δύσκολο.

Δηλαδή, με δεδομένη μια μόνο αναλογία, να μπορέσει κανείς να υπολογίσει τους

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

των δοντιών μεταξύ τους να καταλήξουν στην αρχική αναλογία. Δηλαδή για παράδειγμα,

στην ακολουθία των γραναζιών της Σελήνης με δεδομένο τον αριθμό 13,368 να μπορέσουν

να υπολογιστούν 12 άγνωστοι, που είναι ο αριθμός των δοντιών των 12 γραναζιών που

παίρνουν μέρος στην ακολουθία για να μας δώσουν το επιθυμητό αποτέλεσμα 13,368. Μην

ξεχνάμε ότι αυτό γίνεται και για τον υπολογισμό των δοντιών των υπολοίπων γραναζιών,

ενώ υπάρχει γρανάζι το οποίο μεταδίδει κίνηση ταυτόχρονα σε 2 ακολουθίες που είναι το

b2.

Ο κύκλος του Μέτωνα αποτελεί ουσιαστικά ένα εργαλείο που χρησιμοποιούσαν οι αρχαίοι

για τη διόρθωση της μετρούμενης ημερομηνίας και ειδικότερα για την ακριβή τήρηση της

ημερομηνίας των Πανελληνίων αγώνων. Η διόρθωση αυτή γίνεται και στις μέρες μας.

Όπως γνωρίζουμε, προσθέτουμε μια μέρα κάθε 4 χρόνια ώστε να συγχρονιστούμε σωστά

με την ακριβή ημερομηνία αφού χάνουμε ¼ της ημέρας κάθε χρόνο. Ο κατασκευαστής του

μηχανισμού στο καντράν του Μετωνικού κύκλου έχει βάλει διορθωτικούς αριθμούς που

Page 94: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[94]

πρέπει να προσθέτει ο χρήστης ώστε να είναι συγχρονισμένος με τη σωστή ημερομηνία.

Ένας κύκλος Μέτωνα χρησίμευε ώστε να υπολογιστεί το ημερολογιακό έτος με όσον το

δυνατόν μεγαλύτερη ακρίβεια. Έτσι αφού ο κύκλος του Μέτωνα είναι 19ετής και

συμπληρώνεται σε 235 μήνες δημιουργεί ένα έτος κατά το 1/76 της ημέρας μεγαλύτερο από

το πραγματικό, άρα μετά από έναν κύκλο Καλλίππου ο χρήστης του μηχανισμού

μετακινούσε το δείκτη κατά μία μέρα προς τα πίσω.

Σε μια εποχή όπου δεν υπήρχε τηλεσκόπιο, οι Αστρονόμοι της εποχής όπως ο Πτολεμαίος,

ο Ίππαρχος, ο Μέτων και ο Κάλλιππος, μόνο με απλή παρατήρηση στον έναστρο ουρανό,

γνώριζαν την μη ομαλή κίνηση της Σελήνης την οποία ο κατασκευαστής του μηχανισμού

θέλησε να αποτυπώσει με το μηχανισμό κίνησης (pin and slot) στα γρανάζια K1 και K2, ή

τη διάρκεια ενός ανωμαλιστικού ή δρακωνικού μήνα γεγονός που προϋποθέτει τη γνώση

μιας εξειδικευμένης πληροφορίας όπως είναι η στροφή του επιπέδου της Σελήνης, που για

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

Εκτός της ακριβούς ημερομηνίας επανάληψης μιας έκλειψης Ηλίου ή Σελήνης ο

κατασκευαστής του μηχανισμού έδωσε τη δυνατότητα ανάγνωσης και της ώρας που θα

συμβεί αυτή. Γι αυτό στο καντράν του Εξελιγμού έχει χωρίσει το κύκλο σε 3 κυκλικούς

τομείς με τις αντίστοιχες ενδείξεις Η, IC, κενό, που αντιστοιχούν στους αριθμούς 8, 16, 0

που είναι οι ώρες που έπρεπε να προσθέσει ο χρήστης για να υπολογίσει την ακριβή ώρα

έκλειψης μετά από έναν ή δύο κύκλους Σάρου.

Το καντράν του κύκλου του Σάρου, σύμφωνα με τα τελευταία ευρήματα, φαίνεται να φέρει

4 χαραγές οι οποίες πιθανολογείται ότι αντιστοιχούν κάθε μια σε μια αρχή ενός κύκλου

Πανσελήνων ενός κύκλου δηλαδή κατά τον οποίο η Σελήνη είναι σε φάση πανσελήνου και

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

φαίνεται πως διαδραμάτιζε σημαντικό ρόλο στην παρατήρηση του συγκεκριμένου καντράν

του μηχανισμού.

Η όλη εργασία υπήρξε ένας συνδυασμός έρευνας και εφαρμογής των δεδομένων σε

ένα εικονικό μοντέλο. Βέβαια ένα εικονικό μοντέλο δεν μπορεί να αντικαταστήσει με

τίποτα ένα πραγματικό μηχανικό μοντέλο. Από την άλλη μεριά όμως έχει και κάποια

πλεονεκτήματα.

Page 95: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[95]

1. Μπορεί να τεθεί σε λειτουργία και να «μεταφερθεί» μπροστά στην οθόνη πολλών

υπολογιστών ταυτόχρονα έτσι ώστε να διερευνηθεί με διαφορετικούς τρόπους από

πολλούς χρήστες.

2. Έχει χαμηλότερο κόστος κατασκευής και επιπλέον μπορεί να διορθωθεί ή να αλλάξει

η μορφή των εξαρτημάτων του πολύ γρήγορα μέσα από το πρόγραμμα επεξεργασίας

του, ενώ το παλαιότερο μοντέλο αποτελεί τη βάση για βελτίωση και επομένως είναι

απαραίτητο διότι συνεχώς μορφοποιείται.

3. Παρέχει τη δυνατότητα βαθύτερης παρατήρησης, αφού επιτρέπει στο χρήστη να

πλοηγηθεί στο εσωτερικό του μέσω ενός τρισδιάστατου εικονικού περιβάλλοντος,

κάτι που στο πραγματικό μοντέλο και στον πραγματικό κόσμο είναι αδύνατο να

συμβεί. Ειδικά στην περίπτωση του μηχανισμού των Αντικυθήρων, όπου χρειάζεται

να γίνει προσεκτική παρατήρηση και των 35 τουλάχιστον γραναζιών ώστε να

παρατηρηθούν πιθανές ατέλειες ή λάθη στην συναρμογή των γραναζιών, το εικονικό

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

4. Προηγείται της κατασκευής ενός μηχανικού πραγματικού μοντέλου. Πριν την

κατασκευή ενός πραγματικού μηχανικού μοντέλου πρέπει να προηγηθεί έλεγχος όλων

των δεδομένων και των μετρήσεων, οπότε το εικονικό μοντέλο ελέγχει και ελέγχεται

αφού παρεμβάλλεται στη ροή των δεδομένων με τα οποία τροφοδοτείται και

αναπροσαρμόζεται, μέχρι το ποθητό αποτέλεσμα. Τότε πλέον αποτελεί το καλούπι για

το χτίσιμο του πραγματικού μοντέλου.

Όπως αναφέρθηκε, η αρχική μοντελοποίηση έγινε στο πρόγραμμα CINEMA

4D λόγω της εξικοίωσης που υπήρχε με το συγκεκριμένο πρόγραμμα στα πλαίσια της

μεταπτυχιακής μου προετοιμασίας. Το CINEMA 4D εκτός από τη δυνατότητα που

δίνει για την κατασκευή και τοποθέτηση των γραναζιών στις συγκεκριμένες θέσεις

που υπαγορεύουν τα σχεδιαγράμματα, παρέχει και τη δυνατότητα περιστροφής των

γραναζιών ενώ μπορεί να επαληθεύσει μέσω της δυνατότητας XPresso μετρήσιμα

μεγέθη όπως είναι η γωνιακή ταχύτητα των γραναζιών. Με τον τρόπο αυτό έγινε ο

έλεγχος των τελικών αναλογιών που πρέπει να συμπίπτουν με τις αναφερόμενες στα

αποτελέσματα των τελευταίων ερευνών. Το CINEMA 4D όμως έχει και ένα

μειονέκτημα καθότι δεν παρέχει τη δυνατότητα διάδρασης χρήστη – μοντέλου. Το

Page 96: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[96]

μόνο που μπορεί να δώσει είναι ένα video όπου μπορεί να δείξει από διάφορες

οπτικές γωνίες το μοντέλο στοχεύοντας καθαρά σε μια παρουσίαση του και τίποτε

περισσότερο. Για το λόγο αυτό χρησιμοποιήθηκε το Unity3d το οποίο είναι ένα

περιβάλλον χρησιμοποιούμενο κυρίως για την ανάπτυξη παιχνιδιών (Game

Development) και παρέχει δυνατότητα πλήρους διάδρασης μεταξύ χρήστη και

μοντέλου. Επιπλέον το Unity3d διαθέτει και άλλες δυνατότητες οι οποίες είναι:

1. η εξελιγμένη camera με Skybox (ένα περιβάλλον σε σχήμα κύβου όπου

αποτυπώνονται σε πανοραμικό ανάπτυγμα διάφορες όψεις του ουρανού) αλλά και

η εκπομπή 3d ήχου

2. η επιλογή του daylight water το οποίο στην περίπτωση της εικονικής αποτύπωσης

του περιβάλλοντος της περιοχής των Αντικυθήρων υπήρξε ιδανικό διότι,

κάνοντας χρήση ενός ειδικού script που χρησιμοποιεί η μηχανή Unity engine,

κατάφερε να αποδώσει τον κυματισμό και την αντανάκλαση αυξάνοντας το

φωτορεαλισμό.

3. η πληθώρα επιλογών στη χρήση των υλικών (materials) και των υφών (textures)

όπως και οι δυνατότητες σκίασης των αντικειμένων σε συνδυασμό με την επιλογή

διαφόρων ειδών φώτων όπως των κατευθυντικών (directional lights), των φώτων

περιοχής (area lights) αλλά και των spotlights, έδωσε μια επιπλέον αύξηση στη

ρεαλιστικότητα της τρισδιάστατης απεικόνισης του μοντέλου. Επίσης

δημιούργησε και μια σύνδεση μεταξύ του μηχανισμού και του φυσικού

περιβάλλοντος το οποίο τον φιλοξένησε για αιώνες μέχρι την ανακάλυψη του.

Όσον αφορά την επεκτασιμότητα του μοντέλου αναφέρονται τα εξής:

1. Το μοντέλο βασίστηκε σε τρισδιάστατο γραφικό του ερευνητή αστρονόμου

Massimo Mogi Vicentini για το οποίο γίνεται αναφορά στην ιστοσελίδα του

ελληνικού ιστότοπου The Antikythera Research Project “... A solid and a virtual

model (VRML and animations) by Massimo MOGI Vicentini, inspired by works

from Price to the Antikythera Mechanism Research Project …”. Σε επικοινωνία

μέσω ηλεκτρονικού ταχυδρομείου και σε ερώτηση αν το γραφικό του μοντέλο

μπορούσε να χρησιμοποιηθεί, απάντησε ως εξής:

Page 97: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[97]

«Dear Giannis, if you are able to translate VRML file format into other useful for

you, feel free to proceed. Just keep in mind that my models are schematic ones,

they don't match the physical layout of the supposed original, but only the logical

functions. Best wishes for your work, M. Vicentini.». Με άλλα λόγια, εξήγησε πως

το μοντέλο είναι σχηματικό και μπορεί να περιγράψει τη λειτουργία του

μηχανισμού κάτω από προϋποθέσεις, αλλά δεν ακολουθεί πιστά την υποτιθέμενη

διάταξη του πρωτότυπου μοντέλου. Λόγω της μη ύπαρξης ενός τέτοιου μοντέλου

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

πραγματική διάταξη των γραναζιών αφού η αποκωδικοποίηση του μηχανισμού

βρίσκεται σε μια δυναμική εξέλιξη, το συγκεκριμένο αρχείο το οποίο έχει

ενσωματωμένη τη θεωρία του Price θεωρήθηκε σαν μια καλή βάση για την

κατασκευή του συγκεκριμένου μοντέλου. Μια πιθανή εξέλιξη του μοντέλου θα

μπορούσε να στηριχθεί σε δεδομένα που είναι πιο κοντά στις πιθανές πραγματικές

διαστάσεις του μηχανισμού και των γραναζιών του. Θα μπορούσε να γίνει μια

πολυδιάστατη έρευνα η οποία θα έπαιρνε χρόνο μέχρι να γίνει η επαφή με

κατασκευαστές μηχανικών μοντέλων του μηχανισμού όπως για παράδειγμα

Μ.Wright ,A Bromley, R.Deroski σε συνδυασμό με επισκέψεις στο Εθνικό

Αρχαιολογικό Μουσείο στο οποίο φυλάσσεται ο μηχανισμός. Έτσι το μοντέλο

τουλάχιστον από εξωτερικές διαστάσεις και θέσεις γραναζιών θα πλησίαζε ακόμα

πιο κοντά στο πρωτότυπο.

2. Όπως αναφέρθηκε σε προηγούμενη παράγραφο, το μοντέλο κατασκευάστηκε

πρώτα στο CINEMA 4D και μετά μεταφέρθηκε στο Unity3d με ενσωματωμένη τη

σχεδιοκίνηση (animation). Ίσως για αυτό το τελικό μοντέλο είναι λίγο «βαρύ» για

την υπολογιστική ισχύ ενός υπολογιστή με χαμηλές προδιαγραφές. Γι’ αυτό το

λόγο, στο εκτελέσιμο αρχείο exe δόθηκε η δυνατότητα επιλογής ανάλυσης,

βαθμού λεπτομερειών και anti aliasing ώστε να είναι προσαρμόσιμο και για

υπολογιστές χαμηλότερης ισχύος. Έτσι σε μια πιθανή αναβάθμιση, τo μοντέλο θα

μπορούσε να μεταφερθεί στο Unity3d χωρίς σχεδιοκίνηση (animation) από το

CINEMA 4D και όλη η σχεδιοκίνηση να γίνει μέσω scripts στο Unity3d. Tότε

αυτό θα ήταν πιο «ελαφρύ» διότι όλες οι κινήσεις των γραναζιών θα

Page 98: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[98]

καθορίζονταν μέσα από εξισώσεις στα αντίστοιχα scripts και μάλιστα με

απεριόριστο χρόνο.

3. Σε ένα τέτοιο αναβαθμισμένο μοντέλο θα μπορούσε να ενσωματωθεί δυνατότητα

υπολογισμών όπως αυτών που αναφέρονται στην παράγραφο 3.2

«ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ» ώστε ο χρήστης να μπορεί να κάνει

υπολογισμούς όπως για παράδειγμα την εύρεση της ημερομηνίας μιας φάσης της

Σελήνης ή τον υπολογισμό μιας μελλοντικής έκλειψης Σελήνης ή Ηλίου με τη

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

4. Στην περίπτωση πιο χειροπιαστών αποδείξεων και άλλων γραναζιών, ώστε να

παριστάνεται η κίνηση και άλλων πλανητών, όπως έχει προταθεί μέχρι τώρα από

τον M.Wright, θα μπορούσε να γίνει πρόσθεση και άλλων γραναζιών αλλά και

δεικτών άλλων πλανητών.

Page 99: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[99]

ΒΙΒΛΙΟΓΡΑΦΙΑ

Aegyptologie.online-resourcen.de. 2014, Ptolemaic Kings | Egyptology OnlineResources, [online] Διαθέσιμη στη διεύθυνση: http://aegyptologie.online-resourcen.de/Ptolemaic_Kings, [Προσπελάστηκε: 31 Jan 2014].

Antikythera-mechanism.gr. 2008, What does it do? | Πρόγραμμα Μελέτης ΜηχανισμούΑντικυθήρων, [online] Διαθέσιμη στη διεύθυνση: http://www.antikythera-mechanism.gr/el/faq/general-questions/what-does-it-do, [Προσπελάστηκε: 31 Jan 2014].

Ball, P. 2008. Complex clock combines calendars, Nature, 454 (7204), σελ. 561.

Diocles.civil.duth.gr. 2014, [online] Διαθέσιμη στη διεύθυνση:http://diocles.civil.duth.gr/links/home/museum/mater/glass/glass1.html,[Προσπελάστηκε: 31 Jan 2014].

Eclipse.gsfc.nasa.gov. 2014, NASA Eclipse Web Site, [online] Διαθέσιμη στη διεύθυνση:http://eclipse.gsfc.nasa.gov/eclipse.html, [Προσπελάστηκε: 31 Jan 2014].

Eclipse.gsfc.nasa.gov. 2014, Catalog of Lunar Eclipses: -0199 to -0100. [online]Διαθέσιμη στη διεύθυνση: http://eclipse.gsfc.nasa.gov/LEcat5/LE-0199--0100.html[Προσπελάστηκε: 31 Jan 2014].

Eclipse.gsfc.nasa.gov, NASA - Eclipses and the Saros In-text: (Eclipse.gsfc.nasa.gov,2014c) Bibliography: Eclipse.gsfc.nasa.gov. 2014. NASA - Eclipses and the Saros,[online] Διαθέσιμη στη διεύθυνση: http://eclipse.gsfc.nasa.gov/SEsaros/SEsaros.html,[Προσπελάστηκε: 31 Jan 2014].

Evans, J., Carman, C. C. and Thorn-Dike, A. S. 2010, Solar anomaly and planetarydisplays in the Antikythera mechanism, Journal for the History of Astronomy, 41 (1),σελ. 1.

Freeth, T, 2012, Building the Cosmos in the Antikythera Mechanism, 1 σελ. 18.

Freeth, T., Bitsakis, Y., Moussas, X., Seiradakis, J., Tselikas, A., Magkou, E.,Zafeiropoulou, M., Hadl, Bate, D., Ramsey, A. and Others. 2006, Decoding theAntikythera mechanism: investigation of an ancient astronomical calculator. Nature,444 (7119), σελ. 587-σελ.591.

Page 100: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[100]

Freeth, T., Jones, A., Steele, J. M. and Bitsakis, Y. 2008, Calendars with Olympiaddisplay and eclipse prediction on the Antikythera Mechanism. Nature, 454 (7204), σελ.614-σελ.617.

Gill, N. 2014, Pictures of the Periods of History in Ancient Egypt, [online] Διαθέσιμηστη διεύθυνση:http://ancienthistory.about.com/od/egyptperiods/ss/022208EgyptPer_9.htm[Προσπελάστηκε: 31 Jan 2014].

Infoplease.com. 2014. History of the Egyptian Calendar | Infoplease.com, [online]Διαθέσιμη στη διεύθυνση: http://www.infoplease.com/calendar/egyptian.html[Προσπελάστηκε: 31 Jan 2014].

Maps.google.com, 2014, Antikythera shipwreck location (Antikythera mechanism) -Google Maps, [online] Διαθέσιμη στη διεύθυνση:https://maps.google.com/maps/ms?ie=UTF8&t=h&oe=UTF8&msa=0&msid=202393600671383377909.0004dec31776d8670ec47 [Προσπελάστηκε: 31 Jan 2014].

Price, D. J. D. S. 1974, Gears from the Greeks, Philadelphia: American PhilosophicalSociety.

Roumeliotis, M. 2012, Are the modern computer simulations a substitute for physicalmodels? The Antikythera case. 1 σελ. 36.

Seiradakis, J. H. 2012, THE ANTIKYTHERA MECHANISM: From the bottom of thesea to the scrutiny of modern technology. 1 σελ. 7.

Walker, J. 2014, Lunar Perigee and Apogee Calculator. [online] Διαθέσιμη στηδιεύθυνση: http://fourmilab.ch/earthview/pacalc.html [Προσπελάστηκε: 31 Jan 2014].

Wikipedia 2014, Μηχανισμός των Αντικυθήρων, [online] Διαθέσιμη στη διεύθυνση:http://el.wikipedia.org/wiki/%CE%9C%CE%B7%CF%87%CE%B1%CE%BD%CE%B9%CF%83%CE%BC%CF%8C%CF%82_%CF%84%CF%89%CE%BD_%CE%91%CE%BD%CF%84%CE%B9%CE%BA%CF%85%CE%B8%CE%AE%CF%81%CF%89%CE%BD [Προσπελάστηκε: 31 Jan 2014].

Wikipedia 2014, Antikythera mechanism, [online] Διαθέσιμη στη διεύθυνση:http://simple.wikipedia.org/wiki/Antikythera_mechanism [Προσπελάστηκε: 31 Jan2014].

Page 101: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[101]

Wikipedia 2014, Antikythera mechanism, [online] Διαθέσιμη στη διεύθυνση:http://en.wikipedia.org/wiki/Antikythera_mechanism#cite_note-marchant-26[Προσπελάστηκε: 31 Jan 2014].

Wikipedia 2014, Antikythera mechanism, [online] Διαθέσιμη στη διεύθυνση:http://en.wikipedia.org/wiki/Antikythera_mechanism [Προσπελάστηκε: 31 Jan 2014].

Page 102: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[102]

ΠΑΡΑΡΤΗΜΑΤΑ

ΠΑΡΑΡΤΗΜΑ Α

Ερωτηματολόγιο διερευνητικού χαρακτήρα για τηδημιουργία τρισδιάστατου διαδραστικού μοντέλου τουμηχανισμού των αντικυθήρων

Γνωρίζετε τι είναι ο μηχανισμός των αντικύθήρων?

o Ναι γνωρίζω ακριβώς τι είναι

o Οχι δεν γνωρίζω

o Το έχω ακουστά αλλά δεν γνωρίζω ακριβώς τι είναι

Ο μηχανισμός των Αντικυθήρων (The Antikythera mechanism(Fragment A – front))

Page 103: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[103]

Θα σας ενδιέφερε η δημιουργία ενός μοντέλου προσομοίωσης τουμηχανισμού ώστε να τον γνωρίσετε καλυτερα?

o Ναι θα με ενδιέφερε

o Όχι θα αρκεστώ σε εικόνες και σχέδια του μηχανισμού

o Όχι δεν με ενδιαφέρει καθόλου το θέμα

Στην περίπτωση κατασκευής ενός τέτοιου μοντέλου θαπροτιμούσατε να είναι

o Δισδιάστατο

o Τρισδιάστατο

Επιπλέον χαρακτηριστικά του μοντέλου : (επιλέξτε ένα ήπερισσότερα χαρακτηριστικά )

o Διαδραστικό

o Κινούμενο

o Με μουσική επένδυση

Page 104: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[104]

Στην περίπτωση που το μοντέλο είναι διαδραστικό πως θαπροτιμούσατε να γίνει η 3d πλοήγηση στο χώρο του μηχανισμού?

o Με πληκτρολόγιο (keyboard)

o Με ποντίκι (mouse)

o Και με τα δυο (Keyboard + mouse)

Στην περίπτωση κίνησης των γραναζιών του μοντέλου ποιαcontrol θα προτιμούσατε να υπάρχουν (Επιλέξτε 1 ήπερισσότερα)

o Play

o Stop - Reset

o Pause

o μεταβολέας (slider) ταχύτητας περιστροφής

Σε ποια ανάλυση προτιμάτε να εμφανίζεται το μοντέλο ?

o 1024x768

o 1280x720 (720p)

o 1680x1050

o να υπάρχει η δυνατότητα επιλογής περισσοτέρων της μιας ανάλυσης

Για ποια πλατφόρμα υποδοχής προτιμάτε να διανέμεται τομοντέλο?

o Για MIcrosoft Windows

o Για Mac

o Για Linux

o Για Android

o Για Xbox 360

o Για Wii

o Για Blackberry

o Για όλα τα παραπάνω

Κατηγοριοποιήστε τον επεξεργαστή του συστήματός σαςεπιλέγοντας μια από τις παρακάτω κατηρορίες

o Μονοπύρηνος επεξεργαστής (single core)

Page 105: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[105]

o Διπύρηνος επεξεργαστής (dual core)

o Τριπύρηνος εεξεργαστής ή i3

o Τετραπύρηνος επεξεργαστής

o i5

o Εξαπύρηνος και άνω

Κατηγοριοποιήστε την μνήμη της κάρτας γραφικών τουσυστήματός σας επιλέγοντας μια από τις παρακάτω κατηγορίες

o με μνήμη μικρότερη από 512 Mb

o με μνήμη μεγαλύτερη από 512 Mb

ΠΑΡΑΡΤΗΜΑ Β

Αρχείο antikythera_allres.flaΚώδικας στο scene1

1. //Εισαγωγή των απαραίτητων βιβλιοθηκών2. import flash.events.Event;3. import flash.media.SoundTransform;4. import flash.media.Sound;5. import fl.events.SliderEvent;6. import flash.events.MouseEvent;

7. //Δήλωση μεταβλητών8. // Candle flame effect9. var mysound1:Sound = new gears();10. var mysound2:Sound = new theme();11. var myChannel1:SoundChannel = new SoundChannel();12. var myChannel2:SoundChannel = new SoundChannel();13. var myTransform1 = new SoundTransform ;14. var myTransform2 = new SoundTransform ;15. var rndNum:Number = Math.floor(Math.random() * 1E9);16. var offSpeeds:Array = [20,32];17. var offsets:Array = [new Point(0,0),new Point(0,0)];18. var noiseImage:BitmapData;19. var noise_mc:MovieClip;

Page 106: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[106]

20. var noiseImageBmp:Bitmap;21. var colorMatFilter:ColorMatrixFilter;22. var glow:GlowFilter = new GlowFilter ;23. var leverd_appear:Boolean = false;24. var leveru_appear:Boolean = false;25. var lever_appear:Boolean = true;26. var levery_initial:Number;27. var leverx_initial:Number;28. var onlever:Boolean = false;29. var g12a_rotation_dump:Number;30. var g12b_rotation_dump:Number;31. var g6_rotation_dump:Number;32. var rotationspeed:Number;33. //scroll_menu34. var choice_menu:String = "menu";35. var scrollSpeed:uint = 0;36. var s1y_init:Number;37. var s2y_init:Number;38. var s1x_init:Number;39. var s2x_init:Number;40. var mech2d:Boolean = false;41. var mech3d:Boolean = false;42. var s1:Scrollmenu = new Scrollmenu();43. var checkup:Boolean = false;44. var checkdown:Boolean = false;45. //Activate and deactivate events46. var originalFrameRate:uint = stage.frameRate;47. var standbyFrameRate:uint = 0;48. var timeposition:Number = 0;49. var initvirx:Number=-92.60;50. var initviry:Number=515;

51. //Κύριο μέρος του κώδικα52. //Activate and deactivate events53. stage.addEventListener( Event.ACTIVATE, onActivate );54. stage.addEventListener( Event.DEACTIVATE, onDeactivate );55. // quality56. stage.quality=StageQuality.BEST;57. // quality58. plaisio.visible = false;59. //sound60. myTransform1.volume = 0.3;61. myTransform2.volume = slider.value;62. myChannel1.soundTransform = myTransform1;63. myChannel2.soundTransform = myTransform2;64. myChannel2 = mysound2.play(timeposition,int.MAX_VALUE);65. //morph_slider66. slider.getChildAt(0).width =180;67. slider.getChildAt(0).height = 25;68. slider.getChildAt(1).width = 40;

Page 107: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[107]

69. slider.getChildAt(1).height = 40;70. //morph slider71. //slider event72. slider.addEventListener(SliderEvent.CHANGE,onslider);73. slider.addEventListener(MouseEvent.MOUSE_OVER,onover);74. //slider event75. //scroll_menu76. glow.color = 0xFFFF99;77. glow.alpha = 1;78. glow.blurX = 25;79. glow.blurY = 25;80. /////flame script from Peter Joel (The Peter Joel Candle Flame Effect in AS3)////81. // define a new movie clip for the noise82. // and position it inside the flame83. // container, which is already on the stage84. noise_mc = new MovieClip();85. flameContainer.addChildAt(noise_mc, 1);86. noise_mc.x = flameContainer.flameMask.x;87. noise_mc.y = flameContainer.flameMask.y;88. flameContainer.blendMode = "screen";89. flameContainer.flameMask.visible = false;90. // define a new bitmap for the noise91. noiseImage = new

BitmapData(flameContainer.flameMask.width,flameContainer.flameMask.height,false);92. noiseImageBmp = new Bitmap(noiseImage);93. noise_mc.addChild(noiseImageBmp);94. // define a color matrix filter ;95. colorMatFilter = new ColorMatrixFilter([6,0,0,0,-255,5.5,0,0,0,-255,5,0,0,0,-

255,0,0,0,0,255]);96. // call the event handler function to prevent97. // a noticeable delay in the flame effect98. applyflameFilters(new Event(Event.ENTER_FRAME));99. // add the listener100. addEventListener(Event.ENTER_FRAME, applyflameFilters);101. // the function that does all the work102. function applyflameFilters(event:Event):void103. {104. var j:int = offsets.length;105. var l:Rectangle;106. var m:int;107. var amount:Number;108. for (var i:int = 0; i < j; ++i)109. {

i. offsets[i].y = offsets[i].y + offSpeeds[i];110. }111. noiseImage.perlinNoise(250, 800, 2, rndNum, true, true, 0, true, offsets);112. flameContainer.flameMask.transform.matrix.tx = noise_mc.x;113. flameContainer.flameMask.transform.matrix.ty = noise_mc.y;114. noiseImage.draw(flameContainer.flameMask,

flameContainer.flameMask.transform.matrix,

Page 108: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[108]

flameContainer.flameMask.transform.colorTransform, "multiply");115. noiseImage.applyFilter(noiseImage, noiseImage.rect, new Point(0,0), colorMatFilter);116. l = noiseImage.getColorBoundsRect(4.294967E+9,4.294967E+9);117. m = l.height * l.width;118. amount = (127 - m / 10) / 1024;119. glow.quality = amount;120. noise_mc.filters = [glow];

121. //textGlow(amount);122. }123. //adding paper_menu124. addChildAt(s1,3);125. s1.x = plaisio.x + plaisio.width / 2;126. s1.y = plaisio.y + plaisio.height / 2;127. s1y_init = s1.y;128. s1x_init = s1.x;129. //Adds an ENTER_FRAME event listener to the stage.130. stage.addEventListener(Event.ENTER_FRAME,onstageframe);131. function onstageframe(e:Event):void132. {

133. //sound_length control134. if(myChannel2.position/mysound2.length>0.99)135. {136. timeposition=0;137. myChannel2.stop();138. myChannel2 = mysound2.play(timeposition,int.MAX_VALUE);139. }140. //sound_length control141. // virtual lever control142. vir_lever.x=-92.60;143. if(vir_lever.y<initviry)144. {145. lever_appear = false;146. leveru_appear = true;147. }148. if(vir_lever.y>initviry)149. {150. lever_appear = false;151. leverd_appear = true;

152. }

153. //lever moving up or down illusion , sound & rotation control154. if (lever_appear)155. {

156. //SoundMixer.stopAll();157. //myChannel1.stop();158. leveru_appear = false;

Page 109: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[109]

159. leverd_appear = false;160. rotationspeed = 0;161. scrollSpeed = 0;

162. }163. if (leveru_appear)164. {165. leverd_appear = false;166. lever_appear = false;167. rotationspeed = 7;168. scrollSpeed = 7;169. }170. if (leverd_appear)171. {172. leveru_appear = false;173. lever_appear = false;174. rotationspeed = -7;175. scrollSpeed = 7;176. }177. if (leveru_appear)178. {179. lever_up.visible = true;180. checkup = true;181. }182. else183. {184. lever_up.visible = false;185. checkup = false;186. }187. if (leverd_appear)188. {189. lever_down.visible = true;190. checkdown = true;191. }192. else193. {194. lever_down.visible = false;195. checkdown = false;196. }197. if (lever_appear)198. {199. lever.visible = true;200. checkup = false;201. checkdown = false;202. }203. else204. {205. lever.visible = false;206. }207. g12a.rotation -= rotationspeed;

Page 110: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[110]

208. g12b.rotation -= rotationspeed;209. g6.rotation += 2 * rotationspeed;210. if (checkup)211. {212. s1.y += scrollSpeed;213. }214. if (checkdown)215. {216. s1.y -= scrollSpeed;217. }

218. }219. //mouse events220. stage.addEventListener(MouseEvent.RIGHT_CLICK,rightclick)221. vir_lever.addEventListener(MouseEvent.MOUSE_DOWN,virdown);222. stage.addEventListener(MouseEvent.MOUSE_UP,onup);223. //mouse events224. //disable rightclick problem while scrolling225. function rightclick(ec:MouseEvent):void226. {227. onup(null);228. }229. // disable rightclick problem while scrolling230. //control mouse drag when left click release231. function onup(e:MouseEvent):void232. {233. myChannel1.stop();234. lever_appear=true;235. vir_lever.stopDrag();236. vir_lever.x=initvirx;237. vir_lever.y=initviry;238. }239. // control mouse drag when left click release240. // control activation of application, restore sound241. function onActivate( e:Event ):void242. {243. // restore original frame rate244. stage.frameRate = originalFrameRate;245. myTransform2.volume = slider.value;246. myChannel2.soundTransform = myTransform2;247. }248. // control activation of application, restore sound249. //control deactivation of application, pause sound250. function onDeactivate( e:Event ):void251. {252. stage.frameRate = standbyFrameRate;253. myTransform2.volume = 0;254. myChannel2.soundTransform = myTransform2;255. }256. //control deactivation of application, pause sound

Page 111: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[111]

257. //control sound volume258. function onslider(e:SliderEvent):void259. {260. myTransform2.volume=slider.value;261. myChannel2.soundTransform=myTransform2;262. }263. //control sound volume264. //add button mode to slider265. function addButtonMode(display:*):void266. {267. if (display is Sprite)268. {269. for (var i:int = 0;i < display.numChildren;i++)270. {271. addButtonMode(display.getChildAt(i));272. }273. display.useHandCursor = true;274. display.buttonMode = true;275. }276. }277. //add button mode to slider

278. //appearance button mode on mouse over279. function onover(em:MouseEvent)280. {281. addButtonMode(slider);282. }283. //appearance button mode on mouse over284. function virdown(evir:MouseEvent):void285. {286. vir_lever.startDrag();287. myChannel1 = mysound1.play(0,int.MAX_VALUE);288. myChannel1.soundTransform=myTransform1;289. }290. //appearance button mode on mouse over

Κώδικας paper_menu

291. //import flash libraries292. import flash.events.Event;293. //import flash libraries294. //declare variables295. var myparent:MovieClip=MovieClip(this.parent);296. //declare variables297. //add ENTER_FRAME event listener298. this.addEventListener(Event.ENTER_FRAME,onframe);299. //add ENTER_FRAME event listener300. // control moving between limits301. function onframe(e:Event):void302. {

Page 112: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[112]

303. if(start_menu.hitTestObject(myparent.papyru) &&myparent.choice_menu=="menu")

304. {305. myparent.lever_appear=true;306. }307. if(end_menu.hitTestObject(myparent.papyrd) &&

myparent.choice_menu=="menu")308. {309. myparent.lever_appear=true;310. }311. if(start_red.hitTestObject(myparent.papyru) &&

myparent.choice_menu=="menu")312. {313. this.y=myparent.s1y_init;314. this.x=myparent.s1x_init;315. myparent.lever_appear=true;316. }317. if(end_red.hitTestObject(myparent.papyrd) &&

myparent.choice_menu=="menu")318. {319. this.y=myparent.s1y_init;320. this.x=myparent.s1x_init;321. myparent.lever_appear=true;322. }323. }324. //control moving between limits

Κώδικας της επιλογής «ΜΟΝΤΕΛΟΠΟΙΗΣΗ»325. //import flash libraries326. import flash.events.Event;327. //import flash libraries328. //declare variables329. var obj_color:ColorTransform = new ColorTransform();330. var myparent:MovieClip=MovieClip(this.parent.parent);331. var c1:paper_choice_1 = new paper_choice_1();332. obj_color.color = 0x894545;333. //declare variables334. //add events listener335. this.addEventListener(MouseEvent.CLICK,onclick)336. this.addEventListener(MouseEvent.MOUSE_OVER,onover);337. this.addEventListener(Event.ENTER_FRAME,onframe);338. //add events listener339. //stop if moving reset position and add child340. function onclick(e:Event):void341. {342. this.transform.colorTransform=obj_color;343. myparent.lever_appear=true;344. myparent.choice_menu="choice1";345. myparent.s1.y=myparent.s1y_init;346. myparent.s1.x=myparent.s1x_init;

Page 113: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[113]

347. this.parent.addChildAt(c1,10);348. }349. //stop if moving reset position and add child350. //show button mode on mouse over351. function onover(ev:Event):void352. {353. this.buttonMode=true;354. this.mouseChildren=true;355. }356. //show button mode on mouse over357. //when click in arrow back to menu remove child358. function onframe(e:Event):void359. {360. if (myparent.choice_menu=="menu")361. {362. if(this.parent.contains(c1))363. {364. this.parent.removeChild(c1);365. }366. }367. //when click in arrow back to menu remove child368. //boundaries for c1 start_choice1, end_choice1 : must not exceed369. if(c1.start_choice1.hitTestObject(myparent.papyru) &&

myparent.choice_menu=="choice1")370. {371. myparent.lever_appear=true;372. }373. if(c1.end_choice1.hitTestObject(myparent.papyrd) &&

myparent.choice_menu=="choice1")374. {375. myparent.lever_appear=true;376. }377. // boundaries for c1 start_choice1, end_choice1 : must not exceed378. //for users who insist to click out of boundaries must return to menu379. if(c1.start_red.hitTestObject(myparent.papyru) &&

myparent.choice_menu=="choice1")380. {381. if(this.parent.contains(c1))382. {383. this.parent.removeChild(c1);384. }385. myparent.choice_menu="menu";386. myparent.s1.y=myparent.s1y_init;387. myparent.s1.x=myparent.s1x_init;388. myparent.lever_appear=true;389. }390. if(c1.end_red.hitTestObject(myparent.papyrd) &&

myparent.choice_menu=="choice1")391. {392. if(this.parent.contains(c1))

Page 114: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[114]

393. {394. this.parent.removeChild(c1);395. }396. myparent.choice_menu="menu";397. myparent.s1.y=myparent.s1y_init;398. myparent.s1.x=myparent.s1x_init;399. myparent.lever_appear=true;400. }401. }402. for users who insist to click out of boundaries must return to menu

Κώδικας της επιλογής «ΜΗΧΑΝΙΣΜΟΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ»403. //import flash libraries404. import flash.events.Event;405. //import flash libraries406. //declare variables407. var obj_color:ColorTransform = new ColorTransform();408. var myparent:MovieClip = MovieClip(root);409. var myloader:Loader=new Loader();410. var mcExternal:MovieClip;411. var onclicko:Boolean = false;412. obj_color.color = 0x894545;413. // declare variables414. //mouse events415. this.addEventListener(MouseEvent.CLICK,onclick);416. this.addEventListener(MouseEvent.MOUSE_OVER,onover);417. // mouse events418. function onclick(e:Event):void419. {420. //hide objects;421. myparent.removeChild(myparent.s1);422. myparent.setChildIndex(myparent.papyrus_down,0);423. myparent.setChildIndex(myparent.papyrus_up,0);424. myparent.papyrus_up.visible=false;425. myparent.papyrus_down.visible=false;426. myparent.brackets.visible=false;427. myparent.connection.visible = false;428. myparent.g12a.visible = false;429. myparent.g12b.visible = false;430. myparent.g6.visible = false;431. myparent.slot.visible=false;432. myparent.up_Arrow.visible=false;433. myparent.down_Arrow.visible=false;434. myparent.lever.visible=false;435. myparent.lever_up.visible=false;436. myparent.lever_down.visible=false;437. myparent.setChildIndex(myparent.lever, 0);438. myparent.panflute.visible=false;439. myparent.slider.visible=false;440. //hide objects441. //memorize time position

Page 115: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[115]

442. myparent.timeposition=myparent.myChannel2.position;443. //memorize time position444. // stop background music445. myparent.myChannel2.stop();446. // stop background music447. //change selection color448. this.transform.colorTransform = obj_color;449. //change selection color450. // stop scroll451. myparent.lever_appear=true;452. // stop scroll453. onclicko = true;454. // add new GUI455. myparent.addChildAt(myloader,22);456. myloader.load(new URLRequest("moon_phases 5_10.swf"));457. myloader.contentLoaderInfo.addEventListener(Event.COMPLETE,swfIn);458. // add new GUI459. myparent.mech2d=true;460. //remove ENTER_FRAME and TIMER events461. myparent.stage.removeEventListener(Event.ENTER_FRAME,myparent.onstagef

rame);462. myparent.panflute.waves.removeEventListener(TimerEvent.TIMER,myparent.pa

nflute.waves.onstageframe);463. }464. //remove ENTER_FRAME and TIMER events465. function onover(ev:Event):void466. {467. this.buttonMode = true;468. this.mouseChildren = true;469. }470. //add swf as movieclip in certain position471. function swfIn(e:Event):void472. {473. myloader.contentLoaderInfo.removeEventListener(Event.COMPLETE,swfIn);474. mcExternal = myloader.content as MovieClip;475. mcExternal.x = -170;476. mcExternal.y = 80;477. mcExternal.width *= 0.95;478. mcExternal.height *= 0.95;479. }480. //add swf as movieclip in certain position

Page 116: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[116]

Αρχείο moon_phases_5_10.fla

O κώδικας στο Scene 1

481. //import necessary libraries482. import flash.utils.Timer;483. import fl.events.SliderEvent;484. import flash.events.Event;485. import flash.events.MouseEvent;486. import com.thomas.DatePicker.DatePicker;487. //import necessary libraries488. //declare variables489. var datepicker:DatePicker = new DatePicker();490. var end_dat:Date = new Date();491. var start_dat:Date = new Date('Sun May 6 2012');492. var zero_dat:Date = new Date('Sun May 6 2012');493. var start_olympiad:Date=new Date();494. var start_dat_init:Date = new Date();495. start_dat_init = start_dat;496. var seconds:Number = 0;497. var hours:Number = 0;498. var k:int = 100;499. var l:int;500. var timex:int = 0;501. var timex1:int = 0;502. var timex2:int = 0;503. var mytimer:Timer = new Timer(k,l);504. var myTextFormat:TextFormat = new TextFormat();505. var myTextFormat1:TextFormat = new TextFormat();506. var myTextFormat2:TextFormat = new TextFormat();507. var changeDirection:Boolean = false;508. var playable:Boolean = false;509. var fullmoon:Number = 0;510. var changesign:int = -1;511. var LA:Number;512. var LB:Number;513. var LG:Number;514. var LD:Number;515. var selection_seconds:Number;516. var coeficient:Number = 1.0;517. var mpinsel:Boolean = true;518. var goto:Boolean = false;519. var start_goto:Boolean = false;520. var from_start:Boolean = false;521. var selection_seconds_from_start:Number;522. var mySound:Sound = new alpha_sound();523. var myChannel:SoundChannel = new SoundChannel();524. var myTransform=new SoundTransform;525. var timeposition:Number=0;

Page 117: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[117]

526. var mainSwf:MovieClip;527. //declare variables528. //morphing datepicker529. datepicker.setSkin("white");530. addChild(datepicker);531. datepicker.x=150;532. datepicker.y=151;533. //morphing datepicker534. //hide help535. help_cover.visible=false;536. //hide help537. //Morphing text538. myTextFormat1.font = "Avdira";539. myTextFormat1.size = 18;540. myTextFormat1.color = 0xFF0000;541. myTextFormat1.bold=true;542. myTextFormat.font = "Avdira";543. myTextFormat.size = 16;544. myTextFormat.color = "Black";545. myTextFormat.bold=true;546. myTextFormat2.font = "Avdira";547. myTextFormat2.size = 18;548. myTextFormat2.color = 0x000000;549. myTextFormat2.bold=true;550. datepicker.visible = false;551. mybutton.visible = false;552. my_label.setStyle("textFormat", myTextFormat1);553. date_label.setStyle("textFormat", myTextFormat);554. main_label.setStyle("textFormat", myTextFormat);555. meton_label.setStyle("textFormat", myTextFormat);556. callipos_label.setStyle("textFormat", myTextFormat);557. saros_label.setStyle("textFormat", myTextFormat);558. exeligmos_label.setStyle("textFormat", myTextFormat);559. olympiad_label.setStyle("textFormat", myTextFormat);560. LA_label.setStyle("textFormat", myTextFormat);561. LB_label.setStyle("textFormat", myTextFormat);562. LG_label.setStyle("textFormat", myTextFormat);563. LD_label.setStyle("textFormat", myTextFormat);564. select.setStyle("textFormat", myTextFormat);565. select_start.setStyle("textFormat", myTextFormat);566. calendar_rot_label.setStyle("textFormat", myTextFormat1);567. play_label.setStyle("textFormat", myTextFormat1);568. step_label.setStyle("textFormat", myTextFormat1);569. stop_label.setStyle("textFormat", myTextFormat1);570. //Morphing text571. //morphing sliders572. slider.getChildAt(0).width =200;573. slider.getChildAt(0).height = 25;574. slider.getChildAt(1).width = 40;575. slider.getChildAt(1).height = 40;

Page 118: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[118]

576. slider1.getChildAt(0).width =250;577. slider1.getChildAt(0).height = 25;578. slider1.getChildAt(1).width = 40;579. slider1.getChildAt(1).height = 40;580. slider2.getChildAt(0).width =150;581. slider2.getChildAt(0).height = 25;582. slider2.getChildAt(1).width = 40;583. slider2.getChildAt(1).height = 40;584. //morphing sliders585. //create events586. mytimer.addEventListener(TimerEvent.TIMER, ontime);587. slider.addEventListener(SliderEvent.CHANGE,onslider);588. slider.addEventListener(MouseEvent.MOUSE_OVER,onover);589. slider1.addEventListener(SliderEvent.CHANGE,onslider1);590. slider1.addEventListener(MouseEvent.MOUSE_OVER,onover1);591. slider2.addEventListener(SliderEvent.CHANGE,onslider2);592. slider2.addEventListener(MouseEvent.MOUSE_OVER,onover2);593. this.addEventListener(Event.ENTER_FRAME,onframe);594. mybutton.addEventListener(MouseEvent.CLICK,onclick);595. //create evets596. // outer dial orientation597. outer_dial_rot_text.text = "=115";598. // outer dial orientation599. // initial conditions600. reset_clear();601. day_text.text = String(start_dat);602. var cur_dat:Date = new Date(String(day_text.text));603. // initial conditions604. // quality605. stage.quality=StageQuality.BEST;606. // quality607. function onframe(ev:Event):void608. {609. if (select.selected)610. {611. select_start.visible = false;612. pause_button.onclick(null);613. slider2.value=1;614. }615. if (select_start.selected)616. {617. select.visible = false;618. }619. if (!select_start.selected)620. {621. select.visible = true;622. }623. if (!select.selected && timex==0)624. {625. select_start.visible =true;

Page 119: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[119]

626. }627. if (!select.selected && timex!=0)628. {629. select_start.visible =false;630. }631. if (select.selected || select_start.selected)632. {633. mytimer.stop();634. datepicker.visible = true;635. mybutton.visible = true;636. date_label.visible=false;637. }638. else639. {640. datepicker.visible = false;641. mybutton.visible = false;642. date_label.visible=true;643. }

644. outer_dial_rot_text.text = " = " + String(slider1.value);645. if (cur_dat<start_dat && timex>0)646. {647. reset_clear();648. forward.onclick(null);649. }650. }651. function onslider(e:SliderEvent):void652. {653. switch (slider.value)654. {655. case 0 :656. mytimer.delay = 1000;657. break;658. case 1 :659. mytimer.delay = 100;660. break;661. case 2 :662. mytimer.delay = 10;663. break;664. }665. }666. function onslider2(e2:SliderEvent):void667. {668. switch (slider2.value)669. {670. case 0 :671. play_button.onclick(null);672. break;673. case 1 :674. pause_button.onclick(null);

Page 120: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[120]

675. break;676. case 2 :677. forward.onclick(null);678. break;679. }680. }681. function onslider1(e1:SliderEvent):void682. {683. calendar.outer.rotationZ = slider1.value - 115;684. outer_dial_rot_text.text = " =" + String(slider1.value);685. }686. function ontime(e:TimerEvent):void687. {688. timex += coeficient;689. sun.rotationZ += saros.varia.speedrotation;690. moon.rotationZ += 13.36851421180119 * saros.varia.speedrotation;691. seconds = 240 * 365.25 * saros.varia.speedrotation;692. cur_dat.seconds += seconds;693. day_text.text = String(cur_dat);694. exeligmos_text.text=String(Math.abs(int((saros.pointer.rotation)/(12 * 360))));695. if (! goto && ! start_goto)696. {697. meton.ontime();698. saros.ontime();699. meton.callipos.ontime();700. meton.Olympiad.ontime();701. saros.exeligmos.ontime();702. }703. lunar.moon_pointer.dark.ontime();704. moon.moon_pointer.dark.ontime();705. saros.pointer.pin.ontime();706. meton.pointer.pin.ontime();707. }708. function getDaysBetweenDates(date1:Date,date2:Date):Number709. {710. var one_day:Number = 1000 * 3600 * 24;711. var date1_ms:Number = date1.getTime();712. var date2_ms:Number = date2.getTime();713. var difference:Number = (date1_ms - date2_ms) / 1000;714. return difference;715. }716. function onclick(e:MouseEvent):void717. {718. if (select_start.selected && datepicker.getDatum()!=null)719. {720. end_dat = new Date(String(datepicker.getDatum()));721. meton.Olympiad.olympiaddate=new722. Date(String(datepicker.getDatum()));723. datepicker.visible = false;724. mybutton.visible = false;

Page 121: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[121]

725. select_start.selected = false;726. day_text.text = String(start_dat);727. cur_dat = start_dat;728. select.visible =true;729. select_start.visible=false;730. start_goto = true;731. from_start = true;732. goto = true;733. calculations(start_goto,start_dat_init,end_dat);734. timex = 0;735. }736. else if (select.selected && datepicker.getDatum()!=null)737. {738. var end_dat:Date = new Date(String(datepicker.getDatum()));739. goto = true;740. start_goto = false;741. if (from_start)742. {743. from_start = ! from_start;744. }745. if (end_dat<start_dat && select.selected)746. {747. end_dat = cur_dat;748. }749. calculations(start_goto,start_dat,end_dat);750. }751. }752. function calculations(checkin:Boolean,start_dat:Date,end_dat:Date):void753. {754. selection_seconds_from_start = getDaysBetweenDates(end_dat,start_dat);755. selection_seconds = getDaysBetweenDates(end_dat,cur_dat);756. saros.varia.speedrotation = selection_seconds / (365.25 * 240);757. datepicker.visible = false;758. mybutton.visible = false;759. select.selected = false;760. coeficient = selection_seconds;761. ontime(null);762. if (! checkin)763. {764. meton.ontime();765. saros.ontime();766. meton.Olympiad.ontime();767. meton.callipos.ontime();768. saros.exeligmos.ontime();769. meton.pointer.pin.ontime();770. saros.pointer.pin.ontime();771. }772. if(cur_dat!=end_dat)773. {774. forward.onclick(null);

Page 122: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[122]

775. }776. }777. function reset_clear():void778. {779. mytimer.stop();780. saros.varia.speedrotation = 0;781. meton.pointer.rotationZ = 0;782. saros.pointer.rotationZ = 0;783. meton.Olympiad.pointer.rotationZ = 0;784. meton.callipos.pointer.rotation = 0;785. saros.exeligmos.pointer.rotation = 0;786. timex = 0;787. }788. function addButtonMode(display:*):void789. {790. if (display is Sprite)791. {792. for (var i:int = 0;i < display.numChildren;i++)793. {794. addButtonMode(display.getChildAt(i));795. }796. display.useHandCursor = true;797. display.buttonMode = true;798. }799. }800. function onover(em:MouseEvent)801. {802. addButtonMode(slider);803. }804. function onover1(em1:MouseEvent)805. {806. addButtonMode(slider1);807. }808. function onover2(em2:MouseEvent)809. {810. addButtonMode(slider2);811. }

Κώδικας του καντράν Saros812. //import necessary libraries813. import flash.events.Event;814. import flash.display.MovieClip;815. import flash.utils.Timer;816. //import necessary libraries817. //declare variables818. var myparent:MovieClip=MovieClip(this.parent);819. //declare variables820. function ontime():void821. {

Page 123: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[123]

822. if(!myparent.start_goto && myparent.from_start)823. {824. pointer.rotationZ+=-0.222 *0.5;825. }826. if(! myparent.start_goto && !myparent.from_start)827. {828. pointer.rotationZ+=-0.222*myparent.saros.varia.speedrotation;829. if(Math.abs(pointer.rotation/(4*360)-int(pointer.rotation/(4*360)))<0.01 )830. {831. if (myparent.saros.varia.speedrotation > 0)832. {833. pointer.pin.xinit = -153.4;834. }835. if (myparent.saros.varia.speedrotation < 0 &&

myparent.cur_dat<myparent.start_dat836. )837. {838. pointer.pin.xinit = -153.4- 120;839. }840. }841. if (Math.abs(pointer.rotation) < 0.5 && myparent.timex == 0)842. {843. if (myparent.saros.varia.speedrotation < 0)844. {845. pointer.pin.xinit = -153.4- 120;846. }847. }848. if (myparent.cur_dat<myparent.start_dat && myparent.saros.varia.speedrotation

< 0)849. {850. pointer.pin.xinit =-153.4 - 120;851. }852. }853. myparent.saros_text.text=String(Math.abs(int((pointer.rotationZ)/(4 * 360))));854. }

Κώδικας του Saros pointer - follower

855. import flash.events.Event;856. var xinit:Number;857. var myparent:MovieClip = MovieClip(this.parent.parent);858. var mygrandpa:MovieClip = MovieClip(root);859. var epanalipsi:Number;860. var xreset:Number = 0.0;861. xinit = this.x;862. xreset = this.x;863. xinit = this.x;864. epanalipsi=0.222*2*0.5*(60)/1440;865. function ontime():void866. {

Page 124: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[124]

867. if (! mygrandpa.goto)868. {869. xinit += -epanalipsi;870. }871. if (mygrandpa.goto && !mygrandpa.start_goto)872. {873. xinit = xreset + mygrandpa.saros.pointer.rotationZ * 120 / 1440 - 120 *

int(mygrandpa.saros.pointer.rotationZ / 1440);874. }875. this.x = xinit;876. }

Κώδικας hipparhus.fla

877. import flash.events.Event;878. var myTimer:Timer = new Timer(100*Math.PI/3,0);879. var cosw2t:Number;880. var RM:Number;881. var myhalfsec:Number=0;882. var w1:Number=-1.0;883. var k1k2:Number;884. var xM:Number;885. var yM:Number;886. var theta2:Number;887. var theta1:Number;888. var sinw2t:Number;889. var ec:int=1;890. var er:int=-1;891. var cosw1t:Number;892. var square:square_mc=new square_mc;893. var psquare:psquare_mc=new psquare_mc;894. var mainSwf:MovieClip;895. myTimer.addEventListener(TimerEvent.TIMER, timerListener);896. this.addEventListener(Event.ENTER_FRAME,onframe)897. //manage constants898. k1k2=k2.x-k1.x;899. RM=k1.pin.x;900. //manage constants901. if(this.parent.parent is Loader)902. {903. trace("main swf found!")904. mainSwf = MovieClip(this.parent.parent.parent);905. if(mainSwf != null)906. {907. //access function of parent swf908. //access property of parent swf909. trace("mainSwf.name="+mainSwf.name);910. }911. }912. function timerListener(e:TimerEvent):void

Page 125: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[125]

913. {914. myhalfsec++;915. k1.rotation=w1*myhalfsec;916. theta1=k1.rotation*Math.PI/180;917. xM=RM*Math.cos(theta1);918. yM=RM*Math.sin(theta1);919. sinw2t=(RM*Math.sin(theta1))/Math.sqrt((RM*Math.cos(theta1)-

k1k2)*(RM*Math.cos(theta1)-k1k2)+RM*RM*Math.sin(theta1)*Math.sin(theta1));920. cosw1t=Math.cos(theta1);921. if(Math.abs(cosw1t-k1k2/RM)<5E-3){ec=(-1)*ec}922. if(cosw1t==-1)(cosw2t=-1);923. if(1-Math.abs(sinw2t)>1E-15){cosw2t=ec*Math.sqrt(1-sinw2t*sinw2t)}924. if(cosw1t==1 || cosw1t==-1){er=(-1)*er}925. theta2=Math.acos(cosw2t);926. k2.rotation=er*theta2*180/Math.PI;927. }928. function onframe(e:Event):void929. {930. if(this.parent.parent is Loader)931. {932. if(mainSwf != null)933. {934. if(mainSwf.parent.parent.y<-1975.15 || mainSwf.parent.parent.y>-1053.9)935. {936. pause_button.onclick(null);937. }938. if(!(this.parent.parent is Loader))939. {940. myhalfsec=0;941. }942. }943. }944. }

Waves animation945. import flash.display.MovieClip;946. import flash.events.Event;947. var mygrandpa:MovieClip = MovieClip(root);948. var waves:int=0;949. this.addEventListener(Event.ENTER_FRAME,onstageframe);950. function onstageframe(e:Event):void951. {952. waves++;953. wave3.alpha=100*Math.sin((2*Math.PI/50)*waves);954. wave2.alpha=100*Math.sin((2*Math.PI/50)*waves+Math.PI/2);955. wave1.alpha=100*Math.sin((2*Math.PI/50)*waves+Math.PI);

Page 126: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[126]

956. if(mygrandpa.slider.value==0)957. {958. waves=0;959. }960. }

Κώδικας του scene1 από το calendar.fla

961. import flash.events.Event;962. var mainSwf:MovieClip;963. this.addEventListener(Event.ENTER_FRAME,onframe);964. mainSwf = MovieClip(this.parent.parent);965. if (this.parent is Loader)966. {967. trace("main swf found!");968. if (mainSwf != null)969. {970. trace("mainSwf.name="+mainSwf.name);971. }972. }973. function onframe(e:Event):void974. {975. if (this.parent is Loader)976. {977. if (mainSwf != null)978. {979. if (mainSwf.parent.parent.y < -1989 || mainSwf.parent.parent.y > -1061)980. {981. pause_button.onclick(null);982. }983. if (!(this.parent is Loader))984. {985. trace("quit");986. }987. }988. }989. }

Κώδικας του move_rotate.js

990. #pragma strict991. var speed:float=0.2;992. var initialposition:Vector3;993. var initialrotation:Quaternion;994. function Start()995. {996. initialposition=transform.position;997. initialrotation=transform.rotation;998. }999. function Update () {1000. // start rotation1001. //up_down in referense of z axis

Page 127: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[127]

1002. if(Input.GetKey(KeyCode.Keypad8))1003. {1004. transform.RotateAround(Vector3.right, Time.deltaTime*0.2f);1005. }1006. if(Input.GetKey(KeyCode.Keypad2))1007. {1008. transform.RotateAround(-Vector3.right, Time.deltaTime*0.2f);1009. }1010. //left right in referense of z axis1011. if(Input.GetKey(KeyCode.Keypad4))1012. {1013. transform.RotateAround(Vector3.up, Time.deltaTime*0.2f);1014. }1015. if(Input.GetKey(KeyCode.Keypad6))1016. {1017. transform.RotateAround(-Vector3.up, Time.deltaTime*0.2f);1018. }1019. //end rotation1020. //start movement1021. /*1022. if(Input.GetKey(KeyCode.UpArrow))1023. {1024. transform.position.y+=speed;1025. }1026. if(Input.GetKey(KeyCode.DownArrow))1027. {1028. transform.position.y-=speed;1029. }1030. if(Input.GetKey(KeyCode.RightArrow))1031. {1032. transform.position.x+=speed;1033. }1034. if(Input.GetKey(KeyCode.LeftArrow))1035. {1036. transform.position.x-=speed;1037. }1038. if(Input.GetKey(KeyCode.KeypadPlus))1039. {1040. transform.position.z+=speed;1041. }1042. if(Input.GetKey(KeyCode.KeypadMinus))1043. {1044. transform.position.z-=speed;1045. }1046. if(Input.GetKey(KeyCode.Keypad0))1047. {1048. transform.position=initialposition;1049. }1050. */1051. if(Input.GetKey(KeyCode.Keypad5))

Page 128: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[128]

1052. {1053. //(GetComponent("maxCamera") as MonoBehaviour).enabled = false;1054. //transform.rotation=initialrotation;1055. //transform.position=initialposition;1056. //(GetComponent("maxCamera") as MonoBehaviour).enabled = true;1057. transform.rotation = Quaternion.Lerp(transform.rotation, initialrotation, Time.time *

0.2f);1058. }1059. //end movement1060. }

Κώδικας του script maxCamera.css1061. using UnityEngine;1062. using System.Collections;1063. [AddComponentMenu("Camera-Control/3dsMax Camera Style")]1064. public class maxCamera : MonoBehaviour1065. {1066. public static bool pressUp=false;1067. public static bool pressDown=false;1068. public static bool pressRight=false;1069. public static bool pressLeft=false;1070. public static bool zoomin=false;1071. public static bool zoomout=false;1072. public static bool resettostart=false;1073. public Transform target;1074. public Vector3 targetOffset;1075. public float distance = 5.0f;1076. public float maxDistance = 20;1077. public float minDistance = .6f;1078. public float xSpeed = 200.0f;1079. public float ySpeed = 200.0f;1080. public int yMinLimit = -40;1081. public int yMaxLimit = 40;1082. public int zoomRate = 40;1083. public float panSpeed = 0.3f;1084. public float zoomDampening = 5.0f;1085. public bool keybon = false;1086. private float xDeg = 0.0f;1087. private float yDeg = 0.0f;1088. private float currentDistance;1089. private float desiredDistance;1090. private Quaternion currentRotation;1091. private Quaternion desiredRotation;1092. private Quaternion rotation;1093. private Vector3 position;1094. private Vector3 temp;1095. private Quaternion rota;1096. void Start() { Init(); }1097. void OnEnable() { Init(); }1098. private Vector3 initialposition;

Page 129: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[129]

1099. private Quaternion initialrotation;1100. public void Init()1101. {1102.1103. //If there is no target, create a temporary target at 'distance' from the

cameras current viewpoint1104.1105.1106. if (!target)1107. {1108. GameObject go = new GameObject("Cam Target");1109. go.transform.position = transform.position + (transform.forward * distance);1110. target = go.transform;1111. initialposition=transform.localPosition;1112. initialrotation=transform.localRotation;1113. print (initialposition);1114. }1115.1116. distance = Vector3.Distance(transform.position, target.position);1117. currentDistance = distance;1118. desiredDistance = distance;1119.1120. //be sure to grab the current rotations as starting points.1121. position = transform.position;1122. rotation = transform.rotation;1123. currentRotation = transform.rotation;1124. desiredRotation = transform.rotation;1125.1126. xDeg = Vector3.Angle(Vector3.right, transform.right );1127. yDeg = Vector3.Angle(Vector3.up, transform.up );1128. temp=target.position;1129. rota=target.rotation;1130. print (target.rotation);1131. }1132.1133. /*1134. * Camera logic on LateUpdate to only update after all character movement logic

has been handled.1135. */1136. void Update()1137. {1138.1139.1140. // If Control and Alt and right button? ZOOM!1141. if (Input.GetMouseButton(1) && Input.GetKey(KeyCode.LeftAlt) &&

Input.GetKey(KeyCode.LeftControl))1142. {1143. desiredDistance -= Input.GetAxis("Mouse Y") * Time.deltaTime *

zoomRate*0.125f * Mathf.Abs(desiredDistance);1144. }

Page 130: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[130]

1145. // If right mouse and left ctrl are selected? ORBIT1146. else if (Input.GetMouseButton(1) && Input.GetKey(KeyCode.LeftControl))1147. {1148. xDeg += Input.GetAxis("Mouse X") * xSpeed * 0.02f;1149. yDeg -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;1150.1151. ////////OrbitAngle1152.1153. //Clamp the vertical axis for the orbit1154. //yDeg = ClampAngle(yDeg, yMinLimit, yMaxLimit);1155. // set camera rotation1156. desiredRotation = Quaternion.Euler(new Vector3(yDeg, xDeg, 0));1157. currentRotation = transform.rotation;1158.1159. rotation = Quaternion.Lerp(currentRotation, desiredRotation, Time.deltaTime

* zoomDampening);1160. transform.rotation = rotation;1161. }1162. // otherwise if right mouse is selected, we pan by way of transforming the target

in screenspace1163. else if (Input.GetMouseButton(1))1164. {1165. //grab the rotation of the camera so we can move in a psuedo local XY space1166. target.rotation = transform.rotation;1167. target.Translate(Vector3.right * -Input.GetAxis("Mouse X") * panSpeed);1168. target.Translate(transform.up * -Input.GetAxis("Mouse Y") * panSpeed,

Space.World);1169. //1170.1171. //mine1172. }1173.1174.1175.1176. if(Input.GetKey (KeyCode.KeypadPlus)||zoomin)1177. {1178. desiredDistance -=0.2f;1179. }1180. if(Input.GetKey (KeyCode.KeypadMinus)||zoomout)1181. {1182. desiredDistance +=0.2f;1183. }1184. if(Input.GetKey(KeyCode.DownArrow)||pressDown)1185. {1186. target.rotation = transform.rotation;1187. temp.y +=0.2f;1188. target.position=temp;1189. }1190. if(Input.GetKey(KeyCode.UpArrow)||pressUp)1191. {

Page 131: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[131]

1192. target.rotation = transform.rotation;1193. temp.y -=0.2f;1194. target.position=temp;1195. }1196. if(Input.GetKey(KeyCode.RightArrow)||pressRight)1197. {1198. target.rotation = transform.rotation;1199. temp.x -=0.2f;1200. target.position=temp;1201. }1202. if(Input.GetKey(KeyCode.LeftArrow)||pressLeft)1203. {1204. target.rotation = transform.rotation;1205. temp.x +=0.2f;1206. target.position=temp;1207. }1208. if(Input.GetKey(KeyCode.Keypad5)||resettostart)1209. {1210.1211. temp=initialposition;1212. target.position=initialposition;1213. desiredDistance=distance;1214. //target.position = Vector3.Lerp(transform.position,initialposition,

Time.time*0.2f);1215.

//GameObject.Find("myCamera").transform.localPosition=initialposition;1216.1217. }1218.1219. //mine1220. ////////Orbit Position1221.1222. // affect the desired Zoom distance if we roll the scrollwheel1223. else1224. {1225.1226. desiredDistance -= Input.GetAxis("Mouse ScrollWheel") *

Time.deltaTime * zoomRate * Mathf.Abs(desiredDistance);1227. }1228.1229.1230.1231. //clamp the zoom min/max1232. //desiredDistance = Mathf.Clamp(desiredDistance, minDistance, maxDistance);1233. // For smoothing of the zoom, lerp distance1234. currentDistance = Mathf.Lerp(currentDistance, desiredDistance, Time.deltaTime

* zoomDampening);1235.1236.1237.

Page 132: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[132]

1238.1239.1240. position = target.position - (rotation * Vector3.forward *

currentDistance);1241. transform.position = position;1242.1243.1244. }1245.1246. private static float ClampAngle(float angle, float min, float max)1247. {1248. if (angle < -360)1249. angle += 360;1250. if (angle > 360)1251. angle -= 360;1252. return Mathf.Clamp(angle, min, max);1253. }1254. }

Κώδικας του script button1.js1255. #pragma strict1256. var btnUpTexture : Texture;1257. var btnDownTexture : Texture;1258. var btnRightTexture : Texture;1259. var btnLeftTexture : Texture;1260. var moveUpTexture:Texture;1261. var moveDownTexture:Texture;1262. var moveRightTexture:Texture;1263. var moveLeftTexture:Texture;1264. var zoominTexture:Texture;1265. var zoomoutTexture:Texture;1266. var homeTexture:Texture;1267. var x:float;1268. var y:float;1269. var initrotation:Quaternion;1270. var initialposition:Vector3;1271. var help_skin:GUISkin;1272. private var csScript:maxCamera;1273. function Start()1274. {1275. initrotation=transform.rotation;1276. initialposition=transform.position;1277. x=Screen.width-100;1278. y=Screen.height-150;1279. csScript=this.GetComponent("maxCamera");1280. }1281. function OnGUI() {1282. GUI.skin=help_skin;1283. GUI.Label(Rect(x-5,y-30,100,30),"Rotation");1284. GUI.Label(Rect(40,y-30,100,30),"Movement");

Page 133: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[133]

1285. if (GUI.RepeatButton(Rect(x,y,50,50),btnUpTexture))1286. transform.RotateAround(Vector3.right, Time.deltaTime*0.2f);1287. if (GUI.RepeatButton(Rect(x,y+100,50,50),btnDownTexture))1288. transform.RotateAround(-Vector3.right, Time.deltaTime*0.2f);1289. if (GUI.RepeatButton(Rect(x+50,y+50,50,50),btnRightTexture))1290. transform.RotateAround(-Vector3.up, Time.deltaTime*0.2f);1291. if (GUI.RepeatButton(Rect(x-50,y+50,50,50),btnLeftTexture))1292. transform.RotateAround(Vector3.up, Time.deltaTime*0.2f);1293. if (GUI.Button(Rect(x,y+50,50,50),"Reset"))1294. {1295. transform.rotation = Quaternion.Lerp(transform.rotation, initrotation, Time.time *

0.2f);1296. }1297. //1298. if (GUI.Button(Rect(50,y+50,50,50),"Reset"))1299. {1300. maxCamera.resettostart=true;1301. }1302. else1303. {1304. maxCamera.resettostart=false;1305. }1306. //1307. if (GUI.RepeatButton(Rect(50,y,50,50),moveUpTexture))1308. {maxCamera.pressUp=true;}1309. else1310. {1311. maxCamera.pressUp=false;1312. }1313. //1314. if (GUI.RepeatButton(Rect(50,y+100,50,50),moveDownTexture))1315. {maxCamera.pressDown=true;}1316. else1317. {1318. maxCamera.pressDown=false;1319. }1320. //1321. //1322. if (GUI.RepeatButton(Rect(100,y+50,50,50),moveRightTexture))1323. {maxCamera.pressRight=true;}1324. else1325. {1326. maxCamera.pressRight=false;1327. }1328. //1329. //1330. if (GUI.RepeatButton(Rect(0,y+50,50,50),moveLeftTexture))1331. {maxCamera.pressLeft=true;}1332. else1333. {

Page 134: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[134]

1334. maxCamera.pressLeft=false;1335. }1336. //1337. //1338. if (GUI.RepeatButton(Rect(0,y+100,50,50),zoomoutTexture))1339. {maxCamera.zoomout=true;}1340. else1341. {1342. maxCamera.zoomout=false;1343. }1344. //1345. //1346. if (GUI.RepeatButton(Rect(100,y+100,50,50),zoominTexture))1347. {maxCamera.zoomin=true;}1348. else1349. {1350. maxCamera.zoomin=false;1351. }1352. }

Κώδικας του hide.css

1353. using UnityEngine;1354. using System.Collections;1355. public class hide : MonoBehaviour1356. {1357. public string[] items;1358. //1359. public GUISkin mySkin2;1360. public string[] description;1361. //1362. public Rect Box;1363. public string slectedItem = "View";1364.1365. private bool editing = false;1366. private bool selectdescription=false;1367. private bool checkin=false;1368. private void OnGUI()1369. {1370.1371. GUI.skin=mySkin2;1372. //GameObject.Find("mechanism_new").renderer.enabled = false;1373. if (GUI.Button(Box, slectedItem))1374. {1375. //editing = true;1376. editing=!editing;1377. if(selectdescription)1378. {1379. slectedItem="View";1380. editing=false;

Page 135: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[135]

1381.1382. //1383. selectdescription=false;1384. //1385. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1386. {1387. Obj.renderer.enabled=true;1388. }1389. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1390. {1391. Obj.renderer.enabled=true;1392. }1393. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1394. {1395. Obj.renderer.enabled=true;1396. }1397. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1398. {1399. Obj.renderer.enabled=true;1400. }1401. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1402. {1403. Obj.renderer.enabled=true;1404. }1405. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1406. {1407. Obj.renderer.enabled=true;1408. }1409. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1410. {1411. Obj.renderer.enabled=true;1412. }1413. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1414. {1415. Obj.renderer.enabled=true;1416. }1417. //1418. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1419. {1420. Obj.renderer.enabled=true;1421. }

Page 136: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[136]

1422. foreach(GameObject Obj inGameObject.FindGameObjectsWithTag("saros_dial"))

1423. {1424. Obj.renderer.enabled=true;1425. }1426. //1427. }1428. }1429.1430. if (editing && !selectdescription)1431. {1432. for (int x = 0; x < items.Length; x++)1433. {1434. if (GUI.Button(new Rect(Box.x, (Box.height * x) + Box.y + Box.height,

Box.width, Box.height), items[x]))1435. {1436. slectedItem = description[x];1437. editing = false;1438. selectdescription=true;1439. }1440. // select sun train1441. if(slectedItem == "sun train")1442. {1443.1444. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1445. {1446. Obj.renderer.enabled=true;1447. }1448. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1449. {1450. Obj.renderer.enabled=false;1451. }1452. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1453. {1454. Obj.renderer.enabled=false;1455. }1456. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1457. {1458. Obj.renderer.enabled=false;1459. }1460. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1461. {1462. Obj.renderer.enabled=false;1463. }1464. foreach(GameObject Obj in

Page 137: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[137]

GameObject.FindGameObjectsWithTag("exeligmos train"))1465. {1466. Obj.renderer.enabled=false;1467. }1468. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1469. {1470. Obj.renderer.enabled=true;1471. }1472. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1473. {1474. Obj.renderer.enabled=false;1475. }1476. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1477. {1478. Obj.renderer.enabled=false;1479. }1480. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1481. {1482. Obj.renderer.enabled=false;1483. }1484. }1485. //end select sun train1486. //select moon train1487. if(slectedItem == "moon train")1488. {1489.1490. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1491. {1492. Obj.renderer.enabled=false;1493. }1494. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1495. {1496. Obj.renderer.enabled=true;1497. }1498. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1499. {1500. Obj.renderer.enabled=false;1501. }1502. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1503. {1504. Obj.renderer.enabled=false;1505. }

Page 138: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[138]

1506. foreach(GameObject Obj inGameObject.FindGameObjectsWithTag("saros train"))

1507. {1508. Obj.renderer.enabled=false;1509. }1510. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1511. {1512. Obj.renderer.enabled=false;1513. }1514. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1515. {1516. Obj.renderer.enabled=true;1517. }1518. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1519. {1520. Obj.renderer.enabled=false;1521. }1522. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1523. {1524. Obj.renderer.enabled=false;1525. }1526. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1527. {1528. Obj.renderer.enabled=false;1529. }1530. }1531. //end select moon train1532. // meton train1533. if(slectedItem == "meton train")1534. {1535.1536. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1537. {1538. Obj.renderer.enabled=false;1539. }1540. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1541. {1542. Obj.renderer.enabled=false;1543. }1544. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1545. {1546. Obj.renderer.enabled=true;

Page 139: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[139]

1547. }1548. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1549. {1550. Obj.renderer.enabled=false;1551. }1552. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1553. {1554. Obj.renderer.enabled=false;1555. }1556. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1557. {1558. Obj.renderer.enabled=false;1559. }1560. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1561. {1562. Obj.renderer.enabled=false;1563. }1564. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1565. {1566. Obj.renderer.enabled=false;1567. }1568. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1569. {1570. Obj.renderer.enabled=true;1571. }1572. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1573. {1574. Obj.renderer.enabled=false;1575. }1576. }1577.1578. //end meton train1579. // callipos train1580. if(slectedItem == "callipos train")1581. {1582.1583. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1584. {1585. Obj.renderer.enabled=false;1586. }1587. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))

Page 140: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[140]

1588. {1589. Obj.renderer.enabled=false;1590. }1591. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1592. {1593. Obj.renderer.enabled=false;1594. }1595. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1596. {1597. Obj.renderer.enabled=true;1598. }1599. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1600. {1601. Obj.renderer.enabled=false;1602. }1603. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1604. {1605. Obj.renderer.enabled=false;1606. }1607. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1608. {1609. Obj.renderer.enabled=false;1610. }1611. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1612. {1613. Obj.renderer.enabled=false;1614. }1615. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1616. {1617. Obj.renderer.enabled=true;1618. }1619. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1620. {1621. Obj.renderer.enabled=false;1622. }1623. }1624.1625. // end callipos train1626. // saros train1627. if(slectedItem == "saros train")1628. {1629.

Page 141: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[141]

1630. foreach(GameObject Obj inGameObject.FindGameObjectsWithTag("sun_train"))

1631. {1632. Obj.renderer.enabled=false;1633. }1634. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1635. {1636. Obj.renderer.enabled=false;1637. }1638. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1639. {1640. Obj.renderer.enabled=false;1641. }1642. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1643. {1644. Obj.renderer.enabled=false;1645. }1646. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1647. {1648. Obj.renderer.enabled=true;1649. }1650. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1651. {1652. Obj.renderer.enabled=false;1653. }1654. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1655. {1656. Obj.renderer.enabled=false;1657. }1658. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1659. {1660. Obj.renderer.enabled=false;1661. }1662. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1663. {1664. Obj.renderer.enabled=false;1665. }1666. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1667. {1668. Obj.renderer.enabled=true;1669. }

Page 142: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[142]

1670. }1671.1672. // end of saros train1673. // exeligmos train1674. if(slectedItem == "exeligmos train")1675. {1676.1677. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1678. {1679. Obj.renderer.enabled=false;1680. }1681. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1682. {1683. Obj.renderer.enabled=false;1684. }1685. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1686. {1687. Obj.renderer.enabled=false;1688. }1689. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1690. {1691. Obj.renderer.enabled=false;1692. }1693. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1694. {1695. Obj.renderer.enabled=false;1696. }1697. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1698. {1699. Obj.renderer.enabled=true;1700. }1701. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1702. {1703. Obj.renderer.enabled=false;1704. }1705. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))1706. {1707. Obj.renderer.enabled=false;1708. }1709. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1710. {

Page 143: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[143]

1711. Obj.renderer.enabled=false;1712. }1713. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1714. {1715. Obj.renderer.enabled=true;1716. }1717. }1718. // end exeligmos train1719. // olympiad train1720. if(slectedItem == "olympiad train")1721. {1722.1723. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("sun_train"))1724. {1725. Obj.renderer.enabled=false;1726. }1727. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("moon_train"))1728. {1729. Obj.renderer.enabled=false;1730. }1731. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton train"))1732. {1733. Obj.renderer.enabled=false;1734. }1735. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("callipos train"))1736. {1737. Obj.renderer.enabled=false;1738. }1739. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros train"))1740. {1741. Obj.renderer.enabled=false;1742. }1743. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("exeligmos train"))1744. {1745. Obj.renderer.enabled=false;1746. }1747. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("calendar"))1748. {1749. Obj.renderer.enabled=false;1750. }1751. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("olympiad train"))

Page 144: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[144]

1752. {1753. Obj.renderer.enabled=true;1754. }1755. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("meton_dial"))1756. {1757. Obj.renderer.enabled=true;1758. }1759. foreach(GameObject Obj in

GameObject.FindGameObjectsWithTag("saros_dial"))1760. {1761. Obj.renderer.enabled=false;1762. }1763. }1764.1765. // end olympiad train1766. }1767.1768. }1769.1770. }1771. //1772.1773. //1774. }

Κώδικας του view_case.js1775. #pragma strict1776. var checkin:boolean=false;1777. var skin3: GUISkin;1778. var Obj :GameObject;1779. var labelo:String;1780. var xpos:float=800;1781. var ypos:float=10;1782. function OnGUI () {1783. GUI.skin=skin3;1784. checkin = GUI.Toggle (Rect (xpos,ypos,100,30), checkin, labelo);1785. GUILayout.Box (labelo);1786. if(checkin)1787. {1788. labelo="unhide case";1789. for (Obj in GameObject.FindGameObjectsWithTag("case"))1790. {Obj.renderer.enabled=false;1791. }1792. }1793. else1794. {1795. labelo="hide case";1796. for (Obj in GameObject.FindGameObjectsWithTag("case"))1797. {Obj.renderer.enabled=true;1798. }

Page 145: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[145]

1799. }1800. }1801.

Κώδικας του months_rotate.js1802. #pragma strict1803. // Set two variables for the speed:1804. var skin4: GUISkin;1805. var rotMax : float = 360;1806. var rotMin : float = 0;1807. var rotxpos:float;1808. var rotypos:float;1809. // Set the rect for the slider control1810. // var sliderRect = Rect ( rotxpos, rotypos, 200, 30 );1811. // Set a private var for the slider position1812. private var sliderPos : float=114.6 ;1813. function Start()1814. {1815. rotxpos=Screen.width/2+100;1816. rotypos=Screen.height-50;1817. }1818. function OnGUI () {1819. GUI.skin=skin4;1820. // Get the slider position from the control1821. sliderPos = GUI.HorizontalSlider ( Rect ( rotxpos, rotypos, 200, 30 ), sliderPos,

rotMin, rotMax );1822. GUI.Label(Rect(rotxpos,rotypos+20,200,30),"Calendar

rotation="+sliderPos.ToString("F2"));1823. //transform.eulerAngles.y=sliderPos;1824. // transform.Rotate(Vector3.up * sliderPos);1825. transform.localEulerAngles = new Vector3(359.07 , sliderPos , 0.65);1826. }

Κώδικας του animation_control.js1827. #pragma strict1828. private var main_animator : Animator;1829. private var moon_animator : Animator;1830. var help_skin:GUISkin;1831. var play_texture:Texture;1832. var pause_texture:Texture;1833. var stop_texture:Texture;1834. var exit_app:Texture;1835. var check_start:boolean=false;1836. function Start () {1837. main_animator = GameObject.Find("antikythera_new").GetComponent(Animator);1838. moon_animator = GameObject.Find("2_b3").GetComponent(Animator);1839. //animator.SetFloat("Speed", 0); //Idle1840. main_animator.StartPlayback();1841. moon_animator.StartPlayback();1842. GameObject.Find("myCamera").audio.Stop();

Page 146: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[146]

1843. }1844.1845. function OnGUI () {1846.1847. if (GUI.Button(Rect(Screen.width-50,10,50,50),exit_app))1848. {1849. Application.Quit();1850. }1851.1852. if (GUI.Button(Rect(Screen.width/2-25,10,50,50),play_texture))1853. {1854. // animator.SetFloat("Speed", 0.15); //Walk1855. main_animator.StopPlayback();1856. moon_animator.StopPlayback();1857. if(!check_start)1858. {1859. GameObject.Find("myCamera").audio.Play();1860. }1861. check_start=true;1862. }1863. if (GUI.Button(Rect(Screen.width/2+25,10,50,50),pause_texture))1864. {1865. // animator.SetFloat("Speed", 0.15); //Walk1866. check_start=false;1867. main_animator.StartPlayback();1868. moon_animator.StartPlayback();1869. GameObject.Find("myCamera").audio.Pause();1870. }1871. if (GUI.Button(Rect(Screen.width/2+75,10,50,50),stop_texture))1872. {1873. // animator.SetFloat("Speed", 0.15); //Walk1874. check_start=false;1875. main_animator.StartPlayback();1876. moon_animator.StartPlayback();1877. main_animator.ForceStateNormalizedTime(0.0f);1878. moon_animator.ForceStateNormalizedTime(0.0f);1879. GameObject.Find("myCamera").audio.Stop();1880. }1881. }

Κώδικας του speed_rotation.js

1827. #pragma strict1828. private var main_animator : Animator;1829. private var moon_animator : Animator;1830. // Set two variables for the speed:1831. var skin4: GUISkin;1832. var rotMax : float = 2;1833. var rotMin : float = 0.5;1834. var rotxpos:float;

Page 147: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[147]

1835. var rotypos:float;1836. private var sliderPos : float=1 ;1837.1838. function Start()1839. {1840. rotxpos=Screen.width/2-50;1841. rotypos=Screen.height/10;1842. main_animator = GameObject.Find("antikythera_new").GetComponent(Animator);1843. moon_animator = GameObject.Find("2_b3").GetComponent(Animator);1844.1845. }1846. function OnGUI () {1847.1848. GUI.skin=skin4;1849. sliderPos = GUI.HorizontalSlider ( Rect ( rotxpos, rotypos, 200, 30 ), sliderPos,rotMin, rotMax );1850. GUI.Label(Rect(rotxpos+25,rotypos+10,200,30),"speedrotation="+sliderPos.ToString("F2"));1851.1852. main_animator.speed=sliderPos;1853. moon_animator.speed=sliderPos;1854. }Κώδικας του help_popup.cs

1855. using UnityEngine;1856. using System.Collections;1857. public class help_popup : MonoBehaviour {1858. public GUISkin help_skin;1859. private bool showPopUp = false;1860. Color newColor = new Color(0,0,100,100.0f);1861. private Texture button_texture;1862. // Use this for initialization1863. void Start () {1864. GUI.color = newColor;1865. }1866. // Update is called once per frame1867. void Update () {

i. if(Input.GetKey(KeyCode.F1))ii. {

iii. showPopUp=true;iv. }

1868. }1869. void OnGUI(){

i. GUI.skin=help_skin;ii. if(GUI.Button(new Rect(Screen.width-100, 10, 50, 50),

"Help")){showPopUp=true;}1870. if (showPopUp)1871. {1872. GUI.Window(0, new Rect(0, 0 , Screen.width, Screen.height), ShowGUI, "HELP");

Page 148: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[148]

1873. }1874. }1875. void ShowGUI(int windowID)1876. {1877. // You may put a label to show a message to the player1878. GUI.Label(new Rect(Screen.width/2-(Screen.width/4-10)/2, 150, Screen.width/4-10,

Screen.height-10), " --Handle camera via keyboard--\n------------------------------------------\nMove up = up arrow \n Move down = down arrow \n Move right = right arrow \n Move left =left arrow \n Zoom in = numpad plus(+)\n Zoom out = numpad minus(-) \n Rotate up =numpad 8 \n Rotate down = numpad 2 \n Rotate right = numpad 6 \n Rotate left = numpad 4\n Reset = numpad 5\n\n\n\n--Handle camera via mouse--\n------------------------------------------\n Move = right mouse button \n Rotate = Left CTRL + right mouse button \n Zoom in orZoom out = Rotate the mouse wheel");

1879. // You may put a button to close the pop up too1880. if (GUI.Button(new Rect(Screen.width/2-75, Screen.height-50, 75, 30), "OK"))1881. {1882. showPopUp = false;1883. // you may put other code to run according to your game too1884. }1885. }1886. }

Κώδικας του slider.js1887. #pragma strict1888. var yslider:float;1889. var xslider:float;1890. var hsliderValue:float=1;1891. var skin4: GUISkin;1892. function Start()1893. {1894. xslider=Screen.width/2-200;1895. yslider=Screen.height-50;1896. }1897. function OnGUI()1898. {1899. GUI.skin=skin4;1900. hsliderValue=GUI.HorizontalSlider(Rect(xslider,yslider,200,30),hsliderValue,0,1);1901. GUI.Label(Rect(xslider,yslider+20,200,30),"Volume="+hsliderValue.ToString("F2")

;1902. audio.volume=hsliderValue;1903. }

Page 149: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[149]

Page 150: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[150]

ΠΑΡΑΡΤΗΜΑ Γ

Page 151: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[151]

Page 152: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[152]

ΠΑΡΑΤΗΜΑ Δ

ΠΙΝΑΚΑΣ 1

Διαδικασία Μέλη ομάδων Προϊόντα

Φάση Ανάλυσης

Έρευνα αναγκών Προετοιμασία χρηστών Καθορισμός του περιεχομένου Επιλογή συστήματος συγγραφής Επιλογή συστήματος διανομής Σχεδιασμός έργου Στρατηγικές σχεδιασμού αξιολόγησης

Υπεύθυνος έργου Εμπειρογνώμονας-εςπεριεχομένου Σχεδιαστής οδηγιών Αξιολογητής-ες έργου Προγραμματιστής-ες

Έκθεση αξιολόγησηςαναγκών Προφίλ χρήστη Σχεδιάγραμμαπεριεχομένου tutorials Στόχοι καθοδήγησης Προδιαγραφές συστήματοςσυγγραφής. Προδιαγραφές συστήματοςδιανομής Διάγραμμα PERT Χρονοδιάγραμμα έργου Σχέδιο αξιολόγησης

Φάση σχεδιασμού

Δημιουργία προδιαγραφώνκαθοδήγησης Καθορισμός οδηγιών Σχεδιασμός οθονών Flow chart Δημιουργία πρωτοτύπου Γραφή του ειδικού κώδικα Μορφοποίηση οθονών Διεξαγωγή διαμορφωτικής κριτικής

Υπεύθυνος έργου Εμπειρογνώμονας-εςπεριεχομένου Σχεδιαστής οδηγιών Αξιολογητής-ες έγου Προγραμματιστής-ες Γραφίστας-ες Παραγωγός-οι video

Περιγραφή καθοδήγησης Αρχέτυπα καθοδήγησης Flowcharts Κώδικας Μορφοποίηση φύλλων Διαδαραστικά πολυμέσα Πρωτότυπα Προδιαγραφές βελτίωσης

Φάση παραγωγής

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

Υπεύθυνος έργου Εμπειρογνώμονας-εςπεριεχομένου Σχεδιαστής οδηγιών Αξιολογητής-ες έργου Προγραμματιστής-ες Γραφίστας-ες Παραγωγός-οι video Δημιουργός-οι video

Διαδραστικός κώδικας Γραφικά Συνοδευτικά έγγραφαεφαρμογής Οθόνες προβολής Video/Film Audio Επιμέλεια video Videodisc/CD-ROM

Φάση αξιολόγησης

Συγγραφή παραδοτέων κειμένων έργου Δοκιμή εφαρμογής Επικύρωση εφαρμογής

Υπεύθυνος έργου Εμπειρογνώμονας-εςπεριεχομένου Σχεδιαστής οδηγιών Αξιολογητής-ες έργου Προγραμματιστής-ες

Συνοδευτικά κείμενα έργου Λειτουργικά διαθέσιμηεφαρμογή Διαθέσιμες οδηγίεςεφαρμογής Διαμορφωτική έκθεσηαξιολόγησης Αξιολόγησηαποτελεσματικότητας

Page 153: ΜΜηηχχααννιισσμμόόςςττωωννΑΑννττιικκυυθθήήρρωωνν ...users.otenet.gr/~idio17/antikythera_mechanism.pdf · Μυτιλήνη19/2/2014

[153]