1 Trasformazioni Daniele Marini. 2 Ambiente Spazio affine coordinate omogenee Matrici traslazione,...

download 1 Trasformazioni Daniele Marini. 2 Ambiente Spazio affine coordinate omogenee Matrici traslazione, scala, rotazione, shear prodotto matrice vettore colonna.

If you can't read please download the document

Transcript of 1 Trasformazioni Daniele Marini. 2 Ambiente Spazio affine coordinate omogenee Matrici traslazione,...

  • Slide 1
  • 1 Trasformazioni Daniele Marini
  • Slide 2
  • 2 Ambiente Spazio affine coordinate omogenee Matrici traslazione, scala, rotazione, shear prodotto matrice vettore colonna (il punto)
  • Slide 3
  • 3 Trasformazioni affini rappresentate con matrici pi trasformazioni possono essere combinate moltiplicando le matrici tra loro, creando una sola trasformazione una trasformazione si ottiene in generale combinando trasformazioni lineari (rotazioni, scala e shear) seguite da una traslazione
  • Slide 4
  • 4 Lo spazio affine lo spazio pu essere orientato in due modi: mano destra: avvolgete la mano allasse z e puntate il pollice verso di voi, x viene a destra e y va verso lalto mano sinistra: avvolgete la mano allasse z e puntate il pollice verso di voi, x viene a sinistra e y va verso lalto questo definisce il world coordinate system in cui sono definiti gli oggetti
  • Slide 5
  • 5 Definizione degli oggetti gli oggetti possono essere definiti in un proprio sistema di riferimento locale: i vertici delloggetto 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 aggragando oggetti elementari un oggetto pu essere istanziato pi volte per assemblare istanziare un oggetto si applicano le trasformazioni affini, che cambiano il riferimento locale
  • Slide 6
  • 6 Trasformare gli oggetti i vertici delloggetto vengono trasformati denotiamo i vertici (punti) come vettore colonna V R, D e S sono rotazione, traslazione e scala il punto trasformato si denota: V=V+D traslazione, D un vettore di traslazione V=SV scala, S una matrice di scala V=RV rotazione, R una matrice di rotazione
  • Slide 7
  • 7 Richiami di geometria affine Spazio vettoriale lineare: operazioni di somma tra vettori Campo scalare e operazioni prodotto vettore x scalare Spazio affine: addizione vettore - punto; loperazione di Sottrazione punto-punto produce un vettore
  • Slide 8
  • 8
  • Slide 9
  • 9
  • Slide 10
  • 10 Matrici
  • Slide 11
  • 11 Coordinate omogenee Spazio delle classi di equivalenza: ogni punto in coordinate carteziane 3D corrisponde a infiniti punti nello spazio omogeneo 4D che differiscono solo per un fattore moltiplicativo w: Il passaggio tra lo spazio omogeneo e lo spazio 3D: solitamente si sceglie w=1
  • Slide 12
  • 12 Traslazione, Rotazione e Scala espresse come trasformazioni nello spazio di coordinate omogenee 4D come prodotto tra matrici coord. omogenee coord. cartesiane
  • Slide 13
  • 13 Scala coord. omogenee coord. cartesiane
  • Slide 14
  • 14 (x,y) (x,y) (x,y) (x,y) x= cos y= sin y= sin( cos sin sin cos x sin y cos x= cos( cos cos sin sin x cos y sin La rotazione attorno a z
  • Slide 15
  • 15 Matrici di rotazione occorre specificare un asse di rotazione: attorno a x:
  • Slide 16
  • 16 coord. omogenee coord. cartesiane
  • Slide 17
  • 17 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 langolo di rotazione.
  • Slide 18
  • 18 Composizione di trasformazioni Si possono applicare trasformazioni in successione, moltiplicando in ordine opportuno le matrici. V=M 2 M 1 V = M 2 (M 1 V) =M 2 V la trasf. M 1 viene applicata per prima! ricordiamo che il prodotto di rotazioni non commutativo: R 2 R 1 R 1 R 2
  • Slide 19
  • 19 Rotazione attorno a un punto e parallela a un asse traslare loggetto nellorigine, i coefficienti della traslazione T sono riferiti al punto p ruotare attorno allorigine di un angolo traslare inversamente nel punto p M=T -1 RT
  • Slide 20
  • 20 combinando le tre trasformazioni in ununica matrice:
  • Slide 21
  • 21 Rotazione attorno a un punto e a un asse generico: In generale una trasformazione composta organizzata: traslazionerotazione
  • Slide 22
  • 22 Cambiamento di riferimento Le trasf. si possono considerare applicate agli oggetti (punti in un s.d.r.) o come cambiamento di riferimento In questo caso si esprimono i punti in un nuovo s.d.r.; es. traslazione:
  • Slide 23
  • 23 Vettori valgono le propriet dello spazio affine versori: i, j, k sono i vettori di lunghezzza unitaria che individuano gli assi cartesiani, sono ortogonali, e formano una terna di vettori ortonormali, una base dello spazio cartesiano
  • Slide 24
  • 24 Vettore normale e prodotto vettore il prodotto vettore (cross product) si pu esprimere con i versori (ricordiamo che la somma di due vettori un vettore):
  • Slide 25
  • 25 Vettore normale il risultato del prodotto vettore d il vettore normale al piano individuato dai due vettori il verso coerente con lorientamento scelto (mano destra: indice e medio diretti come i due vettori, pollice come la normale)
  • Slide 26
  • 26 Prodotto scalare X=V.W =v 1 w 1 +v 2 w 2 +v 3 w 3 uno scalare se i due vettori formano un angolo , la differenza si pu esprimere come:
  • Slide 27
  • 27 Proiezione di un vettore su un altro il prodotto scalare permette di scrivere la proiezione di un vettore su un altro; sia V unitario, sia W il vettore dato, la sua proiezione X ha modulo: V W X
  • Slide 28
  • 28 Propriet del segno se V.W > 0 langolo < 90 se V.W = 0 langolo = 90 se V.W 90 il prodotto scalare si pu quindi usare per valutare lorientamento
  • Slide 29
  • 29 Parametrizzare le rotazioni
  • Slide 30
  • 30 Problema 1: gimbal lock blocco del giroscopio esprimiamo le rotazioni con gli angoli di Eulero, tre angoli di rotazione attorno agli assi coordinati (si pensi a un velivolo, yaw, pitch, roll) implementiamo gli angoli di Eulero con le matrici appena esaminate
  • Slide 31
  • 31 ricordiamo che le rotazioni non sono commutative! eseguiamo una rotazione di yaw di 90 eseguiamo una rotazione di pitch o roll di 90 cosa succede? abbiamo applicato la sequenza di rotazioni R(0,0,0),... R( t,0,0),..., R( ,0,0) con 0