Εφαρμογή Επαυξημένης Πραγματικότητας Μέσω Αναγνώρισης Κειμένου

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εφαρμογή Επαυξημένης Πραγματικότητας Μέσω Αναγνώρισης Κειμένου"

Transcript

1 ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εφαρμογή Επαυξημένης Πραγματικότητας Μέσω Αναγνώρισης Κειμένου Χρήστος Δ. Συρράκος Επιβλέπων : Δημήτριος Βαρουτάς, Αναπληρωτής Καθηγητής ΑΘΗΝΑ ΜΑΡΤΙΟΣ 2018

2 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εφαρμογή Επαυξημένης Πραγματικότητας Μέσω Αναγνώρισης Κειμένου Χρήστος Δ. Συρράκος Α.Μ.: Επιβλέπων : Δημήτριος Βαρουτάς, Αναπληρωτής Καθηγητής

3 Περίληψη Η εργασία αυτή έχει ως στόχο τη δημιουργία μιας εφαρμογής που αναγνωρίζει κείμενο μέσω κάμερας και επαυξάνει ψηφιακό περιεχόμενο. Θα αναλύσουμε τις δυνατότητες της επαυξημένης πραγματικότητας ( Augmented Reality), τους περιορισμούς που μας επιβάλλει η σημερινή τεχνολογία, καθώς και τα εργαλεία με τα οποία μπορούμε να εργαστούμε για να παράγουμε μια τέτοια εφαρμογή. Πιο συγκεκριμένα, θα χρησιμοποιήσουμε την πλατφόρμα του Unity3D σε συνδυασμό με τη γλώσσα C# και τη βιβλιοθήκη του Vuforia ώστε να δημιουργήσουμε μια εφαρμογή για κινητές συσκευές android, η οποία θα παράγει ένα ψηφιακό περιβάλλον ανάλογα με τις εντοπισμένες λέξεις και θα δίνει εν τέλει τη δυνατότητα στο χρήστη να αλληλεπιδράσει με το περιβάλλον αυτό. Θεματική περιοχή : Επαυξημένη Πραγματικότητα Λέξεις κλειδιά : ψηφιακό περιβάλλον, εφαρμογή, αλληλεπίδραση, αναγνώριση κειμένου, Unity, Vuforia, C#

4 Abstract In this thesis, we will create an application that reads text through a camera and augments a digital environment. We will analyse the capabilities and restrictions that Augmented Reality is facing, as well as the tools that will help us develop an application of this kind. Specifically, we will use the Unity3D platform along with the C# language and the Vuforia library, in order to create an application for android mobile devices that augments a digital environment in response to each recognized word and gives the user the opportunity to interact with the said environment. Subject Area : Augmented Reality Keywords : digital environment, application, interaction, text recognition, Unity, Vuforia, C#

5 ΠΕΡΙΕΧΟΜΕΝΑ 1.ΕΙΣΑΓΩΓΗ Τι είναι η επαυξημένη πραγματικότητα? unity3d και vuforia Εγκατάσταση και σύνδεση unity3d-vuforia Αναγνώριση κειμένου Βασικές ρυθμίσεις editor και vuforia Εντοπισμός λέξεων UNITY KAI C# Coroutines σε Unity VUFORIA KAI C# Δημιουργία αρχείου.apk και δοκιμή εφαρμογής Πειραματισμός παραμέτρων ΠΕΡΙΟΡΙΣΜΟΙ ΣΤΗΝ ΑΝΑΓΝΩΡΙΣΗ ΚΕΙΜΕΝΟΥ:ΣΥΜΠΕΡΑΣΜΑΤΑ SCALABILITY ΕΦΑΡΜΟΓΗΣ Εκτέλεση δυναμικής εφαρμογής Δοκιμή εφαρμογής σε τυχαίο κείμενο ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΜΕ ΤΟ ΧΡΗΣΤΗ Scale script Move script Color Script ΕΞΑΤΟΜΙΚΕΥΜΕΝΗ ΑΛΛΗΛΕΠΙΔΡΑΣΗ Εισαγωγή νέων μοντέλων Επιπλέον δυνατότητες αλληλεπίδρασης ΤΕΛΙΚΗ ΕΦΑΡΜΟΓΗ ΣΥΜΠΕΡΑΣΜΑΤΑ ΚΑΙ ΠΑΡΑΤΗΡΗΣΕΙΣ Unity: Vuforia : ΣΥΝΤΜΗΣΕΙΣ ΑΡΚΤΙΚΟΛΕΞΑ ΑΚΡΩΝΥΜΙΑ ΠΙΝΑΚΑΣ ΟΡΟΛΟΓΙΑΣ ΑΝΑΦΟΡΕΣ... 48

6 ΚΑΤΑΛΟΓΟΣ ΕΙΚΟΝΩΝ Εικόνα 1: χρήση A.R. στον τομέα της αρχιτεκτονικής... 8 Εικόνα 2: χρήση A.R. στον τομέα μηχανικής... 8 Εικόνα 3: χρήση A.R. στον τομέα ιατρικής... 9 Εικόνα 4: Vuforia Installer Εικόνα 5: Vuforia Developer Portal Εικόνα 6: Ιεραρχία unity Εικόνα 7: Παράδειγμα Awake() Εικόνα 8: Παράδειγμα Start() Εικόνα 9: Παράδειγμα Update() Εικόνα 10: Παράδειγμα coroutine Εικόνα 11: TextTracker & White Filter List Εικόνα 12: set και get Region of Interest Εικόνα 13: get active trackables στον Statemanager Εικόνα 14: Ιεραρχία στον editor μετά την είσοδο των 3-d μοντέλων Εικόνα 15: Scene view στον editor Εικόνα 16: Εφαρμογή κατά την εκτέλεση Εικόνα 17: Τυχαίο κείμενο Εικόνα 18: Ιεραρχία μετά την είσοδο του τυχαίου κειμένου Εικόνα 19: Νέο scene view στον editor Εικόνα 20: Νέα εφαρμογή κατά την εκτέλεση Εικόνα 21: Εφαρμογή κατά την εκτέλεση με γωνία προβολής Εικόνα 22: Δυναμική δημιουργία αντικειμένων Εικόνα 23: Rotate script και ένταξή του στο Main script Εικόνα 24: Ενεργοποίηση component Εικόνα 25: Δυναμική ιεραρχία Εικόνα 26: Δυναμικό scene view ( κάμερα ) Εικόνα 27:Δυναμική ιεραρχία κατά την εκτέλεση Εικόνα 28: Δοκιμή δυναμικής εφαρμογής σε βιβλίο Εικόνα 29: Αποτελέσματα δοκιμής βιβλίου στην ιεραρχία Εικόνα 30: Αναζήτηση στο vwl λεξικό Εικόνα 31: Δοκιμή δυναμικής εφαρμογής με γωνία προβολής Εικόνα 32: Αποτελέσματα στην ιεραρχία ( μέσω γωνίας προβολής ) Εικόνα 33: Ενεργά εντοπισμένες λέξεις Εικόνα 34: Χρήση του Leantouch για pinch zoom Εικόνα 35: Υλοποίηση scale script Εικόνα 36: Υλοποίηση move script Εικόνα 37: Υλοποίηση color script Εικόνα 38: Υπολογισμοί για την ανάθεση χρωμάτων Εικόνα 39: Αναθέσεις χρωμάτων ανάλογα με τον προσανατολισμό Εικόνα 40: box Collider component Εικόνα 41: Εισαγωγή fbx μοντέλων Εικόνα 42: Αυτοκίνητα και κύβοι, χωρίς διεπαφή Εικόνα 43: Zoom in σε αυτοκίνητα και μετακίνηση κύβων εκτός frame Εικόνα 44: Zoom in σε κύβους και ανάθεση texture Εικόνα 45: Zoom in και ανάθεση texture σε λουλούδι Εικόνα 46: Αναγνώριση μεγάλου κειμένου Εικόνα 47: Το ίδιο κείμενο όπως παραπάνω, zoom in στο σπίτι Εικόνα 48: Ανάθεση διαφορετικών textures σε διαφορετικούς κύβους Εικόνα 49: Έλεγχος ακτίνας αντικειμένου... 45

7 ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Πίνακας 1: Αποτελέσματα μετρήσεων... 22

8 ΠΡΟΛΟΓΟΣ Η παρούσα πτυχιακή εργασία εκπονήθηκε στα πλαίσια της ολοκλήρωσης των προΰποθέσεων για την λήψη πτυχίου από το τμήμα Πληροφορικής και Τηλεπικοινωνιών στο Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Σκοπός μου κατά τη διάρκεια της εκπόνησής της ήταν καταρχάς η διερεύνηση και ο πειραματισμός με μια τεχνολογία που πιστεύω ότι θα έχει μεγάλη επιρροή στο μέλλον του ψηφιακού κόσμου, αλλά και η σαφής μεταφορά των αποτελεσμάτων, ώστε να γίνει κατανοητή και προσιτή η νέα αυτή τεχνολογία, ακόμα και από άτομα που δεν έχουν εμπειρία στο χώρο.

9 1.ΕΙΣΑΓΩΓΗ 1.1 Τι είναι η επαυξημένη πραγματικότητα? Η επαυξημένη πραγματικότητα είναι η θέαση ενός φυσικού πραγματικού περιβάλλοντος, του οποίου τα στοιχεία επαυξάνονται από έναν υπολογιστή σε κάποια ψηφιακή μορφή ( ήχου, εικόνας, βίντεο, κειμένου ). Είναι δηλαδή ένας τρόπος να εμπλουτίσουμε τον πραγματικό κόσμο με ψηφιακές πληροφορίες. Στο παρελθόν, όπου ο ψηφιακός κόσμος ήταν τεχνολογικά περιoρισμένος, δεν υπήρχε ιδιαίτερη χρησιμότητα για τέτοιου είδους εφαρμογές. Πλέον όμως, όπου τα αντικείμενα του επαυξημένου περιβάλλοντος μπορούν έχουν και αυτά διαστάσεις, όγκο, βάρος και ακολουθούν και αυτά τους νόμους της φυσικής, οι εφαρμογές της νέας αυτής τεχνολογίας είναι πολυάριθμες και αφορούν πολλούς διαφορετικούς τομείς. Μπορούμε να φανταστούμε την επίδραση που θα έχει στο μέλλον σε τομείς όπως η εκπαίδευση ( αλληλεπίδραση, κατανόηση και περισσότερο ενδιαφέρον ), στη βιομηχανία ( ταχύτητα και ακρίβεια ), στην αρχιτεκτονική ( παρουσίαση και ψηφιοποίηση οράματος). Βλέπουμε παρακάτω μερικά παραδείγματα των παραπάνω ενδεχόμενων εφαρμογών Εικόνα 1. χρήση A.R. στον τομέα της αρχιτεκτονικής Εικόνα 2. χρήση A.R. στον τομέα μηχανικής Χ.Συρράκος 8

10 Εικόνα 3. χρήση A.R. στον τομέα ιατρικής Η επαύξηση του πραγματικού περιβάλλοντος γίνεται μετά την αναγνώριση κάποιων μοτίβων ή αντικειμένων μέσω μιας κάμερας και υλοποιείται με τις παρακάτω δύο τεχνικές υλοποίηση: Marker-Based A.R. Marker-Less A.R. Η πρώτη τεχνική (marker-based) αφορά την αναγνώριση αντικειμένων στην οποία έχουν δοθεί προκαθορισμένα στοιχεία ως προς το τι θα αναγνωρίσει η κάμερα. Ξέρουμε δηλαδή εξαρχής τι θα ψάξει η εφαρμογή κατά την αναγνώριση δεδομένων μέσω της κάμερας. Η δεύτερη τεχνική (marker-less) αφορά την αναγνώριση αντικειμένων στην οποία δεν έχουν δοθεί εξαρχής στοιχεία ως προς τον τύπο δεδομένων που θα αναγνωρίσει η κάμερα. Τέτοιου είδους εφαρμογές είναι αρκετά δύσκολο να υλοποιηθούν καθώς ο αλγόριθμος που θα υλοποιηθεί οφείλει να αναγνωρίζει σχήματα, χρώματα και άλλα μοτίβα σε αντίθεση με τα προκαθορισμένα αντικείμενα της marker-based τεχνικής. Στα πλαίσια αυτής της εργασίας θα ασχοληθούμε κυρίως με την marker-based AR, αλλά θα αναφερθούμε στο τέλος και στις δυνατότητες επέκτασης της εφαρμογής με την βοήθεια της marker-less AR. 1.2 unity3d και vuforia Υπάρχουν πολλά εργαλεία τα οποία υποστηρίζουν τη δημιουργία τέτοιου είδους εφαρμογών. Στα πλαίσια της εργασίας αυτής εμείς θα ασχοληθούμε με το unity3d και το vuforia. Το unity3d είναι μια πλατφόρμα που χρησιμοποιείται κυρίως για την ανάπτυξη παιχνιδιών και προσομοιώσεων δύο ή τριών διαστάσεων.διαθέτει μια βασική σκηνή πάνω στην οποία μπορεί ο δημιουργός να χτίσει ανάλογα με τις ανάγκες του.οι προγραμματιστικές γλώσσες που υποστηρίζει είναι η C#, η Javascript και η Boo. Πάνω σε αυτή την πλατφόρμα, με τη βοήθεια του vuforia, μπορούμε να πειραματιστούμε και να αναπτύξουμε εφαρμογές επαυξημένης πραγματικότητας. Το vuforia είναι ένα πακέτο λογισμικού το οποίο συνδέεται με την παραπάνω πλατφόρμα ( unity ) και επιτρέπει την δημιουργία εφαρμογών AR. Είναι δηλαδή πρακτικά μια βιβλιοθήκη με συναρτήσεις που αφορούν κυρίως τον εντοπισμό αντικειμένων που εγκαταστάται στο unity. Μέσω της τεχνολογίας *Τεχνητής Όρασης επιτρέπει στον δημιουργό να εντοπίσει αντικείμενα/κείμενο σε ένα πραγματικό περιβάλλον και να προβάλλει πάνω τους κάτι ψηφιακό ώστε να φαίνεται και αυτό τελικά κομμάτι του περιβάλλοντος.το αποτέλεσμα αυτό το επιτυγχάνουμε με το συνδυασμό του Unity editor και του vuforia sdk (software development kit). Για να μπορέσουμε Χ.Συρράκος 9

11 όμως να ξεκινήσουμε να πειραματιζόμαστε πρέπει αρχικά να συνδέσουμε την πλατφόρμα του unity3d με το πακέτο λογισμικού του vuforia. 1.3 Εγκατάσταση και σύνδεση unity3d-vuforia Στην ιστοσελίδα του vuforia ( vuforia.com ) υπάρχουν άφθονες πληροφορίες όσον αφορά τη δομή και τις λειτουργίες των πακέτων λογισμικού που διαθέτει. Για την εγκατάσταση των πακέτων αυτών θα ακολουθήσουμε την εξής διαδικασία. Εικόνα 4. Vuforia Installer Μετά την εγκατάσταση του unity3d είναι σημαντικό να επιλέξουμε την υποστήριξη του vuforia A.R. όπως φαίνεται παραπάνω. Στη συνέχεια επιλέγουμε 3D περιβάλλον ανάπτυξης και πραγματοποιούμε εκκίνηση της εφαρμογής. Για να μπορέσουμε να χρησιμοποιήσουμε την κάμερα επαυξημένης πραγματικότητας (AR camera) στον unity editor, χρειαζόμαστε ένα κλειδί το οποίο το ανακτούμε απο την ιστοσελίδα του vuforia (Get development key, χρειάζεται εγγραφή χρήστη). Η σελίδα ανάκτησης του κλειδιού φαίνεται παρακάτω. Χ.Συρράκος 10

12 Εικόνα 5. Vuforia Developer Portal Μετά την επιτυχή εισαγωγή του κλειδιού στον inspector (πάνω δεξιά στον editor) και το σωστό configuration κατά την εγκατάσταση του vuforia ανάλογα με τις ανάγκες μας, έχουμε ένα έτοιμο περιβάλλον στο οποίο μπορούμε δημιουργήσουμε εφαρμογές επαυξημένης πραγματικότητας. Οι ρυθμίσεις / εγκαταστάσεις θα πρέπει να αλλάζουν ανάλογα με τις ανάγκες της εκάστοτε εφαρμογής. Οι παραπάνω ρυθμίσεις αφορούν τα απαραίτητα βήματα για τη χρήση της A.R. κάμερας και την υποστήριξη της επαυξημένης πραγματικότητας στο unity3d ώστε να μπορούμε να πραγματοποιήσουμε αναγνώριση κειμένου. 1.4 Αναγνώριση κειμένου Η αναγνώριση κειμένου στον τομέα του A.R. έχει ως στόχο τον εντοπισμό γραμμάτων, λέξεων και κατ επέκταση κειμένου μέσω κάμερας, την αναγνώριση και την αντιστοιχία τους με ένα λεξικό και τέλος τη χρήση του εντοπισμένου κειμένου (επαύξηση, τροποποίηση, αντιγραφή κλπ. ). Mε τα εργαλεία που ασχολούμαστε ο εντοπισμός και η αναγνώριση θα γίνει μέσω της A.R. κάμερας του unity editor, ενώ το λεξικό για την αντιστοιχία το βρίσκουμε στην ιστοσελίδα του vuforia ως English-Word.vwl. Είναι, λοιπόν, ενδιαφέρον να δούμε τις δυνατότητες, καθώς και τους περιορισμούς, των εργαλείων αυτών που μας παρέχονται. Στην ιεραρχία του Unity editor ( πάνω αριστερά ) μπορούμε να προσθέσουμε και να διαγράψουμε αντικείμενα. Εκεί θα τοποθετήσουμε αρχικά την A.R. κάμερα και θα δημιουργήσουμε διάφορα αντικείμενα τα οποία θα τα κληροδοτήσουμε σε αυτήν. Κάθε αντικείμενο (GameObject) μπορεί δηλαδή να έχει παιδιά, στα οποία να μεταφέρει και να χρησιμοποιεί τις ιδιότητες του. Είναι σημαντικό να τονίσουμε ότι κάθε συμπεριφορά και ιδιότητα των GameObjects συνδέεται με ένα script, το οποίο εκτελείται στην εκκίνηση της εφαρμογής. Αυτό σημαίνει ότι μπορούμε να τροποποιήσουμε τη συμπεριφορά των αντικειμένων μας σε μια εφαρμογή δυναμικά, κατά τη διάρκεια της εκτέλεσής της( Τα gameobjects δεν είναι δηλαδή απαραίτητα στατικά ). Για τη συγκεκριμένη εργασία θα χρησιμοποιήσουμε τις ιδιότητες της A.R. κάμερας και γενικότερα του πακέτου λογισμικού του vuforia για να εντοπίσουμε λέξεις ( words ) και Χ.Συρράκος 11

13 έπειτα να τις επαυξήσουμε ψηφιακά. Επειδή ο unity editor χρησιμοποιείται για ποικίλες εφαρμογές διαφορετικών αναγκών, θα χρειαστεί να κάνουμε κάποιες τροποποιήσεις στις βασικές ρυθμίσεις. Οι ρυθμίσεις αυτές έχουν να κάνουν με τη σωστή λειτουργία της εφαρμογής και όχι με παραμέτρους επίδοσης ή προτίμησης που θα δούμε αργότερα. 1.5 Βασικές ρυθμίσεις editor και vuforia Για να πάρουμε, λοιπόν, τα αποτελέσματα που θέλουμε, κάνουμε τις εξής ρυθμίσεις στον unity editor : Δημιουργία φακέλου Streaming/QCAR στα assets για να τοποθετήσουμε το.vwl αρχείο που περιέχει το λεξικό που χρησιμοποιείται για την ταυτοποίηση των λέξεων (το αρχείο αυτό υπάρχει στην ιστοσελίδα του vuforia ως ένα standard αγγλικό λεξικό). Open vuforia configuration στον inspector για την ενεργοποίηση της AR κάμερας Ενεργοποίηση του vuforia augmented reality στα build settings του unity Επιλεγμένη κονσόλα android ios στα build settings για την μετέπειτα μεταφορά της εφαρμογής σε κινητό android. Δημιουργία φακέλου scripts στα assets του vuforia στον οποίο θα τοποθετούμε οποιαδήποτε modification scripts χρειαστεί να γράψουμε (προεραιτικά) Στον φάκελο Assets/vuforia/prefabs υπάρχουν όλα τα πακέτα λογισμικού του vuforia που αφορούν τον εντοπισμό.εμείς θα χρησιμοποιήσουμε αρχικά το πακέτο TextRecognition. Στις ρυθμίσεις του, αντιστοιχόυμε την word list με το λεξικό που αποθηκεύσαμε στο φάκελο Assets/Streaming/QCAR. Εάν θέλουμε να εντοπίσουμε κάποιες λέξεις που δεν υπάρχουν στη βάση ( στο αποθηκευμένο λεξικό ), εισάγουμε τις καινούριες αυτές λέξεις στο πλαίσιο του additional words. Με τον ίδιο τρόπο όπως από πάνω δουλεύει και το Filter Mode, με τη διαφορά ότι εάν επιλεχθεί αυτή η παράμετρος, η κάμερα θα εντοπίζει μόνο τις λέξεις που δόθηκαν. Το λεξικό δηλαδή δεν λειτουργεί εάν επιλεχθεί το filter. Για την αναγνώριση των λέξεων πρέπει επίσης να επιλεγεί στον inspector το πλαίσιο use word prefabs με max simultaneous words τον αριθμό που επιθυμούμε. Στον φάκελο Assets/vuforia/prefabs υπάρχει το πακέτο Word το οποίο εμπεριέχει το λογισμικό για τη συμπεριφορά της εφαρμογής σε περίπτωση εντοπισμού κάποιας λέξης ( trackable event handler ). Η συμπεριφορά αυτή προσαρμόζεται ανάλογα με την κατάσταση δύο συναρτήσεων, ontrackingfound και ontrackinglost, που αφορούν όπως περιγράφει και το όνομά τους τον εντοπισμό η οχι κάποιας λέξης. Το πακέτο αυτό, όταν το τοποθετούμε στην ιεραρχία ( ως GameObject ) στις περισσότερες περιπτώσεις θα το κάνουμε παιδι του TextRecognition. Επίσης στις ρυθμίσεις του, στο πλαίσιο predefined word γράφουμε τη λέξη που θέλουμε να αναγνωρίσουμε. Οι παραπάνω ρυθμίσεις αφορούν τη σωστή λειτουργία του editor και τον εντοπισμό λέξεων βάσει των αναγκών της εφαρμογής μας. Το κατά πόσον ο εντοπισμός αυτός είναι αποδοτικός και το κατά πόσο επιδέχεται βελτίωση θα το δούμε στο τελευταίο κεφάλαιο της εργασίας. Προς το παρόν θα χρησιμοποιήσουμε και θα αξιολογήσουμε το έτοιμο πακέτο εντοπισμού. Ο εντοπισμός όμως από μόνος του δεν προσφέρει κάτι στον χρήστη της εφαρμογής. Θα πρέπει,δηλαδή, να εκμεταλλευτούμε τον εντοπισμό αυτό και να παράγουμε κάτι ψηφιακό πάνω σε αυτόν. Για αρχή, θα επαυξήσουμε τις λέξεις που εντοπίζουμε με τις αντίστοιχες σε τρισδιάστατη μορφή. Δηλαδή, κάθε φορά που εντοπίζεται μια λέξη, θα εμφανίζεται από πάνω της η ίδια, αλλα σε 3-D μορφή. 1.6 Εντοπισμός λέξεων Οι λέξεις που επιλέξαμε για το συγκεκριμένο παράδειγμα είναι οι : Go, Stop, Wednesday, Week, Weak. Χ.Συρράκος 12

14 Η ιεραρχία στον editor μέχρι αυτή τη στιγμή θα πρέπει να είναι όπως η εικόνα παρακάτω. Εικόνα 6. Ιεραρχία unity Δηλαδή το αντικείμενο TextRecognition να είναι παιδί της A.R. κάμερας και οι λέξεις (words) να είναι παιδιά του TextRecognition. Αυτή είναι μια standard δομή με την οποία επιτυγχάνεται η αναγνώριση κάποιων συγκεκριμένων λέξεων. Ας δούμε τώρα το πως δουλεύουν ακριβώς τα αντικείμενα της ιεραρχίας και με ποιον τρόπο συνδέονται με τα αντίστοιχα scripts. Χ.Συρράκος 13

15 2. UNITY KAI C# Όπως προαναφέραμε, κάθε gameobject συνδέεται με ένα script. Η βασική κλάση ( base class ) από την οποία κληρονομούν τις ιδιότητες και τις συναρτήσεις όλα τα αντικείμενα στον unity editor είναι η Monobehaviour. Προτού μελετήσουμε τις ιδιότητές της είναι σημαντικό να αναφέρουμε ότι στο περιβάλλον του unity όλα τα scripts τρέχουν σε ένα μόνο thread, που σημαίνει ότι κάθε script που εκτελείται δεν μπορεί να διακοπεί από κάποιο άλλο εξωτερικά ( με εξαίρεση τη χρήση των coroutines που θα εξηγήσουμε σε λίγο ). Μερικές από τις βασικές συναρτήσεις της Μοnobehaviour που μας βοηθούν να καταλάβουμε τη λειτουργία και τη χρησιμότητά της σε 3D και real time εφαρμογές είναι οι εξής : Awake() : Καλείται ακριβώς μια φορά για κάθε αντικείμενο τη στιγμή που αρχικοποιείται ( δηλαδή πριν απο την εκκίνηση ) Παράδειγμα : αντικείμενο ) ( η συνάρτηση FindWithTag επιστρέφει ουσιαστικά ένα ενεργό Εικόνα 7. Παράδειγμα Awake() Παρατήρηση : Οι αρχικοποιήσεις των αντικειμένων γίνονται με τυχαία σειρά, οπότε καλό είναι οι συνδέσεις και οι αναφορές μεταξύ αντικειμένων να γίνονται στην κλήση των awake() και όχι των start() που θα δούμε αμέσως μετά. Χ.Συρράκος 14

16 Start() : Καλείται ακριβώς μια φορά για κάθε αντικείμενο στο πρώτο frame μετά την εκκίνηση. Παράδειγμα : Εικόνα 8. Παράδειγμα Start() Παρατήρηση : Η κλήση της start() πραγματοποιείται μετά την κλήση των awake() συναρτήσεων όλων των αντικειμένων. Update() : Καλείται σε κάθε frame κατά τη διάρκεια μιας εφαρμογής. Παράδειγμα : Επιστροφή στο debug log του χρόνου που χρειάστηκε για το τελευταίο frame ( μέσω της συνάρτησης Τime.deltaTime ) Εικόνα 9. Παράδειγμα Update() Οι παραπάνω συναρτήσεις αποτελούν το βασικό κορμό της Monobehaviour κλάσης και χρησιμοποιούνται από κάθε αντικείμενο στην ιεραρχία. Στην ιστοσελίδα του unity υπάρχουν αναλυτικά όλες οι συναρτήσεις και οι ιδιότητές τους.δε θα τις δούμε όλες αναλυτικά καθώς οι περισσότερες έχουν άμεση σχέση με game development σε 3D περιβάλλον και όχι για το είδος της εφαρμογής που θα αναπτύξουμε εμείς. Παρ όλα αυτά είναι χρήσιμο να γνωρίζουμε το είδος των συναρτήσεων που προσφέρουν οι κλάσεις και τα namespaces του Unity ώστε στη συνέχεια να μπορούμε να ανατρέξουμε σε αυτές σε περίπτωση που χρειαστούμε κάποιες από τις ιδιότητές τους. Για τα δικά μας δεδομένα για παράδειγμα, ενδέχεται να φανούν πολύ χρήσιμες οι συναρτήσεις της κλάσης Math για πολύπλοκους υπολογισμούς σε δύο και τρεις διαστάσεις, η fixedupdate για update σε αντικείμενα που ακολουθούν νόμους της φυσικής ( colliders / rigidbody ), η Physics.Raycast για αναγνώριση αλληλεπίδρασης Χ.Συρράκος 15

17 χρήστη-αντικειμένου και πολλές άλλες που θα δούμε στη συνέχεια, όταν αρχίζουν να παρουσιάζονται οι αντίστοιχες ανάγκες. Προς το παρόν αρκεί να δούμε τη μέθοδο υλοποίησης των coroutines στο unity καθώς και τη χρησιμότητά τους. 2.1 Coroutines σε Unity Το Manual του Unity δίνει το παρακάτω παράδειγμα για την απλή κατανόηση των coroutines. Έστω ότι θέλουμε το επαυξημένο περιεχόμενο που εμφανίζεται μετά τον εντοπισμό λέξεων/εικόνων να κινείται σε έναν άξονα ή να αλλάζει ένταση χρώματος κατά την πάροδο του χρόνου. Εάν υλοποιήσουμε αυτή την κίνηση ή την αλλαγή σε μια συνάρτηση Update_Pos_and_Color() θα εκτελεστεί πρώτα ολόκληρη η συνάρτηση και μετά θα ανανεωθεί το επόμενο frame, με αποτέλεσμα οποιαδήποτε αλλαγή να είναι στιγμιαία και όχι γραμμική κατά την πάροδο του χρόνου όπως θα θέλαμε. Το θέμα αυτό μπορούμε να το λύσουμε με τη χρήση των coroutines (ή με τη χρήση Update()/FixedUpdate() εάν υπάρχει η δυνατότητα ). Μια coroutine έχει παρόμοια συμπεριφορά με μια συνάρτηση και λειτουργεί ως εξής : Στην κλήση της παγώνει η συνάρτηση (yield) και επιστρέφει η ροή στον unity ώστε να γίνει ανανέωση του frame (update) Μετά το την ανανέωση επιστρέφει η ροή του προγράμματος στην coroutine και συνεχίζει απο το σημείο που έμεινε. Έτσι καταλαβαίνουμε ότι μπορούμε να υλοποιήσουμε το παράδειγμα που αναφέραμε απο πάνω ως εξής : Εικόνα 10. Παράδειγμα coroutine Με αυτόν τον τρόπο, σε κάθε yield ανανεώνεται το frame με αποτέλεσμα να πάρουμε στη μεταβλητή μας (που θα αντιστοιχίζεται σε κάποιο αντικείμενο) Χ διαφορετικά material.colors σε πάροδο Χ δευτερολέπτων. Σε πραγματικά δεδομένα βέβαια κάτι τέτοιο όπως προαναφέραμε πολύ απλά γίνεται με τη χρήση της συνάρτησης Update, αυξάνοντας το δείκτη χρώματος κατά ένα μικρό ποσοστό σε κάθε frame. Ένα πιο εύστοχο παράδειγμα για ουσιώδη χρήση coroutine θα μπορούσαμε να πούμε ότι είναι η εκτέλεση πεπερασμένων βημάτων μετά τη σήμανση κάποιου εξωτερικού event (μετά το πάγωμα ). Κάτι τέτοιο δε θα παρουσιαστεί στις ανάγκες της εφαρμογής, οπότε δε θα αναφερθούμε περεταίρω. Χ.Συρράκος 16

18 3.VUFORIA KAI C# Τώρα που είδαμε τον βασικό κορμό της Monobehaviour μπορούμε να προχωρήσουμε στη μελέτη των A.R. camera, TextRecognition και Word, τα οποία όλα κληρονομούν τις ιδιότητές της. A.R. camera : Στο script της A.R. camera που είναι συνδεδεμένο με το αντίστοιχο gameobject, γίνεται έλεγχος πιθανών λαθών κατά την εκκίνηση της εκάστοτε εφαρμογής. Ο κώδικας αφορά κυρίως τη σωστή αρχικοποίηση των παραμέτρων και τη σωστή εκκίνηση της κάμερας μέσω του Unity ή της απομακρυσμένης συσκευής. Αυτό γίνεται με τη βοήθεια της Μonobehaviour σε συνδυασμό με συναρτήσεις αρχικοποίησης του vuforia όπως οι seterroroccured() και onvuforiainitializationerror(). Παρατήρηση : Είναι επίσης σημαντικό να αναφέρουμε ότι οι αλλαγές στον inspector που αφορούν την A.R. κάμερα γίνονται overwrite από το script της.οπότε, οποιαδήποτε τροποποίηση θέλουμε να κάνουμε θα πρέπει να την εντάξουμε στο παραπάνω script ( ενδέχεται να είναι bug ) TextRecognition Prefab: Το πακέτο αυτό αναγνωρίζει τυπωμένες λέξεις. Δεν έχει τη δυνατότητα να αναγνωρίζει χειρόγραφους χαρακτήρες καθώς ο τρόπος ταυτοποίησης γίνεται με αντιστοίχηση των εντοπισμένων λέξεων με ένα έτοιμο λεξικό. Όπως αναφέραμε στην αρχή, δηλαδή, είναι μια τεχνική marker-based A.R.. To script που αντιστοιχεί στο πακέτο αυτό αρχικοποιεί και ξεκινά τον TextTracker*. Σε αντίθεση με την A.R. κάμερα και τα Words που θα δούμε σε λίγο, δεν έχει κάποια γεωμετρική αναπαράσταση στη σκηνή. Δύο παραδείγματα χρήσης του TextRecognition script φαίνονται παρακάτω. *TextTracker : Κλάση που αρχικοποιεί και ξεκινά τον εντοπισμό κατά την εκκίνηση της εφαρμογής μέσω των συναρτήσεων GetRegionOfInterest(), SetRegionOfInterest(), Start() και Stop() 1.Set Wordlist - Filter Εικόνα 11. TextTracker & White Filter List Προσθέτοντας το παραπάνω κομμάτι στο script του ΤextRecognition επιτυγχάνουμε τον εντοπισμό των λέξεων που ορίσαμε χωρίς τη χρήση του λεξικού (παρ όλα αυτά οφείλουμε να έχουμε αποθηκευμένο ένα λεξικό σαν βάση αλλιώς δεν έχουμε πρόσβαση στα filters ). Με παρόμοιο τρόπο μπορούμε να εισάγουμε δικό μας λεξικό ( αρκεί να είναι.vwl extension ), να τροποποιήσουμε ένα ήδη υπάρχων και να εισάγουμε λέξεις σε Filter_Mode.BlackList. Παρατήρηση: Οι ρυθμίσεις αυτού του είδους μπορούν να γίνουν και μέσω του inspector στον unity editor. Χ.Συρράκος 17

19 2. Region of Interest ( Picture Analysis ) Εικόνα 12. set και get Region of Interest Με αυτόν τον τρόπο ορίζουμε τον χώρο στην οθόνη ( σε pixels ) στον οποίο θέλουμε να εστίασουμε την ανάλυση της εικόνας. Οι λέξεις που αναγνωρίζονται στον χώρο αυτό αντιστοιχίζονται στη συνέχεια με τις αντίστοιχες που υπάρχουν στο λεξικό (ή αυτές που έχουμε ορίσει εμείς ). Παρατήρηση : Υπάρχουν δύο Regions of Interest ( RoI ) που μας ενδιαφέρουν, το RoI για αναγνώριση ( detection ) και το RoI για εντοπισμό ( tracking ).Η αναγνώριση έχει να κάνει με τη διαδικασία αναζήτησης και εξέτασης των λέξεων, ενώ ο εντοπισμός έπεται της αναγνώρισης και βοηθά στο να παραμένουν τα αντικείμενα που αναγνωρίζονται στην εστίαση της κάμερας.έτσι ώστε να Όσον αφορά το tracking δεν μας ενδιαφέρει ιδιαίτερα το μέγεθος που θα ορίσουμε καθώς δεν υπάρχει επιβάρυνση ως προς την επίδοση ακόμα και στην περίπτωση που ορίσουμε ως RoI ολόκληρη την οθόνη. Για το detection όμως πρέπει να είμαστε προσεκτικοί καθώς όσο μεγαλώνει το RoI τόσο πιο αργή θα είναι και η αναγνώριση των αντικειμένων. Word Prefab : Το πακέτο αυτό συνδέεται με το Wordbehaviour script. Κατά την εκκίνηση της εφαρμογής, μετά απο κάθε εντοπισμό, δημιουργείται και αρχικοποιείται ένα νέο Word το οποίο συνδέεται με την αντίστοιχη λέξη. Η δημιουργία αυτή δεν γίνεται δυναμικά. Οφείλει να δηλώσει ο χρήστης, δηλαδή, εξαρχής το μέγιστο αριθμό λέξεων που θα δημιουργηθούν ( είναι ο ορισμός του MaxSimultaneous words στον inspector ή μέσω script ). Καταλαβαίνουμε, λοιπόν, ότι αφού δημιουργούνται κατά την εκτέλεση της εφαρμογής ( runtime ) scripts που συνδέονται με τα GameObjects που έχουμε ορίσει, μπορούμε να διαχειριστούμε το αποτέλεσμα του εντοπισμού με όποιον τρόπο θέλουμε. Έστω για παράδειγμα ότι θέλουμε να εισάγουμε κάθε νέα λέξη που εντοπίζεται σε έναν εξωτερικό φάκελο. Με τη βοήθεια των κλάσεων του WordManager μπορούμε να υλοποιήσουμε κάτι τέτοιο ως εξής: Εικόνα 13. get active trackables στον Statemanager Παρατήρηση : Τα αποτελέσματα του WordResult που παίρνουμε μέσω των manager κλάσεων ανανεώνονται σε κάθε frame. Πολλές απο τις ρυθμίσεις και τα παραδείγματα που είδαμε παραπάνω είναι δυνατόν να υλοποιηθούν απευθείας μέσω του unity editor χωρίς να τροποποιήσουμε κάποιο script. Είναι σημαντικό παρ όλα αυτά να γνωρίζουμε πως να παρεμβένουμε στα παρασκήνια καθώς αυτό θα μας βοηθήσει σε περιπτώσεις όπου η χρήση του editor δεν παρέχει Χ.Συρράκος 18

20 κάποια άμεση λύση ( όπως τα παραδείγματα της προσαρμογής του RoI και της αντιγραφής λέξεων σε εξωτερικό φάκελο ) και σε περιπτώσεις όπου θα θέλουμε η εφαρμογή μας να έχει δυναμικό χαρακτήρα ( όπως θα δούμε στη συνέχεια ). 3.1 Δημιουργία επαυξημένης πραγματικότητας Θα δημιουργήσουμε 3D αντικείμενα και θα τα τοποθετήσουμε στην ιεραρχία.για κάθε λέξη που έχουμε, δημιουργούμε στην ιεραρχία 3d-Text και το κάνουμε παιδί της αντίστοιχης λέξης. Έχουμε, δηλαδή, το εξής αποτέλεσμα. Εικόνα 14. Ιεραρχία στον editor μετά την είσοδο των 3-d μοντέλων Στο πλαίσιο TextMesh γράφουμε τη λέξη που θέλουμε να εμφανιστεί επαυξημένα και στο Transform, όπου αναγράφονται οι συντεταγμένες και η γωνία με την οποία θα εμφανιστεί το αντικείμενο, τροποποιούμε την παράμετρο rotation X στον inspector κατα 40 περίπου μοίρες. Αυτό το κάνουμε διότι διαφορετικά με την αναγνώριση της κάμερας το επαυξημένο κείμενο θα εμφανιστεί κάθετα στην γωνία προβολής και δεν θα είναι εύκολα αναγνώσιμο. Τέλος, τροποποιούμε τις παραμέτρους Position ώστε κάθε 3D λέξη να βρίσκεται πάνω απο την αντίστοιχή της στη σκηνή (για διευκόλυνση, η τροποποίηση αυτή γίνεται και κατευθείαν πάνω στη σκηνή επιλέγοντας τον κέρσορα μετακίνησης ). Η σκηνή μας μετά απο αυτές τις τροποποιήσεις θα είναι όπως παρακάτω. Χ.Συρράκος 19

21 Εικόνα 15. Scene view στον editor Αλλαγές για τις ιδιότητες του 3D κειμένου, όπως μέγεθος, χρώμα, αποστάσεις, σκιές και διάφορα άλλα εφέ, μπορούμε να κάνουμε είτε στον inspector, στα πλαίσια Material και TextMesh, είτε μέσω ενός script το οποίο το τοποθετούμε πάνω στο αντικείμενο που θέλουμε ( attach to GameObject). 3.2 Δημιουργία αρχείου.apk και δοκιμή εφαρμογής Για να δοκιμάσουμε τη λειτουργία της εφαρμογής μπορούμε είτε να την τρέξουμε στον unity editor ( είναι απαραίτητη η κάμερα υπολογιστή ) είτε να την περάσουμε σε μια συσκευή που διαθέτει κάμερα. Εμείς θα κατασκευάσουμε ένα.apk αρχείο και θα το περάσουμε σε συσκευή κινητού android. Στα build settings του unity επιλέγουμε το πλαίσιο Add open scenes ώστε να προσθεθεί η σκηνή προς μεταφορά. Ύστερα στην πλατφόρμα επιλέγουμε android και στα player settings ( inspector ) ονομάζουμε την εφαρμογή. Τέλος συνδέουμε τη συσκευή που θέλουμε στον υπολογιστή και μεταφέρουμε το αρχείο με την επιλογή build and run (σε android πρέπει να έχουμε το usb debugging ανοιχτό στα dev settings). Δοκιμάζοντας την εφαρμογή βλέπουμε ότι παίρνουμε ένα αποτέλεσμα όπως παρακάτω. Αναγνωρίζονται, δηλαδή, μέσω της A.R. κάμερας όλες οι λέξεις σωστά. Εικόνα 16. Εφαρμογή κατά την εκτέλεση Χ.Συρράκος 20

22 Είναι σημαντικό τώρα να αλλάξουμε τις παραμέτρους του κειμένου και της κάμερας για να δούμε με ποιο τρόπο αλλάζουν τα αποτελέσματα που παίρνουμε. Τι θα αλλάξει, δηλαδή, εάν τροποποιήσουμε το μέγεθος του κειμένου, τη γραμματοσειρά του κειμένου, τη γωνία και την απόσταση της κάμερας, τον αριθμό των αντικειμένων προς αναγνώριση. 3.3 Πειραματισμός παραμέτρων Απόσταση και Μέγεθος Αρχικά ας παρατηρήσουμε τα αποτελέσματα που παίρνουμε μεταβάλλοντας το μέγεθος της γραμματοσειράς και την απόσταση της κάμερας από τον στόχο. Στον παρακάτω πίνακα αναγράφονται τα αποτελέσματα που πήραμε για τέσσερα διαφορετικά fonts όσον αφορά τη μέγιστη απόσταση απο την οποία μπορούν να γίνουν αντιληπτές οι λέξεις. Πίνακας 1. Αποτελέσματα μετρήσεων Font Distance cm cm cm cm Tο μέγεθος του font έχει μετρηθεί με τη γραμματοσειρά Calibri και Arial του Microsoft Word. Παρατήρηση: Να σημειωθεί ότι οι παραπάνω αποστάσεις αφορούν τη μέγιστη δυνατή απόσταση από την οποία μπορεί να γίνει η αναγνώριση μέσω της κάμερας. Σε αυτές τις αποστάσεις η ταχύτητα αναγνώρισης είναι σχετικά αργή (3-5 δευτερόλεπτα ), ενώ προσεγγιστικά η σχεδόν αυτόματη αναγνώριση ( < 1-1,5 sec ) γίνεται στη μέση των παραπάνω αποστάσεων. Εκτός από το παραπάνω συμπέρασμα υπάρχουν και κάποιες άλλες παρατηρήσεις που προέκυψαν απο τις προηγούμενες δοκιμές. Όταν γίνεται η αναγνώριση των λέξεων σε μια μέγιστη απόσταση X, τότε η μεταβλητή OnTrackingFound συνεχίζει να είναι αληθής για απόσταση μεγαλύτερη απο το Χ. Δηλαδή, το επαυξημένο αντικείμενο συνεχίζει να υφίσταται σε απόσταση στην οποία εάν δοκιμάζαμε να εντοπίσουμε τις λέξεις απτην αρχή, δεν θα γινόταν η αναγνώριση. Το φαινόμενο αυτό αφορά τον όρο Extended_Tracking που μπορούμε να δούμε στα scripts. Για τις τιμές που δοκιμάσαμε, παρατηρούμε οτι η συνάρτηση που συνδέει το font και την απόσταση έχει την τάση να προσεγγίζει την γραφική παράσταση μιας παραβολής. Για αρκετά μεγαλύτερες τιμές, η συναρτηση είτε θα συνεχίζει να έχει αυτή τη συμπεριφορά, είτε η απόσταση θα αρχίσει να αυξάνεται με ακόμα μεγαλύτερο ρυθμό. Χ.Συρράκος 21

23 Με απλά λόγια, όσο μεγαλύτερο είναι το font τόσο μεγαλύτερη θα είναι και η απόσταση αναγνώρισης. Ο τύπος γραμματοσειράς ( font ) δεν παίζει ρόλο στην ταχύτητα και απόσταση αναγνώρισης, αρκεί να είναι παραπλήσιος με τον standard τύπο που χρησιμοποιείται ( υπάρχει λίστα στο portal του vuforia για τις υποστηριζόμενες γραμματοσειρές ). Ο εντοπισμός ( detection ) σε γωνίες μεγάλης κλίσης δεν είναι εφικτός, αλλά σε περίπτωση που γίνει ο εντοπισμός ( υπό κάποια μικρότερη γωνία ), τότε η παρακολούθηση ( extended_tracking ) συνεχίζει να υφίσταται και σε μεγαλύτερες γωνίες ( αντίστοιχο αποτέλεσμα με την πρώτη παρατήρηση που αφορά την απόσταση ). Σε αποστάσεις μεγαλύτερες από αυτές του πίνακα, ενδέχεται να υπάρχει αργή και μερική αναγνώριση λέξεων. Δηλαδή, μπορεί να αναγνωρίζονται με μεγάλη καθυστέρηση μερικές από τις λέξεις, με τις υπόλοιπες να μην αναγνωρίζονται ποτέ. Επειδή δεν υπήρχε πλήρης αναγνώριση, δεν χρησιμοποιήσαμε αυτές τις τιμές στον πίνακα. Είναι δυνατή η ταυτόχρονη αναγνώριση δύο ή περισσότερων στόχων έως τη μέγιστη δυνατή απόσταση εντοπισμού του μικρότερου ( ως προς το font ). Η αναγνώριση γίνεται μόνο με landscape προσανατολισμό κάμερας (ενδέχεται να είναι bug της παρούσας έκδοσης) Εμπλουτισμός κειμένου Θα δοκιμάσουμε τώρα να εμπλουτίσουμε τον στόχο με πολλές λέξεις ( τυχαίες ) ώστε να δούμε σε αυτήν την περίπτωση τι αποτελέσματα θα πάρουμε συγκριτικά με τις 5 λέξεις που είχαμε πριν. Το κείμενο που θα εξετάσουμε ( προέκυψε από random text generator ) είναι το εξής. Εικόνα 17. Τυχαίο κείμενο Θα εργαστούμε με τον ίδιο τρόπο όπως και με τις 5 λέξεις (στατικά, μέσω της ιεραρχίας Χ.Συρράκος 22

24 ). Για κάθε μία θα εισάγουμε ένα word και ένα 3D text αντικείμενο στη σκηνή ως παιδιά του TextRecognition. Η ιεραρχία, λοιπόν, θα είναι όπως παρακάτω Εικόνα 18. Ιεραρχία μετά την είσοδο του τυχαίου κειμένου Όπου κάθε λέξη έχει ως παιδιά τα text και 3d_text. Παρατήρηση : Καταλαβαίνουμε, ότι μετά από αυτό το παράδειγμα, σε περίπτωση που θέλουμε να αναγνωρίσουμε ένα μεγάλο πλήθος λέξεων, η χρήση της ιεραρχίας για την εισαγωγή των επιθυμητών λέξεων καθίσταται μη αποδοτική. Θα δούμε αργότερα, λοιπόν, τον τρόπο με τον οποίο μπορούμε να αντιμετωπίσουμε αυτό το πρόβλημα( πως η εφαρμογή θα αποκτήσει δηλαδή scalability ). Χ.Συρράκος 23

25 Η σκηνή μετά τις κατάλληλες τροποποιήσεις ( ομοίως με τις 5 λέξεις ) θα είναι ως εξής. Εικόνα 19. Νέο scene view στον editor Δοκιμάζοντας την εφαρμογή σε συσκευή android παίρνουμε το εξής αποτέλεσμα. Εικόνα 20. Νέα εφαρμογή κατά την εκτέλεση Κάθε λέξη ωστόσο δεν αναγνωρίζεται το ίδιο γρήγορα. Σε απόσταση 50 εκατοστών για την παραπάνω γραμματοσειρά(24 Αrial) το 90% περίπου των λέξεων αναγνωρίστηκαν αμέσως, ενώ το υπόλοιπο 10% χρειάστηκαν 2-3 δευτερόλεπτα επιπλέον ή κάποια παραπάνω εστίαση. Παρατηρούμε δηλαδή, ένα μικρό πρόβλημα αποδοτικότητας (ταχύτητα) όσο προσθέτουμε νέο κείμενο. Χ.Συρράκος 24

26 Πειραματισμός παραμέτρων : Γωνία Προβολής Εάν αυξήσουμε τη γωνία προβολής κατά μοίρες θα δούμε το εξής αποτέλεσμα. Εικόνα 21. Εφαρμογή κατά την εκτέλεση με γωνία προβολής Δεν αναγνωρίζονται δηλαδή όλες οι λέξεις ανεξαρτήτως διάρκειας αναμονής ή εστίασης. Όσο αυξάνουμε τη γωνία, δηλαδή, παρατηρούμε προβλήματα σε ταχύτητα εντοπισμού και σε αναγνώριση. Χ.Συρράκος 25

27 4. ΠΕΡΙΟΡΙΣΜΟΙ ΣΤΗΝ ΑΝΑΓΝΩΡΙΣΗ ΚΕΙΜΕΝΟΥ:ΣΥΜΠΕΡΑΣΜΑΤΑ Μετά από τις παραλλαγές στις παραμέτρους καταλήγουμε στις εξής παρατηρήσεις : H αύξηση στο πλήθος των λέξεων προς αναγνώριση έχει μια μικρή επίδραση στην ταχύτητα αναγνώρισης, αλλά δεν επηρεάζει την πραγματοποίηση της αναγνώρισης. Λύση : Η αργή αναγνώριση έχει με το γεγονός ότι το Region of Interest στο πληθωρικό κείμενο είναι μεγαλύτερο απο κάποιο άλλο με λίγα στοιχεία. Μια λύση, λοιπόν, είναι να περιορίσουμε το RoI ώστε να αυξηθεί η ταχύτητα αναγνώρισης. Έτσι όμως, θα μειωθεί το εύρος των λέξεων που θα αναγνωρίζονται σε κάθε frame της κάμερας. Εξαρτάται, λοιπόν, από την υλοποίηση που θέλουμε να ακολουθήσουμε για το ποια λύση θα διαλέξουμε, καθώς και οι δύο έχουν τα μειονεκτήματά τους. Στην αλλαγή της γωνίας προβολής παρουσιάστηκαν τα περισσότερα προβλήματα καθώς είχε επίπτωση και στην πραγματοποίηση της αναγνώρισης αλλά και στην ταχύτητα. Πιθανή Λύση: Όσο αυξάνεται η γωνία προβολής, τόσο στρεβλώνεται η φόρμα των λέξεων. Με την τεχνική που χρησιμοποιούμε ( marker-based AR ) δεν μπορεί να υπάρξει κάποια λύση ως προς αυτό το πρόβλημα καθώς παρά τον σωστό εντοπισμό των αντικειμένων, δεν θα υπάρχει σωστή αντιστοίχιση με το λεξικό που έχουμε ορίσει. Για να διορθώσουμε, λοιπόν, αυτό το πρόβλημα, θα πρέπει να χρησιμοποιήσουμε εφαρμογές που δεν χρειάζονται κάποιο λεξικό για ταύτιση με τις εντοπισμένες λέξεις (marker-less A.R. ). Παρατήρηση : Στην παραμετροποίηση της απόστασης σε συνάρτηση με την αναγνώριση θεωρώ ότι πήραμε αρκετά ικανοποιητικά αποτελέσματα και δεν υπάρχει λόγος επιδίωξης βελτίωσης στο συγκεκριμένο κομμάτι. Εκτός από τις παραμέτρους που αφορούν την αποδοτικότητα της εφαρμογής ( ταχύτητα / αναγνώριση ) μπορούμε να προσθέσουμε χαρακτηριστικά που βελτιώνουν τη λειτουργικότητα και την αλληλεπίδραση με το χρήστη καθώς και τη δυνατότητα επεκτασιμότητας* της εφαρμογής. Θα δούμε παρακάτω τον τρόπο με τον οποίο μπορούν να υλοποιηθούν μερικά από αυτά τα χαρακτηριστικά. *Χωρίς την ικανότητα της επεκτασιμότητας ( scalability ) οι περισσότερες εφαρμογές καθίστανται μη πρακτικές. Είναι πολύ σημαντικό, λοιπόν, να δώσουμε τη δυνατότητα αυτή στην εφαρμογή μας. Χ.Συρράκος 26

28 5. SCALABILITY ΕΦΑΡΜΟΓΗΣ Αρχικά, θέλουμε να εντοπίζουμε κάθε λέξη που τροφοδοτείται μέσω του λεξικού, χωρίς να την τοποθετούμε εμείς στη σκηνή. Για να το κάνουμε αυτό θα εκμεταλευτούμε το DefaultTrackableEventHandler script του vuforia στο οποίο υλοποιούνται οι συναρτήσεις OnTrackingFound() και OnTrackingLost(). Ουσιαστικά μετά απο κάθε επιτυχή εντοπισμό, θα δημιουργούμε ένα νέο επαυξημένο αντικείμενο και θα το κληροδοτούμε στην αντίστοιχη λέξη. Οι λέξεις δημιουργούνται αυτόματα απο το vuforia αλλά ως κλώνοι, οπότε θα πρέπει να αλλάξουμε τα ονόματα των λέξεων αυτών ώστε να μπορούμε μετά να αναφερθούμε σε καθεμία ξεχωριστά. Εικόνα 22. Δυναμική δημιουργία αντικειμένων Προσθέτοντας τον παραπάνω κώδικα μετά από κάθε επιτυχές tracking της κάμερας καταφέρνουμε να δημιουργήσουμε δυναμικά το επαυξημένο αντικείμενο και να το κληροδοτήσουμε στις λέξεις-κλώνους. Στα αντικείμενα αυτά μπορούμε να δώσουμε ιδιότητες ή να κάνουμε attach άλλα script μέσω της συνάρτησης get_component. Για παράδειγμα εάν θέλουμε να προσθέσουμε ένα script στον επαυξημένο κύβο που τον κάνει να περιστρέφεται θα πράξουμε ως εξής: Εικόνα 23. Rotate script και ένταξή του στο Main script Χ.Συρράκος 27

29 Εάν ακόμα θέλουμε να χρησιμοποιήσουμε κάποια μεταβλητή που βρίσκεται σε άλλη κλάση μπορούμε να αναφερθούμε σε αυτή παρομοίως ως εξής: Εικόνα 24. Ενεργοποίηση component Όπου my_var πρέπει να είναι αναγκαστικά public static μεταβλητή στην κλάση myscript ( και στην προκειμένη περίπτωση Boolean ). Πρωτού προσθέσουμε δυνατότητες αλληλεπίδρασης των αντικειμένων με το χρήστη ας παρατηρήσουμε τα αποτελέσματα της νέας δυναμικής εφαρμογής. 5.1 Εκτέλεση δυναμικής εφαρμογής. Για να δούμε τη δυναμική λειτουργία της εφαρμογής θα πρέπει να την τρέξουμε στον Unity Editor ώστε να βλέπουμε κατά την εκτέλεση της τη δημιουργία αντικειμένων και τα αντίστοιχα μηνύματα της κονσόλας. Για παράδειγμα στον εντοπισμό πέντε λέξεων που πραγματοποιήσαμε αρχικά η ιεραρχία / σκηνή θα είναι όπως παρακάτω : Βήμα 1 : Κλειστή Εφαρμογή Βήμα 2 : Play Εικόνα 25. Δυναμική ιεραρχία Εικόνα 26. Δυναμικό scene view ( κάμερα ) Χ.Συρράκος 28

30 Εικόνα 27.Δυναμική ιεραρχία κατά την εκτέλεση Βλέπουμε, λοιπόν, ότι σωστά δημιουργήθηκαν τα αντικείμενα στην ιεραρχία, αλλά οι λέξεις κλώνοι δεν είναι παιδιά του TextRecognition. Για καλύτερη οργάνωση, λοιπόν, θα πραγματοποιήσουμε αυτήν την αλλαγή ως εξής : textrec = GameObject.Find("TextRecognition"); // textrec -> GameObject variable this.transform.parent = textrec.transform; Παρατήρηση : Εάν κάποια στιγμή της εφαρμογής χαθεί μια λέξη απτον tracker της κάμερας και στη συνέχεια ξαναβρεθεί, θα δημιουργηθεί ξανά ένας επαυξημένος κύβος πάνω απο τον προηγούμενο. Αυτή τη λειτουργικότητα πρέπει να την αποφύγουμε, οπότε σε κάθε tracking lost είναι καλό να καταστρέφουμε το παιδί της λέξης που χάθηκε ( destroy(name) ). 5.2 Δοκιμή εφαρμογής σε τυχαίο κείμενο. Είναι ενδιαφέροντα τα αποτελέσματα εάν δοκιμάσουμε τη δυναμική αυτή εφαρμογή σε ένα τυχαίο κείμενο χωρίς προκαθορισμένα fonts και sizes. Δοκιμή σε βιβλίο : Μηδενική γωνία προβολής Εικόνα 28. Δοκιμή δυναμικής εφαρμογής σε βιβλίο Βλέπουμε ότι επαυξάνονται οι περισσότερες από τις λέξεις. Είναι αξιοσημείωτο το γεγονός όμως ότι εντοπίζονται λέξεις ( δημιουργούνται αντικείμενα στον editor ) που είναι εκτός του frame της κάμερας που βλέπουμε. Αυτό μπορεί να αλλάζει από συσκευή σε συσκευή ανάλογα με το ποσοστό του φακού της κάμερας που χρησιμοποιείται ως viewpoint του χρήστη. Επίσης επειδή δεν έχουμε δώσει εμείς προκαθορισμένες λέξεις προς αναγνώριση τα λάθη που γίνονται είναι αρκετά. Βλέπουμε παρακάτω την ιεραρχία μετά από πέντε περίπου δευτερόλεπτα εστίασης στο βιβλίο. Χ.Συρράκος 29

31 Εικόνα 29. Αποτελέσματα δοκιμής βιβλίου στην ιεραρχία Πολλές από τις λέξεις που εντοπίζονται δεν βγάζουν νόημα, παρόλα αυτά βρίσκονται στο standard λεξικό του Vuforia γι αυτό και θεωρούνται αποδεκτές. Για παράδειγμα η λέξη lix που έχει εντοπιστεί βλέπουμε ότι όντως υπάρχει στο vwl αρχείο του Vuforia. Αυτό αποτελεί και ένα από τα βασικά μειονεκτήματα του Vuforia, ότι ενδέχεται δηλαδή να εντοπίζονται λανθασμένες λέξεις, ή και κομμάτια λέξεων (πχ στη λέξη lipstick να αναγνωρίζεται το lip σαν αποδεκτή λέξη). Εικόνα 30. Αναζήτηση στο vwl λεξικό Το φαινόμενο αυτό γίνεται εντονότερα αντιλειπτό εάν αυξήσουμε λίγο τη γωνία προβολής με αποτέλεσμα όπως είχαμε αναφέρει και προτύτερα να έχουμε επιπτώσεις στην αναγνώριση και την ταχύτητα αναγνώρισης λέξεων. Συγκεκριμένα βλέπουμε τα αποτελέσματα με Χ.Συρράκος 30

32 Δοκιμή σε βιβλίο : Γωνία προβολής (~35-40 μοίρες ) Εικόνα 31. Δοκιμή δυναμικής εφαρμογής με γωνία προβολής Εικόνα 32. Αποτελέσματα στην ιεραρχία ( μέσω γωνίας προβολής ) Παρατήρηση : Για να αποφύγουμε τέτοια συμπεριφορά μπορούμε να φτιάξουμε το δικό μας λεξικό και να τροφοδοτήσουμε αυτό στον editor αντί για το ήδη υπάρχων. 5.3 Διαχείριση εντοπισμένων λέξεων Είναι σημαντικό να γνωρίζουμε κατά τη διάρκεια της εφαρμογής πόσες και ποιες λέξεις είναι εντοπισμένες. Κάτι τέτοιο μπορούμε να το υλοποιήσουμε με τη βοήθεια των κλάσεων StateManager και WordManager. Επειδή τα αποτελέσματα των εντοπισμών είναι συνεχώς μεταβλητά και αλλάζουν απο frame σε frame, θα εντάξουμε τον κώδικα στη συνάρτηση Update. Χ.Συρράκος 31

33 Εικόνα 33. Ενεργά εντοπισμένες λέξεις Το παραπάνω script μας γράφει σε καθε frame στην κονσόλα ποια αντικείμενα είναι εντοπισμένα. Αυτό δεν έχει κάποια πρακτική σημασία, αλλά μπορούμε στη θέση του Log να βάλουμε οποιαδήποτε λειτουργικότητα θέλουμε ως προς τις λέξεις αυτές ανάλογα με τις ανάγκες μας (θα το χρησιμοποιήσουμε για την αλληλεπίδραση με το χρήστη στη συνέχεια). Χ.Συρράκος 32

34 6.ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΜΕ ΤΟ ΧΡΗΣΤΗ Η οποιαδήποτε πιθανή αλληλεπίδραση με το χρήστη προσδίδει σίγουρα ένα παραπάνω ενδιαφέρον σε μια εφαρμογή. Δώσαμε παραπάνω μερικές ιδέες ως προς τις πιθανές υλοποιήσεις που θα μπορούσαμε να κάνουμε στα πλαίσια της εφαρμογής που αναπτύσσουμε. Ενώ οι τεχνικές λεπτομέρειες αλλάζουν από interaction σε interaction, η γενική ιδέα από πίσω παραμένει η ίδια, το πως δηλαδή θα πραγματοποιηθεί. Έχουμε ήδη μια δυναμικά αναπτυσσόμενη σκηνή με λέξεις, οι οποίες έχουν ως παιδιά ένα επαυξημένο αντικείμενο η καθεμία. Αυτό που θέλουμε εμείς, λοιπόν, είναι να προσθέσουμε ως components στα επαυξημένα αντικείμενα κάποια behavioural scripts, στα οποία θα εντάσσουμε τις εκάστοτε τεχνικές λεπτομέρειες. Ας δούμε για παράδειγμα την υλοποίηση της δυνατότητας μεγέθυνσης και σμίκρινσης των αντικειμένων, της μετακίνησής τους, καθώς και της προσθήκης επιπλέον texture στα επαυξημένα αντικείμενα. 6.1 Scale script Για τη δημιουργία των παραπάνω αλληλεπιδράσεων θα χρησιμοποιήσουμε ως είσοδος απτο χρήστη το touch στην οθόνη του κινητού (μπορούν να υλοποιηθούν εύκολα και συναρτήσεις εντοπισμού του ποντικιού σε υπολογιστή για γρήγορες δοκιμές και testing ). Για τη μεγέθυνση και τη σμίκρυνση αντικειμένων θα χρειαστούμε είσοδο απο δύο δάχτυλα στην οθόνη. Δεν θα χρειαστούμε συντεταγμένες του touch στην οθόνη, αλλά μόνο μια συνάνρτηση που συνδέει την απόσταση μεταξύ των δαχτύλων που κάνουν το διαδεδομένο pinch zoom in και zoom out. Θα χρησιμοποιήσουμε τη βιβλιοθήκη του LeanTouch απο το Asset Store του Vuforia ( free ) για να έχουμε εύκολη πρόσβαση σε τέτοιου είδους συναρτήσεις μαθηματικού περιεχομένου. Εικόνα 34. Χρήση του Leantouch για pinch zoom Για τα απαιτούμενα δάχτυλα και τον υπολογισμό του scaling χρησιμοποιούμε,λοιπόν, μέσω του LeanΤouch τις παραπάνω συναρτήσεις. Στη συνέχεια τροποποιούμε ένα scaling script ως εξής Χ.Συρράκος 33

35 Εικόνα 35. Υλοποίηση scale script Και κάνουμε το κάνουμε attach στα αντικείμενα που δημιουργούμε δυναμικά ως components. Με τον τρόπο αυτό, κατά το τρέξιμο της εφαρμογής θα γίνονται scale όλα τα επαυξημένα αντικείμενα μετά από την κατάλληλη είσοδο χρήστη. 6.2 Move script Με παρόμοιο τρόπο εργαζόμαστε και για το script που θα μετακινεί τα επαυξημένα αντικείμενα σε δύο άξονες της οθόνης. Τώρα, σε αντίθεση με την περίπτωση του scaling, θα χρειαστούμε τις συντεταγμένες του σημείου στο οποίο ακουμπά ο χρήστης την οθόνη, ώστε κατά την μετακίνηση του δαχτύλου να ακολουθείται ο αντίστοιχος προσανατολισμός. Στην περίπτωση αυτή θα έχουμε ως απαραίτητη είσοδο ένα touch (RequiredFingerCount= 1 ) και θα πραγματοποιήσουμε τη μετακίνηση με την ScreenToWorldPoint : Εικόνα 36. Υλοποίηση move script όπου screendelta είναι οι συντεταγμένες των δαχτύλων ( σε x,y άξονες ). 6.3 Color Script Αυτό το script μπορεί να χρησιμοποιηθεί αντί για το Μove καθώς αναγνωρίζει swipe του χρήστη προς όλες τις κατευθύνσεις για αλλαγή τεσσάρων χρωμάτων. Σε περίπτωση που θέλουμε να χρησιμοποιήσουμε και τα δύο, θα πρέπει απλώς να υλοποιήσουμε ένα διαφορετικό τρόπο αλληλεπίδρασης με την οθόνη (π.χ. double tap). Βλέπουμε Χ.Συρράκος 34

36 παρακάτω αναλυτικά τη χρήση των touch_phase συναρτήσεων καθώς και τη δυνατότητα αλλαγής χρώματος και μέσω του unity editor ( είσοδος από πληκτρολόγιο ). Εικόνα 37. Υλοποίηση color script Όπου checkswipe είναι η συνάρτηση που υπολογίζει την πραγματοποίηση και τον υπολογισμό του swipe ( την βλέπουμε παρακάτω ) και η shader1 είναι μια μεταβλητή τύπου shader που ορίζουμε εμείς ανάλογα με τα αποτελέσματα που θέλουμε (π.χ. public shader1 = Shader.Find( Diffuse ); ) Χ.Συρράκος 35

37 Εικόνα 38. Υπολογισμοί για την ανάθεση χρωμάτων Τέλος οι VerticalMove και horizontalmove είναι συναρτήσεις υπολογισμού της κατεύθυνσης μέσω του Math namespace, όπως φαίνεται παρακάτω. Χ.Συρράκος 36

38 Εικόνα 39. Αναθέσεις χρωμάτων ανάλογα με τον προσανατολισμό οι OnSwipe_Up, OnSwipe_Down, OnSwipe_Left, OnSwipe_Right κάνουν assign κάποιο χρώμα της επιλογής μας ανάλογα με την κατεύθυνση της εισόδου του χρήστη.παρατήρηση : επειδή τα χρώματα είναι μονοδιάστατα, σε περίπτωση που θέλουμε να χρωματίσουμε μοντέλα θα ήταν προτιμότερο να αναθέτουμε textures αντί για colors.αυτό γίνεται με τη φόρτωση των textures που θέλουμε στο Unity και την αντιστοίχιση στα gameobjects που θέλουμε μέσω της Add_Component(). Χ.Συρράκος 37

39 7. ΕΞΑΤΟΜΙΚΕΥΜΕΝΗ ΑΛΛΗΛΕΠΙΔΡΑΣΗ Τοποθετώντας τα παραπάνω scripts στα gameobjects που θέλουμε να κληρονομήσουν αυτές τις ιδιότητες θα παρατηρήσουμε ότι κάθε κίνηση επιδρά πάνω σε όλα τα αντικείμενα ομαδικά. Στην περίπτωση πολλαπλών ίδιων μοντέλων όπως οι κύβοι που δημιουργήσαμε μια τέτοια λύση θα ήταν αποδεκτή, παρόλα αυτά εάν έχουμε διαφορετικά επαυξημένα μοντέλα (όπως θα δούμε στη συνέχεια) θα είναι προτιμότερο ο χρήστης να μπορεί να επιδράσει πάνω στο καθένα ξεχωριστά. Μια τέτοια λύση μπορεί να υλοποιηθεί με τη χρήση των Touch.Count() και Input.GetTouch() (ή input.mouseposition για δοκιμές στον unity editor) σε συνδυασμό με τα Raycast του Unity. Ουσιαστικά το Raycast είναι μια συνάρτηση που εντοπίζει σύγκρουση. Συγκεκριμένα, στέλνει μια ακτίνα (αόρατη) με σημείο εκκίνησης Α προς κατεύθυνση Β με μέγιστη διαδρομή Γ και εάν υπάρχει κάποιο αντικείμενο κατά τη διάρκεια αυτής της διαδρομής συγκρούεται με αυτό και μπορούμε κατ αυτόν τον τρόπο να αναφερθούμε και να τροποποιήσουμε το αντικείμενο σύγκρουσης (τα Α,Β,Γ τα ορίζει ο χρήστης ). Για να εντοπιστεί αυτή η σύγκρουση πρέπει το αντικείμενο να έχει ως component έναν Collider, οπότε στη δυναμική δημιουργία των κύβων θα προσθέσουμε και το εξής : Εικόνα 40. box Collider component Οπότε σε περίπτωση που θέλουμε κάθε αντικείμενο να κινείται ξεχωριστά μπορούμε να ελέγχουμε τις συγκρούσεις με τα επαυξημένα μοντέλα με την Physics.Raycast(). 7.1 Εισαγωγή νέων μοντέλων Για να έχει παραπάνω νόημα η εξατομικευμένη αλληλεπίδραση, καλό θα ήταν πολλά από τα επαυξημένα αντικείμενα που προβάλλονται να είναι διαφορετικά μεταξύ τους. Μπορούμε, λοιπόν, μετά από επιτυχή αναγνώριση ενός πεπερασμένου συνόλου λέξεων να επαυξάνουμε το περιβάλλον με μοντέλα που έχουν άμεση σχέση με τις λέξεις αυτές. Για παράδειγμα μετά τον εντοπισμό της λέξης House, να εμφανίζεται ένα 3-D μοντέλο σπιτιού ( αντίστοιχα για Car, Dog, Insect, Computer κλπ. ). Για την υλοποίηση του συγκεκριμένου feature αρκεί να τροποποιήσουμε τον trackableeventhandler ώστε μετά από κάθε Tracking_Found να δημιουργεί ένα επαυξημένο αντικείμενο ανάλογα με το TrackableName. Το επαυξημένο αυτό μοντέλο πρέπει να είναι τύπου.fbx για να είναι συμβατό με το unity. Σε περίπτωση που είναι άλλου τύπου ( έχει δημιουργηθεί είτε σε 3Ds-max είτε σε Blender είτε σε άλλο λογισμικό ) μπορεί να μετατραπεί σε fbx με τον δωρεάν converter του AutoDesk. Στον trackableeventhandler ήδη δημιουργήσαμε τους κύβους μετά από κάθε εντοπισμό οπότε το μόνο που μένει να κάνουμε είναι η εισαγωγή ελέγχου λέξης και αντιστοίχησης με το fbx μοντέλο που θέλουμε. Για παράδειγμα : Εικόνα 41. Εισαγωγή fbx μοντέλων Χ.Συρράκος 38

40 Προσοχή χρειάζεται στην αντιστοίχιση της λέξης με αυτήν που αναμένουμε να ψάξουμε. Εάν είχαμε για παράδειγμα TrackableName = insect αντι για Insect δεν θα υπήρχε αντιστοίχιση, καθώς ανεξαρτήτως το πως είναι γραμμένη η λέξη στο κείμενο που αναγνωρίζεται ( κεφαλαία / πεζά ή συνδυασμός αυτών ), ο text tracker αναγνωρίζει και περνάει τη λέξη με το πρώτο γράμμα κεφαλαίο και τα υπόλοιπα πεζά. Ομοίως μπορούμε να περάσουμε όσα fbx μοντέλα θέλουμε, αρκεί να προσέξουμε σε ορισμένα μπορεί να χρειάζονται παραλλαγές στα behavioural scripts που κάνουμε attach. Σε ένα αυτοκίνητο θα ταίριαζε για παράδειγμα ένα rotate script που το γυρνάει γύρω από τον άξονα Χ με μια αργή σχετικά ταχύτητα, ενώ σε ένα 3D text template όχι. Επίσης εάν τα μοντέλα έχουν by default μικρό σχετικά collider box size(μπορούμε να το δούμε μέσω του inspector) θα πρέπει να το μεγαλώσουμε εμείς μετά τη δημιουργία των μοντέλων και κάποιου collider, διότι σε διαφορετική περίπτωση θα δυσκολευόμαστε αρκετά στο ray collision με το αντικείμενο μέσω της επαφής με την οθόνη. Μια σχετικά καλή ενδεικτική τιμή ενός box collider που έχει δοκιμαστεί σε συσκευή android Xperia Z3,4 είναι η Vector3(2.5, 2.5, 2.5 ). 7.2 Επιπλέον δυνατότητες αλληλεπίδρασης Υπάρχουν αμέτρητες δυνατότητες αλληλεπίδρασης με το χρήστη σε μια εφαρμογή. Σκοπός του developer είναι να υλοποιήσει εκείνες που ταιριάζουν καλύτερα στην εκάστοτε εφαρμογή, είναι εύκολες και κατανοητές στη χρήση και προσδίδουν θετικά στοιχεία στην εμπειρία χρήστη. Με τα παραπάνω παραδείγματα καλύψαμε τις δυνατότητες επεξεργασίας εισόδου από το χρήστη, είτε από ποντίκι/πληκτρολόγιο, είτε από οθόνη αφής, οπότε βάσει αυτών μπορεί να υλοποιηθεί οποιοδήοποτε feauture μπορούμε να σκεφτούμε. Για παράδειγμα : Swap models : Δημιουργούμε κατά την εκκίνηση της εφαρμογής έναν αριθμό μοντέλων και τα κάνουμε όλα setactive(false) εκτός από ένα. Σε κάθε Swipe του χρήστη ( είδαμε πως γίνεται το catch του swipe ) απενεργοποιούμε το ενεργό και ενεργοποιούμε το επόμενο σε σειρά. (π.χ. με χρήση λίστας) Destroy Object on touch : Εάν εντοπιστεί collision ( με τη χρήση raycast) με ένα gameobject A, τότε το καταστρέφουμε (Destroy(mygameobject) ). Για να γίνει περισσότερο εντυπωσιακή αυτή η αλληλεπίδραση μπορούμε να προσθέσουμε Particles στο σημείο του collision για να προσεγγίσουμε τα εφέ μιας έκρηξης για παράδειγμα. Apply Texture to model : Δημιουργώντας μια λίστα με κάποια textures μπορούμε σε κάθε collision με gameobject ( όπως με το destroy) να πραγματοποιούμε εναλλαγή στο texture του μοντέλου που θέλουμε ανάλογα με την προτίμησή μας. Rotate model : Ομοίως με τη χρήση collision και swipe detection, κάνουμε transform.rotate το μοντέλο σύγκρουσης ανάλογα με τον προσανατολισμό του swipe. Επιλέγουμε, λοιπόν, τις αλληλεπιδράσεις που πιστεύουμε ότι ταιριάζουν καλύτερα στην εφαρμογή μας και δοκιμάζουμε τα αποτελέσματα. Χ.Συρράκος 39

41 8.ΤΕΛΙΚΗ ΕΦΑΡΜΟΓΗ Για το συγκεκριμένο παράδειγμα, επιλέξαμε να χρησιμοποιήσουμε τα script των zoom in/out, change texture και move, καθώς αυτά δίνουν αρκετές δυνατότητες αλληλεπίδρασης του χρήστη με τα εμφανιζόμενα μοντέλα. Μερικές ενδεικτικές φωτογραφίες της τελικής, δυναμικής εφαρμογής με ενταγμένα τα user-interaction feautures που επιλέξαμε είναι οι παρακάτω : Εικόνα 42. Αυτοκίνητα και κύβοι, χωρίς διεπαφή Εικόνα 43. Zoom in σε αυτοκίνητα και μετακίνηση κύβων εκτός frame Χ.Συρράκος 40

42 Εικόνα 44. Zoom in σε κύβους και ανάθεση texture Εικόνα 45. Zoom in και ανάθεση texture σε λουλούδι Χ.Συρράκος 41

43 Εικόνα 46. Αναγνώριση μεγάλου κειμένου Εικόνα 47. Το ίδιο κείμενο όπως παραπάνω, zoom in στο σπίτι Χ.Συρράκος 42

44 Εικόνα 48. Ανάθεση διαφορετικών textures σε διαφορετικούς κύβους Χ.Συρράκος 43

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites Σκοπός της 10ης άσκησης είναι να μάθουμε να χρησιμοποιούμε sprites και να φτιάξουμε ένα παιχνίδι που χρησιμοποιεί συγκρούσεις. Θα δούμε επίσης μερικά

Διαβάστε περισσότερα

Περιεχόμενα ΓΕΩΠΥΛΗ ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΚΕΝΤΡΙΚΟ SITE. ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»...

Περιεχόμενα ΓΕΩΠΥΛΗ ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΚΕΝΤΡΙΚΟ SITE. ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»... Περιεχόμενα ΧΑΡΤΗΣ... 2 Είσοδος στην εφαρμογή «Χάρτης»... 2 Λειτουργίες εφαρμογής «Χάρτης»....2 Πλοήγηση στο χάρτη... 3 Σχεδίαση στο χάρτη... 4 Εκτύπωση του χάρτη... 6 Μετρήσεις επάνω στο χάρτη... 9 Εμφάνιση

Διαβάστε περισσότερα

Unity editor. Μέρος 2ο

Unity editor. Μέρος 2ο Unity editor Μέρος 2ο Είδη εικόνων Textures: Εικόνες που χρησιμοποιούνται για να «ντύσουν» ένα τρισδιάστατο αντικείμενο. Μπορούν να είναι πολλαπλών τύπων (diffuse, normal map, height map etc). Sprites:

Διαβάστε περισσότερα

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι

21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB. Αλγόριθμος Διαδικασία Παράμετροι 21. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 4 - ΔΗΜΙΟΥΡΓΩΝΤΑΣ ΜΕ ΤΟ BYOB BYOB Αλγόριθμος Διαδικασία Παράμετροι Τι είναι Αλγόριθμος; Οι οδηγίες που δίνουμε με λογική σειρά, ώστε να εκτελέσουμε μια διαδικασία ή να επιλύσουμε ένα

Διαβάστε περισσότερα

Εισαγωγή στο 3DS Max 2009

Εισαγωγή στο 3DS Max 2009 Μάθημα 1ο Εισαγωγή στο 3DS Max 2009 Σε αυτό το μάθημα πραγματοποιείται εκμάθηση του περιβάλλοντος του προγράμματος 3DS Max 2009. Το 3D Studio Max είναι ένα από τα ισχυρότερα προγράμματα δημιουργίας και

Διαβάστε περισσότερα

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run

Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Καλώς ήλθες. Στο προηγούμενο μάθημα είδαμε τις λειτουργίες του μενού File του Editor της Unity. Όπως είπαμε οι δύο επιλογές που διαφέρουν

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Dcad 1.0 20130510 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εγκατάσταση προγράμματος DCAD 2 2. Ενεργοποίηση Registration 2 3. DCAD 3 3.1 Εισαγωγή σημείων 3 3.2 Εξαγωγή σημείων 5 3.3 Στοιχεία ιδιοκτησίας

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Microsoft Excel 2002... 9 Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Κεφάλαιο 3: Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων...

Διαβάστε περισσότερα

«DIGITAL STORY TELLING» PROJECT

«DIGITAL STORY TELLING» PROJECT «DIGITAL STORY TELLING» PROJECT ΕΙΣΑΓΩΓΗ: Στα πλαίσια της εξοικείωσής μας με τα «πολυμέσα» θα ασχοληθούμε με το project «digital story telling». Το project αυτό θα μας μάθει πώς να «αφηγούμαστε» ψηφιακά

Διαβάστε περισσότερα

Scripting σε Unity. Μέρος 2ο

Scripting σε Unity. Μέρος 2ο Scripting σε Unity Μέρος 2ο Lerp Ο όρος lerp προκύπτει από την έννοια του linear interpolation (γραμμική παρεμβολή), και αφορά στη λειτουργίας ομαλής μετάβασης από μια τιμή σε μια άλλη. Εντός του API της

Διαβάστε περισσότερα

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

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

Διαβάστε περισσότερα

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ

5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5 ο ΚΕΦΑΛΑΙΟ: ΠΡΑΚΤΙΚΟ ΚΟΜΜΑΤΙ 5.1 Εισαγωγή Το πρακτικό κομμάτι της πτυχιακής μας εργασίας αφορά την δημιουργία μιας λειτουργικής ιστοσελίδας με την χρήση της πλατφόρμας του Weebly, που αποτελεί μια σύγχρονη

Διαβάστε περισσότερα

Εισαγωγή στο περιβάλλον Blender

Εισαγωγή στο περιβάλλον Blender Εισαγωγή στο περιβάλλον Blender To Blender αποτελεί μια open source εφαρμογή για τον σχεδιασμό τρισδιάστατων αντικειμένων και περιβαλλόντων. Διανέμεται δωρεάν και υπόκειται στην άδεια χρήσης GNU/GPL. Στις

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Unity Editor #03 Κεντρικό Μενού: Edit

Unity Editor #03 Κεντρικό Μενού: Edit Unity Editor #03 Κεντρικό Μενού: Edit Συνεχίζουμε λοιπόν με το κεντρικό μενού. Ας δούμε τι μας κρύβει η επιλογή Edit. Όπως βλέπεις στην εικόνα, μας δίνει πολλές δυνατότητες. Πολλές βέβαια από αυτές είναι

Διαβάστε περισσότερα

Οπτική Επικοινωνία 4 - Α.Ε Προτεινόμενες ρυθμίσεις V-Ray 3.4 για Rhino. Υλικά

Οπτική Επικοινωνία 4 - Α.Ε Προτεινόμενες ρυθμίσεις V-Ray 3.4 για Rhino. Υλικά Οπτική Επικοινωνία 4 - Α.Ε.2017-2018 Προτεινόμενες ρυθμίσεις V-Ray 3.4 για Rhino Υλικά Στα αρχεία Rhino που προορίζονται για Rendering συνιστάται να διαχωρίζετε τα αντικείμενα σε Layers ανάλογα με υλικό/υφή

Διαβάστε περισσότερα

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

Πλάνο Παρουσίασης. Στο δεύτερο μέρος θα μελετήσουμε τον σχεδιασμό και κώδικα πίσω από την εφαρμογή. Pong Game Project Επιβλέπων:Δασυγένης Μηνάς Φοιτητής:Τερζή Αναστασία Ιούνιος 2018,Κοζάνη Τμήμα Μηχανικών πληροφορικής και τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/

Διαβάστε περισσότερα

Ο Οδηγός γρήγορης εκκίνησης

Ο Οδηγός γρήγορης εκκίνησης Ο Οδηγός γρήγορης εκκίνησης του Microsoft PowerPoint 2013 έχει διαφορετική εμφάνιση από προηγούμενες εκδόσεις. Γι αυτό το λόγο, δημιουργήσαμε αυτόν τον οδηγό για να ελαχιστοποιήσουμε την καμπύλη εκμάθησης.

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch Τι θα μάθουμε σήμερα: Να ενεργοποιούμε το λογισμικό Scratch Να αναγνωρίζουμε τα κύρια μέρη του περιβάλλοντος του Scratch Να δημιουργούμε/εισάγουμε/τροποποιούμε

Διαβάστε περισσότερα

Ψηφιακή τέχνη DIGITAL ART

Ψηφιακή τέχνη DIGITAL ART Μάθηµα Πολυµέσων, Υπερµέσων και Βίντεο-τέχνης - ΑΣΚΤ - Διδάσκουσα: Νεφέλη Δηµητριάδη, Δρ. Ψηφιακή τέχνη DIGITAL ART Ψηφιακή εικόνα DIGITAL IMAGE Ψηφιακή κινούμενη εικόνα DIGITAL ANIMATION Ψηφιακή τρισδιάστατη

Διαβάστε περισσότερα

Ημερίδα διάχυσης αποτελεσμάτων έργου Ιωάννινα, 14/10/2015

Ημερίδα διάχυσης αποτελεσμάτων έργου Ιωάννινα, 14/10/2015 MIS έργου:346983 Τίτλος Έργου: Epirus on Androids: Έμπιστη, με Διαφύλαξη της Ιδιωτικότητας και Αποδοτική Διάχυση Πληροφορίας σε Κοινωνικά Δίκτυα με Γεωγραφικές Εφαρμογές Έργο συγχρηματοδοτούμενο από την

Διαβάστε περισσότερα

Γεωργάκης Αριστείδης ΠΕ20

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

Διαβάστε περισσότερα

WiFi V-Timer ΕΚΔΟΣΗ 2Η

WiFi V-Timer ΕΚΔΟΣΗ 2Η ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ WiFi V-Timer ΕΚΔΟΣΗ 2Η 1 ΠΕΡΙΕΧΟΜΕΝΑ 1. ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ WiFi V-Timer... 3 2. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΟΥ WiFi V-Timer... 4 3. ΤΟΠΙΚΟΣ ΧΕΙΡΙΣΜΟΣ ΤΟΥ WiFi V-Timer... 5 4. ΕΓΚΑΤΑΣΤΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης του «Μαθη.Συ.»

Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Εργαστήριο Εκπαιδευτικής Τεχνολογίας Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Φιλοσοφική Σχολή Τμήμα Φ.Π.Ψ., Τομέας Παιδαγωγικής Διευθυντής: Καθ. Χ. Κυνηγός Εγχειρίδιο Χρήσης του «Μαθη.Συ.» Πίνακας

Διαβάστε περισσότερα

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου Στο σύντομο αυτό εγχειρίδιο, θα μάθουμε πώς μπορούμε να χειριστούμε δυναμικά στοιχεία (dynamic components) και να χρησιμοποιήσουμε το εργαλείο Follow στο περιβάλλον Google SketchUp. Ας ξεκινήσουμε λοιπόν!

Διαβάστε περισσότερα

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

Έντυπος χάρτης νησιού και χρήση διαδραστικών τεχνολογιών για την προβολή σημείων ενδιαφέροντος. Έντυπος χάρτης νησιού και χρήση διαδραστικών τεχνολογιών για την προβολή σημείων ενδιαφέροντος. Παπαδόπουλος Αθανάσιος Α.Μ.131276 email: std131276@ac.eap.gr ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Γραφικές Τέχνες

Διαβάστε περισσότερα

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

Διαβάστε περισσότερα

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010 Δημιουργία ενός απλού παιχνιδιού με το Gamemaker (μετάφραση από το http://www.stuffucanuse.com/downloads/gamemaker-introductionlessons/free_game_downloads_gamemaker.htm)

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Διπλωματική Εργασία με θέμα: Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού Καραγιάννης Ιωάννης Α.Μ.

Διαβάστε περισσότερα

Unity Μια Πρώτη Ματιά

Unity Μια Πρώτη Ματιά Unity Μια Πρώτη Ματιά Ωραία. Ελπίζω ότι όλα πήγαν καλά με την εγκατάσταση. Πριν ξεκινήσουμε με τη Unity πρέπει να δημιουργήσουμε ένα Unity Id. Αυτός θα είναι ο λογαριασμός μας στη Unity. Θα χρησιμοποιήσουμε

Διαβάστε περισσότερα

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός

Αυτόνομοι Πράκτορες. ΝΑΟ Μουσικός Αυτόνομοι Πράκτορες ΝΑΟ Μουσικός Καρατζαφέρης Ευστάθιος Αλέξανδρος 2007 030 046 Πολυτεχνείο Κρήτης Σύντομη Περιγραφή Στόχος της εργασίας μας είναι η υλοποίηση της συμπεριφοράς αλλα και της λειτουργικότητας

Διαβάστε περισσότερα

B) Ετοιμάζοντας μια Παρουσίαση

B) Ετοιμάζοντας μια Παρουσίαση B) Ετοιμάζοντας μια Παρουσίαση Τι είναι μια παρουσίαση με τη βοήθεια ηλεκτρονικού υπολογιστή Ο υπολογιστής με την κατάλληλη εφαρμογή, μπορεί να μας βοηθήσει στη δημιουργία εντυπωσιακών εγγράφων, διαφανειών

Διαβάστε περισσότερα

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες

Δημιουργία ιστοσελίδας με. Wordpress - Βασικές λειτουργίες Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Περιεχόμενα Εγγραφή και αρχικές ρυθμίσεις Διαχείριση Ιστοσελίδας Δημιουργία Menu Δημιουργία σελίδας Δημιουργία Άρθρου Αλλαγή Εμφάνισης Εγγραφή

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

Κεφάλαιο 1 Χρήση προτύπου 2. Κεφάλαιο 2 Τροποποίηση μιας παρουσίασης 9. Κεφάλαιο 4 Προσθήκη αντικειμένων 26. Κεφάλαιο 5 Ειδικά εφέ 35

Κεφάλαιο 1 Χρήση προτύπου 2. Κεφάλαιο 2 Τροποποίηση μιας παρουσίασης 9. Κεφάλαιο 4 Προσθήκη αντικειμένων 26. Κεφάλαιο 5 Ειδικά εφέ 35 Περιεχόμενα Κεφάλαιο 1 Χρήση προτύπου 2 Κεφάλαιο 2 Τροποποίηση μιας παρουσίασης 9 Κεφάλαιο 3 Εφαρμογή σχεδίων 19 Κεφάλαιο 4 Προσθήκη αντικειμένων 26 Κεφάλαιο 5 Ειδικά εφέ 35 Κεφάλαιο 6 Κουμπιά ενεργειών

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: PowerPoint... 9 Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13 Κεφάλαιο 3: Δημιουργία νέας παρουσίασης... 27 Κεφάλαιο 4: Μορφοποίηση κειμένου παρουσίασης...

Διαβάστε περισσότερα

Εργαστήριο Εφαρμοσμένης Πληροφορικής

Εργαστήριο Εφαρμοσμένης Πληροφορικής Τμήμα Φυσικής - Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Εργαστήριο Εφαρμοσμένης Πληροφορικής Ομάδα Α. Προετοιμασία Αναφοράς Εργασία-2: Σύνθεση αναφοράς Σύνθεση Αναφοράς http://eep.physics.auth.gr Τι περιέχει

Διαβάστε περισσότερα

Slalom Race Computer Game on Scratch

Slalom Race Computer Game on Scratch Slalom Race Computer Game on Scratch Μπογιατζή Ελισάβετ ¹, Μεταξά Παυλίνα², Νεστοροπούλου Ευσεβεία³, Μαρόγλου Ευαγγελία 4 1 boelisabet@gmail.com 2 pavlinamet2@gmail.com 3 makis.nestoro@hotmail.com 4 euaggeliam2000@gmail.com

Διαβάστε περισσότερα

Γενικές Οδηγίες για τις νέες Εκτυπωτικές Φόρμες

Γενικές Οδηγίες για τις νέες Εκτυπωτικές Φόρμες Γενικές Οδηγίες για τις νέες Εκτυπωτικές Φόρμες Το συγκεκριμένο εγχειρίδιο δημιουργήθηκε για να βοηθήσει την κατανόηση της διαδικασίας διαχείρισης των νέων εκτυπωτικών φορμών. 1 Δομή Νέας Εκτυπωτικής Φόρμας

Διαβάστε περισσότερα

Copyright 2017 HP Development Company, L.P.

Copyright 2017 HP Development Company, L.P. Οδηγός χρήσης Copyright 2017 HP Development Company, L.P. Οι πληροφορίες στο παρόν έγγραφο μπορεί να αλλάξουν χωρίς προειδοποίηση. Οι μοναδικές εγγυήσεις για τα προϊόντα και τις υπηρεσίες της HP είναι

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

Διαβάστε περισσότερα

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

Διαβάστε περισσότερα

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α η- Τάξη Οδηγός χρήσης του προγράμματος αξιολόγησης για τα προγράμματα «Ο Ξεφτέρης και η γραμματική και «Ο Καπετάν Μπουμπουλήθρας» Ο οδηγός αυτός στοχεύει στην χρήση του βοηθητικού προγράμματος η-τάξη.

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips

Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips Αναπαραγωγή και stop/pause έτοιμων ηχητικών clips Το scratch διαθέτει αρκετά μεγάλη ποικιλία έτοιμων ενσωματωμένων ηχητικών clips τα οποία θα βρείτε πολύ ενδιαφέροντα και θα σας βάλουν σε πειρασμό να πειραματιστείτε

Διαβάστε περισσότερα

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. DS Gomoku.

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. DS Gomoku. Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών 5 Εξάμηνο ΤΗΜΜΥ Α.Π.Θ 2014-2015 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ DS Gmku Το παιχνίδι Το φετινό παιχνίδι αποτελεί μια απλουστευμένη

Διαβάστε περισσότερα

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013 ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013 1. Δίκτυα Υπολογιστών και Διαδίκτυο... 3 1.1. Όροι Και Έννοιες... 3 1.2. Ασφάλεια Στο Διαδίκτυο... 5 2. Περιήγηση στον Παγκόσμιο Ιστό 7 Το Περιβάλλον Ενός Φυλλομετρητή...

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER Η εφαρμογή LiveTripTraveller διατίθεται για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Στο υπο-ιστοσελίδα www.livetrips.com/sources μπορείτε να κατεβάσετε την εφαρμογή

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

Προγραμματισμός ΙI (Θ)

Προγραμματισμός ΙI (Θ) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Προγραμματισμός ΙI (Θ) Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Μάρτιος 2017 Δρ. Δημήτρης Βαρσάμης Μάρτιος 2017

Διαβάστε περισσότερα

PowerPoint Ένα εργαλείο παρουσίασης

PowerPoint Ένα εργαλείο παρουσίασης Εργασία 7η 2 Αρκετοί πιστεύουν πως η επιτυχία μιας παρουσίασης είναι δεδομένη εάν ο παρουσιαστής κατέχει το θέμα που πρόκειται να παρουσιάσει και είναι σε θέση να χειρίζεται ί ά άνετα έ ένα πρόγραμμα ό

Διαβάστε περισσότερα

3D FLASH ANIMATOR (3DFA)

3D FLASH ANIMATOR (3DFA) 3D FLASH ANIMATOR (3DFA) Εισαγωγή Τα βασικά στοιχεία του προγράµµατος 3DFA είναι οι ταινίες (movies), τα στοιχεία (elements), τα keyframes, τα γεγονότα (events) και οι ενέργειες (actions). Ταινίες (movies)

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης V3.0

Εγχειρίδιο Χρήσης V3.0 ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ Εγχειρίδιο Χρήσης V3.0 Πίνακας Περιεχομένων: 1. Σύνδεση με την συσκευή 3 1.1 Σύνδεση μέσω Wi-Fi Direct.... 3 1.2 Ενσύρματη σύνδεση (LAN) 3 1.3 Ασύρματη σύνδεση (WiFi).

Διαβάστε περισσότερα

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ Στο παιχνίδι υπάρχουν τουβλάκια διαφόρων χρωμάτων. Σκοπός του παιχνιδιού είναι να καταστραφούν όλα τα τουβλάκια. Ο παίκτης χειρίζεται από το πληκτρολόγιο μία ρακέτα. Ένα μπαλάκι

Διαβάστε περισσότερα

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου

Πρακτική εφαρμογή στην ειδικότητα: Λογισμικό για τη δημιουργία εργασίας εξαμήνου Το SketchUp αρχικά ήταν ένα πρόγραμμα της εταιρείας @Last Software σχεδιασμένο για αρχιτέκτονες, πολιτικούς μηχανικούς, σκηνοθέτες, παραγωγούς video-games και ξεκίνησε να γίνεται γνωστό ως ένα γενικής

Διαβάστε περισσότερα

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες

Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Δημιουργία ιστοσελίδας με Wordpress - Βασικές λειτουργίες Περιεχόμενα Εγγραφή και αρχικές ρυθμίσεις Διαχείριση Ιστοσελίδας Δημιουργία Menu Δημιουργία σελίδας Δημιουργία Αρχικής Σελίδας Δημιουργία Άρθρου

Διαβάστε περισσότερα

ΟΔΗΓΌΣ ΓΡΉΓΟΡΗΣ ΕΚΚΊΝΗΣΗΣ

ΟΔΗΓΌΣ ΓΡΉΓΟΡΗΣ ΕΚΚΊΝΗΣΗΣ ΟΔΗΓΌΣ ΓΡΉΓΟΡΗΣ ΕΚΚΊΝΗΣΗΣ KA-DM0 ΟΔΗΓΌΣ ΓΡΉΓΟΡΗΣ ΕΚΚΊΝΗΣΗΣ ΣΑΣ ΕΥΧΑΡΙΣΤΟΎΜΕ ΠΟΥ ΕΠΙΛΈΞΑΤΕ ΑΥΤΌ ΤΟ ΠΡΟΪΌΝ, ΔΙΑΒΆΣΤΕ ΜΕ ΠΡΟΣΟΧΉ ΤΟ ΠΑΡΌΝ ΕΓΧΕΙΡΊΔΙΟ ΠΡΟΤΟΎ ΧΡΗΣΙΜΟΠΟΙΉΣΕΤΕ ΤΟ ΠΡΟΪΌΝ ΚΑΙ ΦΥΛΆΞΤΕ ΤΟ ΓΙΑ ΜΕΛΛΟΝΤΙΚΉ

Διαβάστε περισσότερα

αντίστοιχο γεγονός. Όταν όντως το κουμπί

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

Διαβάστε περισσότερα

ΕΦΑΠΤΟΜΕΝΗ ΓΩΝΙΑΣ ΚΑΙ ΚΛΙΣΗ ΕΥΘΕΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β' ΓΥΜΝΑΣΙΟΥ

ΕΦΑΠΤΟΜΕΝΗ ΓΩΝΙΑΣ ΚΑΙ ΚΛΙΣΗ ΕΥΘΕΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β' ΓΥΜΝΑΣΙΟΥ 184 1 ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΕΦΑΠΤΟΜΕΝΗ ΓΩΝΙΑΣ ΚΑΙ ΚΛΙΣΗ ΕΥΘΕΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β' ΓΥΜΝΑΣΙΟΥ Ιωάννου Στυλιανός Εκπαιδευτικός Μαθηματικός Β θμιας Εκπ/σης Παιδαγωγική αναζήτηση Η τριγωνομετρία

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

Διαβάστε περισσότερα

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς Εργασία-3: Παρουσίαση Εργασίας Ομάδα Α. Προετοιμασία Αναφοράς Αρκετοί πιστεύουν πως η επιτυχία μιας παρουσίασης είναι δεδομένη εάν ο παρουσιαστής κατέχει το θέμα που πρόκειται να παρουσιάσει και είναι

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

Texturing, Animation, Lighting, Rendering

Texturing, Animation, Lighting, Rendering Μάθημα 2ο Texturing, Animation, Lighting, Rendering Materials Σε αυτό το σημείο έχουμε τελειώσει με τη διαδικασία του modeling, και αυτό που έχουμε σαν αποτέλεσμα είναι ένα σύνολο από αντικείμενα, τα οποία

Διαβάστε περισσότερα

2.1 Σύνδεση Εξωτερικής Συσκευής στο IDE

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

Διαβάστε περισσότερα

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ)

Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ) Οδηγίες Χρήσεως Ψηφιακού Αποθετηρίου Ιστοριών στην Ελληνική Νοηματική Γλώσσα (ΕΝΓ) http://multimia-library.prosvasimo.gr Στον παρόν οδηγό μπορείτε να βρείτε αναλυτικές οδηγίες για τις δυνατότητες, τη χρήση

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ. Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εργαστηριακές Ασκήσεις για το Μάθημα «Δίκτυα Υπολογιστών I» 3 η Εργαστηριακή άσκηση με χρήση του Network Simulator-2 Υπεύθυνοι Καθηγ. Π. Δεμέστιχας Δρ. Κ.

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC 1) Πατάμε δεξί κλικ Μενού 2) Όνομα Χρήστη βάζουμε «admin» 3) Κωδικός Πρόσβασης το αφήνουμε «κενό» 4) Πατάμε OK και μπαίνουμε στο Μενού Είσοδος στο μενού Στην πρώτη εκκίνηση μετά

Διαβάστε περισσότερα

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης Φύλλα εργασίας MicroWorlds Pro Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο Β. Χ. Χρυσοχοΐδης Πρόεδρος Συλλόγου Εκπαιδευτικών Πληροφορικής Φλώρινας 2 «Σχεδίαση και ανάπτυξη δραστηριοτήτων

Διαβάστε περισσότερα

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας

Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Χρήσιμες Ρυθμίσεις του Windows 7 στον Η/Υ σας Πώς να δημιουργήσουμε ένα νέο λογαριασμό χρήστη (User Account) στα Windows 7 Αρκετές φορές τυχαίνει να χρησιμοποιούν διάφορα άτομα τον Η/Υ σας. Σε τέτοιες

Διαβάστε περισσότερα

Sricam R CONCEPTUM. SricamPC. Εγχειρίδιο εφαρμογής

Sricam R CONCEPTUM. SricamPC. Εγχειρίδιο εφαρμογής Sricam Sricam Sricam Sricam Εγχειρίδιο εφαρμογής SricamPC 1. Τι μπορείτε να κάνετε με το SricamPC Το SricamPC είναι δωρεάν λογισμικό συμβατό με Microsoft Windows 7, 8 και 10. Το SricamPC σας επιτρέπει:

Διαβάστε περισσότερα

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το Τάξη : Α Λυκείου Λογισμικό : Scratch Ενδεικτική Διάρκεια : 45 λεπτά Μεταβλητές Όλα όσα έμαθες στα προηγούμενα φυλλάδια είναι απαραίτητα για να υλοποιήσεις απλές εφαρμογές. Ωστόσο αν θέλεις να δημιουργήσεις

Διαβάστε περισσότερα

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα;

Παράδειγμα «Ημίτονο και ζωγραφική!»: Έχει δει στα μαθηματικά τη γραφική παράσταση της συνάρτησης του ημιτόνου; Σας θυμίζει κάτι η παρακάτω εικόνα; Τελεστές, συνθήκες και άλλα! Όπως έχει διαφανεί από όλα τα προηγούμενα παραδείγματα, η κατασκευή κατάλληλων συνθηκών στις εντολές εάν, εάν αλλιώς, για πάντα εάν, περίμενε ώσπου, επανέλαβε ώσπου, είναι

Διαβάστε περισσότερα

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή

Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Κεφάλαιο 14: Συμβουλές προς έναν νέο προγραμματιστή Φτάσαμε σιγά σιγά στο τέλος του βιβλίου. Αντί για κάποιον επίλογο σκέφτηκα να συλλέξω κάποια πράγματα που θα ήθελα να πω σε κάποιον ο οποίος αρχίζει

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

Η εντολή «επανέλαβε Χ»

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

Διαβάστε περισσότερα

SharePoint Online. Δημιουργήστε μια τοποθεσία ή μια δημοσίευση ειδήσεων. Αναζήτηση Βρείτε Τοποθεσίες, Άτομα ή Αρχεία.

SharePoint Online. Δημιουργήστε μια τοποθεσία ή μια δημοσίευση ειδήσεων. Αναζήτηση Βρείτε Τοποθεσίες, Άτομα ή Αρχεία. Οδηγός γρήγορης εκκίνησης Κάντε περισσότερα όπου και αν βρίσκεστε με ασφαλή πρόσβαση, κοινή χρήση και αποθήκευση αρχείων. Πραγματοποιήστε είσοδο στη συνδρομή σας στο Office 365 και επιλέξτε το SharePoint

Διαβάστε περισσότερα

Άσκηση 13 η Ειδικά Εφέ. Στόχος της άσκησης

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

Διαβάστε περισσότερα

Ελέγξτε την ταινία σας

Ελέγξτε την ταινία σας Ελέγξτε την ταινία σας Σε αυτές τις ασκήσεις, θα κάνετε εισαγωγή μιας ταινίας και θα χρησιμοποιήσετε τις επιλογές που παρουσιάστηκαν στο μάθημα. Άσκηση 1: Εισαγωγή αρχείου ταινίας 1. Κάντε κλικ στη μικρογραφία

Διαβάστε περισσότερα

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

(Αντιγραφή) ή χρησιμοποιήστε το πληκτρολόγιο για να καταχωρίσετε τους αριθμούς των αντιγράφων. Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης Σύντομη αναφορά Αντιγραφή Δημιουργία αντιγράφων Γρήγορη δημιουργία αντιγράφου 3 Στον πίνακα ελέγχου του εκτυπωτή πατήστε το κουμπί αντίγραφο 4 Εάν τοποθετήσατε το έγγραφο στη γυάλινη επιφάνεια σάρωσης

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ PROΩΘΗΣΗ PROώθηση ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση Περιεχόμενα Εγκατάσταση ΠΕΡΙΕΧΟΜΕΝΑ ΣΥΣΚΕΥΑΣΙΑΣ... 3 ΣΥΝΔΕΣΗ ΕΞΟΠΛΙΣΜΟΥ... 3 ΡΥΘΜΙΣΗ Wi-Fi... 4 ΕΙΣΟΔΟΣ ΧΡΗΣΤΗ... 6 ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ... 6 ΚΑΤΑΣΤΑΣΗ ΣΥΣΚΕΥΗΣ...

Διαβάστε περισσότερα

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ Ανάλυση - Προσομοίωση ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ 1 Προσομοίωση Η προσομοίωση είναι μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με

Διαβάστε περισσότερα

Άσκηση 6 η Ανύψωση Σχημάτων. Στόχος της άσκησης

Άσκηση 6 η Ανύψωση Σχημάτων. Στόχος της άσκησης Άσκηση 6 η Ανύψωση Σχημάτων Στόχος της άσκησης Στην παρούσα άσκηση θα δούμε πως μπορούμε να ανυψώσουμε μία διατομή κατά μήκος μίας καμπύλης spline, η οποία παίζει το ρόλο της διαδρομής, με σκοπό να δημιουργήσουμε

Διαβάστε περισσότερα

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ: ΜΑΘΗΜΑΤΙΚΑ ΣΤ ΔΗΜΟΤΙΚΟΥ «ΤΑ ΚΛΑΣΜΑΤΑ»

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ: ΜΑΘΗΜΑΤΙΚΑ ΣΤ ΔΗΜΟΤΙΚΟΥ «ΤΑ ΚΛΑΣΜΑΤΑ» ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ: ΜΑΘΗΜΑΤΙΚΑ ΣΤ ΔΗΜΟΤΙΚΟΥ «ΤΑ ΚΛΑΣΜΑΤΑ» Νικόλαος Μπαλκίζας 1. ΕΙΣΑΓΩΓΗ Σκοπός του σχεδίου μαθήματος είναι να μάθουν όλοι οι μαθητές της τάξης τις έννοιες της ισοδυναμίας των κλασμάτων,

Διαβάστε περισσότερα

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Κεφάλαιο 2.3: Ρυθμίσεις των Windows Κεφάλαιο 2.3: Ρυθμίσεις των Windows 2.3.1 Βασικές πληροφορίες συστήματος Για να δούμε βασικές πληροφορίες για τον υπολογιστή μας, πατάμε το κουμπί «Έναρξη» και επιλέγουμε διαδοχικά «Πίνακας Ελέγχου», «Σύστημα

Διαβάστε περισσότερα

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9 Περιεχόμενα Κεφάλαιο 1 Γνωριμία με το Excel...9 Τα στοιχεία του παραθύρου του Excel... 10 Κελιά και διευθύνσεις... 13 Σε ποιο κελί θα τοποθετηθούν τα δεδομένα;... 14 Καταχώριση δεδομένων... 15 Τι καταλαβαίνει

Διαβάστε περισσότερα

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ

ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΝΤΟΥΛΑΚΗΣ - ΜΕΝΙΟΥΔΑΚΗΣ ΕΠΑ.Λ ΕΛ. ΒΕΝΙΖΕΛΟΥ ΒΑΣΙΚΑ ΜΑΘΗΜΑΤΑ ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΠΡΟΛΟΓΟΣ... 3 ΕΙΣΑΓΩΓΗ... 4 Η ΑΝΑΠΤΥΞΗ ΤΗΣ ΟΘΟΝΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 4 Ο ΕΚΠΑΙΔΕΥΤΗΣ ΡΟΜΠΟΤ... 5 ΤΟ ΠΑΡΑΘΥΡΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 5 ΤΑ ΚΟΥΜΠΙΑ ΚΑΙ ΤΑ ΜΠΛΟΚ...

Διαβάστε περισσότερα

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

Πρόσβαση στην αρχική σελίδα Πληκτρολογώντας ο χρήστης τη διεύθυνση  στο περιηγητή διαδικτύου μεταφέρεται αυτόματα στη παρακάτω σελίδα. Περιεχόμενα Πρόσβαση στην αρχική σελίδα... 2 Αρχική... 3 Το Μουσείο... 3 Συλλογές... 4 Σύνθετη αναζήτηση... 5 Βιβλιοθήκη... 6 Πολυμεσικές εφαρμογές... 7 Ψηφιακές υπηρεσίες... 8 Ενοικίαση αιθουσών... 8

Διαβάστε περισσότερα

Οδηγίες χρήσης για την εφαρµογή Spot4U

Οδηγίες χρήσης για την εφαρµογή Spot4U Οδηγίες χρήσης για την εφαρµογή Spot4U 1 Βασικές οδηγίες Λήψη Κατηγοριών Μετά την εγκατάσταση του Spot4U το πρώτο βήµα που θα πρέπει να κάνει ο χρήστης είναι να επιλέξει το Λήψη Κατηγοριών ώστε να ενηµερωθεί

Διαβάστε περισσότερα

Interactive Power Point

Interactive Power Point Interactive Power Point Οι περισσότεροι χρήστες γνωρίζουν τη χρήση του Microsoft Power Point για τη δημιουργία παρουσιάσεων. Αυτό όμως που λίγοι γνωρίζουν, είναι ότι το πρόγραμμα αυτό, έχει δυνατότητες

Διαβάστε περισσότερα

Microsoft PowerPoint 2007

Microsoft PowerPoint 2007 Information Technology Services and Solutions Σύμβουλοι Μηχανογράφησης και Εκπαίδευσης Στεφ. Σκουλούδη 27, Καλλίπολη, Πειραιάς 210 45 38 177 http://www.itss.gr/ Microsoft PowerPoint 2007 Κωνσταντίνος Κωβαίος

Διαβάστε περισσότερα

Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του

Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του Έλεγχος φωτισμού από το Smartphone ή Tablet σας, μέσω του Η εφαρμογή Daslight Version 4, είναι διαθέσιμη για PC & Mac. Συνιστούμε να έχετε πάντα την τελευταία και πιο ενημερωμένη έκδοση λογισμικού από

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ

ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ ΦΥΣΙΚΗ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Α ΛΥΚΕΙΟΥ Ευθύγραμμη Ομαλή Κίνηση Επιμέλεια: ΑΓΚΑΝΑΚΗΣ.ΠΑΝΑΓΙΩΤΗΣ, Φυσικός https://physicscorses.wordpress.com/ Βασικές Έννοιες Ένα σώμα καθώς κινείται περνάει από διάφορα σημεία.

Διαβάστε περισσότερα

Σύμβαση 457 ΟΠΣ Πολιτικής Προστασίας. Εγχειρίδιο Χρήσης Εφαρμογής Γεωγραφικής Απεικόνισης (Version: 1.0)

Σύμβαση 457 ΟΠΣ Πολιτικής Προστασίας. Εγχειρίδιο Χρήσης Εφαρμογής Γεωγραφικής Απεικόνισης (Version: 1.0) Σύμβαση 457 ΟΠΣ Πολιτικής Προστασίας Εγχειρίδιο Χρήσης Εφαρμογής Γεωγραφικής Απεικόνισης (Version: 1.0) ΑΝΑΔΟΧΟΣ : SPACE COM A.E. INTRACOM IT SERVICES - QUALITY & RELIABILITY A.E. ΑΘΗΝΑ Ιούνιος 2008 Σελίδα

Διαβάστε περισσότερα