Corso di Programmazione Grafica e Laboratorio Daniele Marini

Slides:



Advertisements
Presentazioni simili
Calcolo vettoriale E.F. Orsega – Università Ca’ Foscari di Venezia
Advertisements

Vettori A. Stefanel - Vettori.
Meccanica 6 21 marzo 2011 Cambiamento di sistema di riferimento
Capitolo 4 Trasformazioni Geometriche
Capitolo 8 Sistemi lineari.
COORDINATE POLARI Sia P ha coordinate cartesiane
Cinematica diretta Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti). Si assume.
Cinematica del braccio di un robot
Marina Cobal - Dipt.di Fisica - Universita' di Udine
Scalari e vettori In fisica si lavora con due tipi di grandezze: le grandezze scalari e le grandezze vettoriali. Le grandezze scalari sono quelle grandezze.
Definizione e caratteristiche
a’ = f(a) Definizione e proprietà
Robotica & Automazione di Processo
Algebra delle Matrici.
ELETTROMAGNETISMO APPLICATO ALL'INGEGNERIA ELETTRICA ED ENERGETICA
Moto nello spazio tridimensionale
Un manipolatore è costituito da un insieme di corpi rigidi (bracci) connessi in cascata tramite coppie cinematiche (giunti) a formare una catena cinematica.
Cinematica differenziale
Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni
Costruzione di Interfacce Lezione 4 Nozioni di geometria per la grafica
Costruzione di Interfacce Lezione 4 Geometria per la grafica
Computer Graphics Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Lezione.
Sistemi Multimediali II Marco Tarini Università dellInsubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2004/05 Lezione.
Rotazione di un corpo rigido attorno ad un asse fisso
Sistema di riferimento su una retta
Moti del corpo rigido 2) Rotazione 3) Rototraslazione 1) Traslazione
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009 Trasformazioni affini.
Isometrie del piano In geometria, si definisce isometria
Lezione 7 Dinamica dei sistemi di punti materiali
Trasformazioni 2D e 3D Daniele Marini.
Vettori Con che verso a Verso
Lavorare con le matrici in OGL
Spazi vettoriali astratti Somma e prodotto di n-ple Struttura di R n.
Trasformazioni geometriche
Fondamenti di Robotica
Precorso di Fisica 2011/2012 Facoltà di Agraria
Le proiezioni e la prospettiva
Sistemi di riferimento
Le trasformazioni Daniele Marini.
Le proiezioni e la prospettiva
Le proiezioni e la prospettiva
un sistema rigido di punti materiali
il moto rotatorio di un corpo rigido
Controllare le proiezioni
Corso Di Programmazione Grafica aa 2007/2008
Quaternioni (continua)
Trasformazioni Daniele Marini.
Corso Di Programmazione Grafica
Rotazioni e quaternioni
Corso Di Programmazione Grafica aa2006/2007
Controllare la prospettiva
Controllare la prospettiva
Le trasformazioni Daniele Marini Corso Di Programmazione Grafica aa 2005/2006.
Controllare le proiezioni Daniele Marini Corso Di Programmazione Grafica aa 2007/2008.
Controllare le proiezioni
Vettori dello spazio bidimensionale (R 2)
La retta Equazione (rette parallele agli assi, passanti per l’origine e generiche) Forma esplicita e implicita Condizione di parallelismo e perpendicolarità.
La traslazione.
MEMORANDUM 02 PROIEZIONE CENTRALE, RIBALTAMENTO E OMOLOGIA DEL PIANO:
Daniele Marini Con contributi di Maurizio Rossi
Prof. Giovanni Ianne I vettori.
1 Lezione XI Avviare la presentazione col tasto “Invio”
Avviare la presentazione col tasto “Invio”
centro di massa e momento di inerzia
A.s Lezioni a cura del Prof.Giovanni Calò Le trasformazioni geometriche Un trasformazione geometrica t è una corrispondenza biunivoca che fa.
a’ = f(a) Definizione e proprietà
angoli orientati negativamente se la rotazione avviene in verso orario
TRASFORMAZIONI GEOMETRICHE.
Prof. Cerulli – Dott. Carrabs
Transcript della presentazione:

Corso di Programmazione Grafica e Laboratorio Daniele Marini Trasformazioni Corso di Programmazione Grafica e Laboratorio Daniele Marini

Concetti Spazio affine Coordinate omogenee Matrici Traslazione, Scala, Rotazione, Shear Prodotto matrice-vettore colonna

Richiami di geometria affine Spazio vettoriale lineare: operazioni di somma tra vettori Campo scalare e operazioni prodotto vettore per scalare Spazio affine: addizione vettore - punto; l’operazione di sottrazione punto-punto produce un vettore

Richiami di geometria affine

Richiami di geometria affine

Lo spazio affine Lo spazio può essere orientato in due modi: mano sinistra: avvolgete la mano all’asse x e puntate il pollice verso x a sinistra, z (medio) viene verso di voi e y (indice) va verso l’alto mano destra: avvolgete la mano all’asse x e puntate il pollice verso x a destra, z (medio) viene verso di voi e y (indice) va verso l’alto Questo definisce il world coordinate system in cui sono definiti gli oggetti

Trasformazioni affini Rappresentate tramite matrici Più trasformazioni possono essere combinate moltiplicando le rispettive matrici tra loro, creando una sola trasformazione Una trasformazione si ottiene in generale combinando trasformazioni lineari (rotazioni, scala e shear) seguite da una traslazione

Trasformazioni affini La trasformazione affine conserva le rette Possiamo descrivere un poliedro con i suoi vertici, facce e spigoli, questa proprietà ci garantisce che possiamo trasformare soltanto i vertici

Definizione degli oggetti Gli oggetti possono essere definiti in un proprio sistema di riferimento locale: i vertici dell’oggetto sono definiti rispetto a un orientamento proprio e naturale un oggetto complesso può essere decomposto in elementi più semplici col proprio riferimento locale e in seguito assemblato aggregando oggetti elementari un oggetto può essere istanziato più volte Per assemblare e istanziare un oggetto si applicano le trasformazioni affini, che cambiano il riferimento locale

Trasformare gli oggetti Le trasformazioni agiscono sui vertici dell’oggetto Denotiamo i vertici (punti) come vettori colonna v R, T e S rappresentano gli operatori di rotazione, traslazione e scala Il punto trasformato è quindi: v’ = v + T traslazione v’ = S v scala v’ = R v rotazione

Coordinate omogenee Spazio delle classi di equivalenza: ogni punto in coordinate cartesiane 3D corrisponde a infiniti punti nello spazio omogeneo 4D che differiscono solo per un fattore moltiplicativo w: Il passaggio dallo spazio omogeneo e lo spazio 3D: solitamente si sceglie w=1

Coordinate omogenee Utilizzando le coordinate omogenee le trasformazioni necessarie alla modellazione possono essere espresse come matrici 4x4 In particolare la traslazione viene espressa come

Traslazione

Rotazione

Rotazione rotazione attorno all’origine rotazione attorno al centro dell’oggetto: prima traslare poi ruotare poi contro-traslare

Scala

Trasformazioni inverse Denotiamo le inverse come: T-1, S-1, R-1 La traslazione inversa si ottiene negando i coefficienti di traslazione La scala inversa si ottiene prendendo il reciproco dei coefficienti La rotazione inversa si ottiene negando l’angolo di rotazione. Nota se M è una matrice ortogonale M-1=MT

Trasformazione del corpo rigido Per i corpi rigidi la matrice di trasformazione può essere espressa come la concatenazione di una traslazione e una rotazione

Trasformazione delle normali La matrice M associata ad un oggetto può essere utilizzata per trasformare punti, linee e poligoni così come vettori direzione Per la trasformazione delle normali invece deve essere utilizzata la matrice N=(M-1)T Se la matrice M è ortogonale N=(MT)T=M Se M è composta da rotazioni, traslazioni e scale uniformi non ho problemi con le normali

Composizione di trasformazioni Si possono applicare trasformazioni in successione, moltiplicando in ordine opportuno le matrici (associatività) v”=M2M1v = M2(M1v) =M2v’ la trasf. M1 viene applicata per prima! ricordiamo che il prodotto di rotazioni non è commutativo: R2R1 ≠ R1R2

Composizione di trasformazioni Possiamo applicare a ogni punto separatamente le matrici: (se ho 1000 punti devo applicare le matrici singolarmente per ognuno) Oppure calcolare prima la matrice M: A B C p q M q p C(B(A))

Le trasformazioni per modellare Da oggetti prototipo a loro “istanze” Tre trasformazioni nell’ordine: Scala Rotazione Traslazione Minst=T(R(S))

Trasformazioni di Eulero y x head pitch roll

Trasformazioni di Eulero Le trasformazioni di Eulero sono costruite come moltiplicazione di matrici di rotazione intorno ai tre assi L’inversa della trasformazione può essere calcolata come

Gimbal Lock Avviene quando le rotazioni sono concatenate in modo tale che un grado di libertà venga perso. Esempio: rotazione di 90° intorno all’asse x volendo ruotare intorno a z, a causa della rotazione precedente, otterremo una rotazione intorno a y

Gimbal Lock Esempio

Rotazione attorno a un punto e parallela a un asse Traslare l’oggetto nell’origine, i coefficienti della traslazione T sono riferiti al punto p Ruotare attorno all’origine di un angolo q Traslare inversamente nel punto p M=T-1RT

Rotazione intorno ad un asse generico Per ruotare un punto intorno ad un asse generico effettuo un cambiamento di sistema di riferimento e utilizzo le matrici di rotazione note x z y r t s y x z y r t s s r x t z

Rotazione intorno ad un asse generico