Ιεραρχική και ανικειμενοστραφής μοντελοποίηση

Σχετικά έγγραφα
Kinematics X Dynamics

Kinematics Vs Dynamics

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗ-ΨΗΦΙΑΚΗ ΣΥΝΘΕΣΗ ΕΙΚΟΝΩΝ Διδάσκων: Ν. ΝΙΚΟΛΑΙΔΗΣ

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design)

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Παναγιώτης Ανδρέου

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Παναγιώτης Ανδρέου

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΣΥΝΟΨΗ

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Δομές Δεδομένων και Αλγόριθμοι

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

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

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

Συστήματα συντεταγμένων

ΦΥΣΙΚΗ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ 2013

Μετασχηµατισµοί συντεταγµένων

Δομές δεδομένων (2) Αλγόριθμοι

Συναφείς µετασχηµατισµοί:

Φυσική Θετικών Σπουδών Γ τάξη Ενιαίου Λυκείου 2 0 Κεφάλαιο

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Εισαγωγή στην Ρομποτική

ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

Θέση και Προσανατολισμός

Διαγώνισμα Γ Λυκείου Θετικού προσανατολισμού. Διαγώνισμα Μηχανική Στερεού Σώματος. Σάββατο 24 Φεβρουαρίου Θέμα 1ο

ΚΕΦΑΛΑΙΟ 4 ο : ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ ΕΝΟΤΗΤΑ 3: ΡΟΠΗ ΑΔΡΑΝΕΙΑΣ - ΘΕΜΕΛΙΩΔΗΣ ΝΟΜΟΣ ΣΤΡΟΦΙΚΗΣ ΚΙΝΗΣΗΣ

OpenGL. Μετασχηματισμοί. Μάθημα: Γραφικά Υπολογιστών και Εικονική Πραγματικότητα. Κατερίνα Παπαδοπούλου /

Απαραίτητες αφού 3Δ αντικείμενα απεικονίζονται σε 2Δ συσκευές. Θέση παρατηρητή. 3Δ Μετασχ/σμός Παρατήρησης

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί.

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

ΕΚΦΩΝΗΣΕΙΣ ΑΣΚΗΣΕΩΝ. Άσκηση 1. (Ροπή αδράνειας - Θεμελιώδης νόμος στροφικής κίνησης)

Δομές Δεδομένων & Αλγόριθμοι

Απεικόνιση καμπυλών και επιφανειών

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

ΦΥΣΙΚΗ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Τμήμα Μηχανικών Σχεδίασης Προϊόντων & Συστημάτων ΓΡΑΦΙΚΑ (6151) ΕΝΔΕΙΚΤΙΚΕΣ ΠΡΟΑΙΡΕΤΙΚΕΣ ΑΣΚΗΣΕΙΣ

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3.

ΠΡΟΩΘΗΣΗ ΠΥΡΑΥΛΩΝ. Η προώθηση των πυραύλων στηρίζεται στην αρχή διατήρησης της ορμής.

Γραφικά Υπολογιστών: Αναπαράσταση Αντικείμενων 3D

Σημειώσεις για το μάθημα "Σχεδίαση με υπολογιστές και δίκτυα παραγωγής (CAD/CAM)"

Τα ρομπότ στην βιομηχανία

% ] Βαγγέλης Δημητριάδης 4 ο ΓΕΛ Ζωγράφου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Μετασχηματισμοί Μοντελοποίησης (modeling transformations)

Εισαγωγή στη θεωρία μετασχηματισμών. Τα ρομπότ στην βιομηχανία

Γεωμετρικές Σκιές. Θ. Θεοχάρης Ι. Κακαδιάρης - Γ. Πασσαλής

Χωρικές Περιγραφές και Μετασχηµατισµοί

3. ΥΝΑΜΙΚΗ ΡΟΜΠΟΤΙΚΩΝ ΒΡΑΧΙΟΝΩΝ

Μηχανολογικό Σχέδιο με τη Βοήθεια Υπολογιστή. Μοντέλα Περιγραφής Τρισδιάστατων αντικειμένων

Σύντομος οδηγός αναφοράς Για Windows Έκδοση 4.0

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

[1kgm 2, 5m/s, 3,2cm, 8rad/s][1kgm 2, 5m/s, 3,2cm, 8rad/s]

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Οδηγίες σχεδίασης στο περιβάλλον Blender

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

Σύμφωνα με το Ινστιτούτο Ρομποτικής της Αμερικής

Διαγώνισμα Γ Λυκείου Θετικού προσανατολισμού. Διαγώνισμα Μηχανική Στερεού Σώματος. Τετάρτη 12 Απριλίου Θέμα 1ο

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

ΨΗΦΙΑΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΒΟΗΘΗΜΑ «ΦΥΣΙΚΗ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ» ΦΥΣΙΚΗ ΘΕΤΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Ειδικά θέματα Πληροφορικής Κινηματογραφίας

ΦΥΣΙΚΗ. α) έχουν κάθε χρονική στιγμή την ίδια οριζόντια συνιστώσα ταχύτητας, και την ίδια κατακόρυφη συνιστώσα ταχύτητας.

Β ΛΥΚΕΙΟΥ - ΓΕΝΙΚΕΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 10 Περιστροφική Κίνηση. Copyright 2009 Pearson Education, Inc.

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

ΚΕΦΑΛΑΙΟ 4 ο : ΜΗΧΑΝΙΚΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ ΕΝΟΤΗΤΑ 1: ΚΙΝΗΣΗ ΣΤΕΡΕΟΥ ΣΩΜΑΤΟΣ [Υποκεφάλαιο 4.2 Οι κινήσεις των στερεών σωμάτων του σχολικού βιβλίου]

Τεχνολογία Ψυχαγωγικού Λογισμικού και Εικονικοί Κόσμοι Ενότητα 4η - 3Δ γραφικά

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Ερωτήσεις. 2. Η ροπή αδράνειας μιας σφαίρας μάζας Μ και ακτίνας R ως προς άξονα που διέρχεται

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

Δομές Δεδομένων (Data Structures)

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

2. Ένα μπαλάκι το δένουμε στην άκρη ενός νήματος και το περιστρέφουμε. Αν το μπαλάκι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

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

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

Θεωρία μετασχηματισμών

Διαγώνισμα Μηχανική Στερεού Σώματος

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

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

4 3 Απόκρυψη /Εμφάνιση

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M

Transcript:

Ιεραρχική και ανικειμενοστραφής μοντελοποίηση

Θέματα Πώς παριστάνουμε ένα σύνθετο αντικείμενο και την σχέση-αλληλεξάρτηση μεταξύ των μερών του? Πώς παριστάνουμε μια σκηνή με διάφορα (σύνθετα) αντικείμενα και τη μεταξύ τους σχέση?

Σύμβολα και στιγμιότυπα Σύμβολα: απλά γεωμετρικά αντικείμενα ορισμένα σε «βολικές» προκαθορισμένες θέσεις Αρχή των αξόνων με «μοναδιαίες» διαστάσεις Model frame Ένα αντικείμενο/σκηνή ως σύνολο συμβόλων με κατάλληλους μετασχηματισμούς στιγμιότυπου (instance transform) M=TRS

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

Σύμβολα και στιγμιότυπα

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

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

Ιεραρχικά μοντέλα Αποθήκευση της πληροφορίας για το ζωγράφισμα των τροχών σε 4 κόμβους: πλεονασμός. Κατευθυντικοί ακυκλικοί γράφοι (directed acyclic graph, DAG) Υπάρχουν βρόγχοι αλλά δεν μπορούμε να τους διατρέξουμε

Ρομποτικός βραχίονας Τρεις βαθμοί ελευθερίας: Γωνία περιστροφής της βάσης Γωνίες στις αρθρώσεις Μετρώνται στο σύστημα συντεταγμένων (frame) του αντίστοιχου μέρους

Ρομποτικός βραχίονας Καθώς μεταβάλλονται οι γωνίες των βραχιόνων τα αντικείμενα ή τα frames τους βραχιόνων μετακινούνται ως προς τη βάση Έχει προηγηθεί τοποθέτηση στη σωστή σχετική θέση

Ρομποτικός βραχίονας Κατασκευή & κίνηση με σταδιακό τρόπο Κάθε μέρος πρέπει να τοποθετηθεί ως προς τον πατέρα Η κίνηση ενός μέρους πρέπει να μεταδοθεί στα μέρη κατωθεν αυτού Περιστρέφω, μετατοπίζω κάθε μέρος για να τοποθετηθεί σωστά ως προς τον πατέρα Εφαρμόζω τους μετασχηματισμούς του πατέρα

Ρομποτικός βραχίονας Περιστροφή βάσης με πίνακα περιστροφής R y (θ) Οκάτωβραχίοναςπρέπειναπεριστραφεί, να τοποθετηθεί στην κορυφή της βάσης και να περιστραφεί μαζί της: R y (θ) T(0,h 1,0) R z (φ) Οπάνωβραχίοναςπρέπειναπεριστραφεί κατά ψ και να τοποθετηθεί στην κορυφή του κάτω βραχίονα: R y (θ) T(0,h 1,0) R z (φ) T(0,h 2,0) R z (ψ)

Ρομποτικός βραχίονας glrotate() base() gltranslate() glrotate() lower_arm() gltranslate() glrotate() upper_arm()

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

Διάσχιση δένδρων Απλό μοντέλο ανθρωπίνου σώματος Τοποθέτηση των μερών στις σχετικές αρχικές θέσεις Κίνηση: λαιμός 2 βαθμοί ελευθερίας, υπόλοιπες αρθρώσεις 1 Οι κλάδοι δίνουν τις αλληλεπιδράσεις των τμημάτων

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

Διάσχιση δένδρων Διάσχιση του δένδρου για την απεικόνιση του σύνθετου αντικειμένου Preorder διάσχιση: αναδρομική διάσχιση ρίζας, αριστερού υποδένδρου, δεξιού υποδένδρου Συνάρτηση που πραγματοποιεί την διάσχιση Αναλυτικά με κατάλληλη χρήση σωρών για αποθήκευση των απαιτούμενων μετασχηματισμών Με αναδρομικό τρόπο

Διάσχιση με βάση τους σωρούς Χρήση push και pop για απομόνωση των μετασχηματισμών glpushmatrix() torso(); gltranslate(); glrotate; Head(); glpopmatrix(); glpushmatrix() gltranslate(); glrotate; Left_upper_leg(); gltranslate(); glrotate; Left_lower_leg(); glpopmatrix(); //end of a subtree, pop

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

Δενδρικές δομές δεδομένων Χρήση κατάλληλων δομών δεδομένων για την αναπαράσταση των δένδρων και ένα γενικό αλγόριθμο διάσχισης Αναπαράσταση δένδρου: left child, right sibling Κάθε κόμβος έχει δείκτη στο αριστερότερο παιδί και στον δεξιό αδερφό (κόμβος στο ίδιο επίπεδο, παιδί του ίδιου πατέρα)

Δενδρικές δομές δεδομένων

Δενδρικές δομές δεδομένων Σε κάθε κόμβο αποθηκεύουμε: Δείκτη σε συνάρτηση που ζωγραφίζει το αντικείμενο Πίνακα μετασχηματισμού που τοποθετεί το αντικείμενοσεσχέσημετονπατέρα Δείκτες σε αριστερό παιδί, αδερφό typedef struct treenode{ GLfloat m[16]; void (*f)(); struct treenode *sibling; struct treenode *child; }treenode;

Δενδρικές δομές δεδομένων Κατά την απεικόνιση ο πίνακας m πολλαπλασιάζεται με τον τρέχοντα modelview matrix καικαλείταιηf Αρχικοποιούμε κατάλληλα τον κάθε κόμβο Δίνουμε την αρχική θέση και την συσχέτιση με τους υπόλοιπους κόμβους

Δενδρικές δομές δεδομένων treenode torso_node, head_node, lua_node,.. glloadidentity(); glrotatef(theta[0], 0.0, 1.0, 0.0); //φτιάχνουμε κατάλληλο modelview και τον αποθηκεύουμε στον m glgetfloatv(gl_modelview_matrix,torso_node.m); torso_node.f = torso; torso_node.sibling = NULL; torso_node.child = &head_node; //Το theta είναι μεταβλητή που αλλάζει για να πετύχω την κίνηση

Δενδρικές δομές δεδομένων glloadidentity(); gltranslatef(-(torso_radius+upper_arm_radius), 0.9*TORSO_HEIGHT, 0.0); //το μετακινώ στη σωστή θέση glrotatef(theta[3], 1.0, 0.0, 0.0); //μεταβλητή γωνία glgetfloatv(gl_modelview_matrix,lua_node.m); lua_node.f = left_upper_arm; lua_node.sibling = &rua_node; lua_node.child = &lla_node;

Δενδρικές δομές δεδομένων Αναδρομική συνάρτηση διάσχισης (preorder) Γενική, ανεξάρτητη από το συγκεκριμένο δέντρο void traverse(treenode* root){ if(root==null) return; glpushmatrix(); glmultmatrixf(root->m); root->f(); if(root->child!=null) traverse(root->child); glpopmatrix(); if(root->sibling!=null) traverse(root->sibling); }

Δενδρικές δομές δεδομένων Όταν μετακινούμαι σε αδερφό πρέπει να επαναφέρω τον modelview (popmatrix) Όταν πάω σε παιδί ο modelview του πατέρα κληρονομείται όπως θα έπρεπε Μπορούμε να προσθέσουμε / διαγράψουμε κόμβους δυναμικά. Αλλαγές στο αντικείμενο

Animation Τα ιεραρχικά μοντέλα είναι κατάλληλα για περιγραφή αρθρωτών αντικειμένων Απεικονίζουν τη σχέση μεταξύ των μερών Πώς θα κινήσουμε το μοντέλο μεταβάλλοντας τις παραμέτρους (βαθμούς ελευθερίας) στο χρόνο?

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

Animation Κινηματική (kinematics): εύρεση/έλεγχος της θέσης των σημείων του αντικειμένου για δεδομένο διάνυσμα γωνιών στις αρθρώσεις P=f(θ) Καθορίζοντας τους ρυθμούς μεταβολής των γωνιών στις αρθρώσεις μπορώ να προσδιορίσω τις ταχύτητες των σημείων Dynamics: καθορισμός της κίνησης του μοντέλου από τις ασκούμενες δυνάμεις Λαμβάνοντας υπ όψιν τριβή, αδράνεια,...

Animation Kinematics και dynamics ασχολούνται με την forward συμπεριφορά του μοντέλου Στο animation είναι πολλές φορές χρήσιμα τα inverse kinematics Δεδομένης μιας επιθυμητής θέσης του μοντέλου (π.χ. άκρη βραχίονα) πώς θα βρούμε της γωνίες αρθρώσεων που την πετυχαίνουν θ=f(p)

Animation Εναλλακτικά μπορούμε να βρούμε τις ενδιάμεσες γωνίες που θα δώσουν τις ενδιάμεσες θέσεις του αντικειμένου καθώς κινείται στην τελική θέση. Λύση από τον χώρο του κλασσικού animation με το χέρι Key-frame animation: ζωγράφισμα του αντικειμένου σε σημαντικά στιγμιότυπα (key frames) Ζωγράφισμα των ενδιάμεσων θέσεων: inbeetweening

Animation Στα γραφικά με Η/Υ υπολογίζουμε τις γωνίες ή θέσεις σε σημαντικά στιγμιότυπα, κάνουμε παρεμβολή για ενδιάμεσες γωνίες/θέσεις και σχηματίζουμε τα ενδιάμεσα frames. Πρόκειται ουσιαστικά για κινηματική προσέγγιση. Χρήση splines γιαναδιαγράψουμετηνομαλή πορεία των αντικειμένων Απαιτείται αλληλεπίδραση

Morphing Αλλαγή του σχήματος του αντικειμένου: αρχικό και τελικό σχήμα Εύρεση αντιστοιχιών σε σημεία αρχικού και τελικού σχήματος και αυτόματος σχηματισμός των ενδιαμέσων καταστάσεων για ομαλή μετάβαση Εισαγωγή & διαγραφή σημείων

Constructive solid geometry (CSG) Η αναπαράσταση αντικειμένων μόνο με την επιφάνεια έχει μειονεκτήματα Δεν μπορούμε να παραστήσουμε τις ογκομετρικές ιδιότητες αντικειμένων Βάρος σε εφαρμογές CAD Ασάφειες

Constructive solid geometry (CSG) Χρήση στοιχειωδών συμπαγών γεωμετρικών στερεών: κύλινδροι, σφαίρες, παραλληλεπίπεδα Ιδιότητες επιφάνειας αλλά και ογκομετρικές Αναπαράσταση αντικειμένων με πράξεις άλγεβρας συνόλων στα στοιχειώδη στερεά Ένωση, τομή, διαφορά

Constructive solid geometry (CSG)

Constructive solid geometry (CSG) Οι εκφράσεις αναπαράστασης αντικειμένων μπορούν να αποθηκευθούν με κατάλληλα δένδρα εκφράσεων Εσωτερικοί κόμβοι: τελεστές Φύλλα: ορίσματα τελεστών (στοιχειώδη στερεά) Απεικόνιση του αντικειμένου με post order διάσχιση Αναδρομικός υπολογισμός αριστερού υποδένδρου, δεξιού υποδένδρου και ρίζας Απεικόνιση με χρήση παραλλαγής ray tracing

Constructive solid geometry (CSG)

Δένδρα σκίασης (Shading trees) Χρήση δένδρων για αποθήκευση & υπολογισμό μαθηματικών εκφράσεων που απαντώνται στη σκίαση I = klln + kl( rv a ) + kli d d s s a a a Χρήση για περιγραφή τεχνικών σκίασης στην RenderMan shading language

Δένδρα σκίασης (Shade trees) Diffuse, specular, ambient reflection blocks

BSP trees Χρήση δένδρων για την περιγραφή της σχετικής θέσης στο χώρο των αντικειμένων Χρήσιμο για γρήγορες δοκιμές ορατότητας (visibility tests) Απόρριψη μή ορατών αντικειμένων χωρίς να τα εξετάσω όλα Ένα επίπεδο χωρίζει το χώρο σε σε δύο υποσύνολα Περισσότερα επίπεδα δίνουν περαιτέρω υποδιαιρέσεις.

BSP trees Αν προβάλω τα πολύγωνα με τη σωστή σειρά (back to front) δεν χρειάζεται depth buffer Απαιτείται διάταξη ως προς το βάθος Εναλλακτική λύση: αποθήκευση σχετικής θέσης σε δένδρο

BSP trees Binary space partitioning trees Διάσχιση με backward in-order διάσχιση Αναδρομική διάσχιση δεξιού υποδένδρου, ρίζας, αριστερού υποδένδρου Διάταξη από πίσω προς τα μπροστά

BSP trees Αν ο παρατηρητής μετακινηθεί πίσω πετυχαίνω αντίστοιχη διάταξη με κανονική inorder διάσχιση Αριστερό υποδένδρο, ρίζα, δεξιό υποδένδρο Χρήσιμη αναπαράσταση για γρήγορο rendering σε εφαρμογές όπως flight simulators όπου το μοντέλο του κόσμου δεν αλλάζει, αλλάζει μόνο η θέση του παρατηρητή

Τετραδικά δένδρα (quadtrees) Χρησιμοποιούνται συνήθως για την αποδοτική αποθήκευση εικόνων Υποδιαίρεση της εικόνας σε 4 περιοχές Περαιτέρω υποδιαίρεση μη ομογενών περιοχών. Κάθε κόμβος έχει τέσσερα παιδία Κάθε επίπεδο αντιστοιχεί σε μια υποδιάιρεση

Τετραδικά δένδρα (quadtrees)

Οκταδικά δένδρα (octrees)