background image

Σχεδίαση και υλοποίηση κύβων tangible computing 

 

65 

 

 

Εικόνα 3.11: Κώδικας της συνάρτησης blit_rotate_center 

 

Σε  αυτό  το  σημείο  αξίζει  να  αναφερθεί  ότι  όλες οι  εικόνες  στην  pygame  αποτελούν  ένα 

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

περιστρέφεται  το  τετράγωνο  και  κατ’  επέκταση  η  εικόνα  που  εμπεριέχεται  σε  αυτό. 

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

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

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

συνάρτησης περιστροφής μιας εικόνας από την pygame . 

3.5.2.2 Κίνηση υπό γωνία  

H  κίνηση  της  εικόνας  αυτή  καθ’  εαυτή  κατά  μήκος  ή  κατά  πλάτος  του  παραθύρου 

προβολής αποτελεί μία σχετικά απλή διαδικασία για την pygame. Η κίνηση του αυτοκινήτου 

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

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

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

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

(συνημίτονο  και  ημίτονο)  οι  οποίες  αποτυπώθηκαν  με  τη  μορφή  κώδικα  και  εφαρμόστηκαν 

στη  συνάρτηση  κίνησης  του  αυτοκινήτου  (Εικόνα  3.13).  Στο  παρακάτω  γράφημα  (Εικόνα 

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

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

διαγώνιο  βέλος  να  αναπαριστά  την  επιθυμητή  πορεία.  Η  θέση  λοιπόν  που  γυρίζει  η 

μπροστινή όψη του αυτοκινήτου ως προς τους άξονες x και y υπολογίζεται με το συνδυασμό 

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

V  (που  αντιστοιχεί  στη  λέξη  velocity  που  μεταφράζεται  ως  ταχύτητα),  με  του  αντίστοιχου 

αποτελέσματος του πολλαπλασιασμού του συνημίτονου της γωνίας θ με το V.