Fondamenti di Grafica D Sistemi di riferimento e trasformazioni paolo.cignoni@isti.cnr.it http://cg.isti.cnr.it/~cignoni
Introduzione Punti e ettori sono due cose dierse Basi e sistemi di riferimento (coordinate sstems and frames) Coordinate omogenee Trasformazioni Affini
Punti e ettori Punto Entità il cui unico attributo è la sua posizione rispetto ad un sistema di riferimento Vettore Entità i cui attributi sono lunghezza direzione Spesso si isualizza un punto come un ettore dall origine a quel punto: pericoloso. Sono oggetti diersi.
Spazio Vettoriale Spazio doe ci sono due entità, β, γ scalari ettori Operazioni: u,, w Somma e moltiplicazione tra scalari Somma ettore-ettore Moltiplicazione scalare-ettore
Spazio Vettioriale Altre operazioni utili che assumo i ricordiate: Prodotto scalare ettoreettore -> scalare (aka dot product) Prodotto ettore ettoreettore -> ettore (aka cross product)
Spazio affine Spazio doe ci sono tre entità, β, γ Scalari, ettori, punti Operazioni: u,, w P, Q, R Quelle di uno spazio ettoriale Somma punto:ettore-> punto Sottrazione punto:punto -> ettore P + Q P Q
Sistemi di coordinate In uno spazio ettoriale d si può rappresentare uniocamente un ettore w in termini di tre ettori linearmente indipendenti; I tre ettori usati sono una base di quello spazio w + + a w T a },, {
Sistemi di riferimento Una base (tre ettori, linearmente indipendenti) non basta per definire la posizione di un punto. Occorre anche un punto di riferimento, l origine.
Sistemi di riferimento Un frame (sistema di riferimento) necessita quindi di un punto di origine P e di una base. In esso si può rappresentare uniocamente un punto P P + η + η + η Nota: bastano tre scalari per rappresentare un punto, come per un ettore
Cambio sistemi di coordinate In uno spazio ettoriale, date due basi. Esprimiamo una in termini dell altra: {,, } { u, u u } u u u, γ γ γ + γ + γ + γ + γ + γ + γ Questo definisce la matrice M di cambiamento di base M γ γ γ γ γ γ γ γ γ u u u M
Cambio sistemi di coordinate Dato un ettore w Ne ottengo la sua rappresentazione nell altro sistema di coordinate usando la matrice M w + + a w T a u u u w β β β + + β β β b b M a T
Cambio sistemi di coordinate Nota che si sta parlando di ettori e non di punti Questi cambi di base lasciano l origine immutata (cambiano ettori) In altre parole rappresentano solo rotazioni e scalature. Un cambio di sistema di riferimento coinolge anche un cambio del punto di origine.
Coordinate Omogenee Per definire un frame bastano tre ettori ed un punto. P P + + + },,, { P ] [ P P P P P
Coordinate Omogenee Si dice che un punto P è rappresentato dalla matrice colonna p E un ettore w è rappresentato dalla matrice colonna a p δ δ δ a
Cambio di Frame Dati due sistemi di riferimento. Esprimiamo uno in termini dell altro: Questo definisce la matrice 44 di cambiamento di frame {,,, P } { u, u, u Q } u u u, Q γ γ γ γ 4 γ γ M γ γ 4 + γ + γ + γ + γ γ γ γ γ 4 4 + γ + γ + γ γ γ γ γ + γ 4 4 + P
Cambio di Frame La matrice di cambiamento di frame Date le due rappresentazioni a,b in coordinate omogenee in differenti frame (sia di un ettore che di un punto), ale: P Q u u u M M b a a b b T T T T P P M Q u u u
Trasformazioni Affini Funzioni che prendono un punto (o un ettore) e lo mappano in un altro punto (o ettore) Laorando in coord omogenee Ci interessano trasformazioni che siano lineari q f ( p) f ( u) f ( p + β q) f ( p) + β f ( q)
Trasformazioni affini Preserano la colinearita Tutti i punti inizialmente su una linea giacciono ancora su di una linea dopo la trasformazione I rapporti tra le distanze E Il punto di mezzo di un segmento rimane il punto di mezzo di un segmento anche dopo la trasformazione.
Trasformazioni Affini Dato un punto ed una sua rappresentazione Ogni trasformazione lineare trasforma il punto nel punto che ha la stessa rappresentazione ma in un altro sistema di coordinate. P + + + P f ( P) f ( ) + f ( ) + f ( ) + f ( P )
Trasformazioni Affini quindi può sempre essere scritta in termini del rapporto che lega i due sistemi di riferimento Au Se A è non singolare una trasf affine corrisponde ad un cambio di coordinate
Trasformazioni Affini In coordinate omogenee la matrice A dee anche lasciare immutata la quarta componente della rappresentazione A 4 4 4
Trasformazioni Affini Notare che se u è un ettore solo 9 elementi di A sono usati nella trasformazione Au 4 4 4 γ γ γ La quarta colonna corrisponde alla quarta riga della matrice di cambiamento di frame, che contenea il nuoo punto di origine del frame (che chiaramente non sere se si parla di ettori)
Trasformazioni Affini Preserano le linee Consideriamo una linea espressa nella forma parametrica P( ) P + d Consideriamone la sua rapp. in coordinate omogenee p( ) p + d A è una trasformazione affine Ap( ) Ap + Ad
Esercizio Considerando che una trasformazione affine puo essere pensata come un cambio di frame, come è fatta una matrice T che trasforma un punto spostandolo di un certo ettore Q?
Coordinate Omogenee Si dice che un punto P è rappresentato dalla matrice colonna p E un ettore w è rappresentato dalla matrice colonna a p δ δ δ a
Trasformazioni Affini Notare che se u è un ettore solo 9 elementi di A sono usati nella trasformazione Au 4 4 4 γ γ γ La quarta colonna corrisponde alla quarta riga della matrice di cambiamento di frame, che contenea il nuoo punto di origine del frame (che chiaramente non sere se si parla di ettori)
Traslazione modifica i punti di un frame sommando a tutti i punti un ettore di spostamento d P ʹ P + p' p + d d
Traslazione ʹ ʹ ʹ ʹ z d z z p p d p p' + ʹ z T Tp p
Traslazione ),, ( z z T ),, ( ),, ( z z z T T
Rotazione Di una rotazione si dee specificare angolo, asse punto di applicazione
Rotazione Caso semplice asse z, intorno all origine, di un angolo ρ cosφ ρ sinφ ʹ ρ cos( φ + ) ʹ ρ sin( φ + ) ρ (, ) (,)
Rotazione φ ρ φ ρ φ ρ φ ρ φ ρ φ ρ cos sin cos sin sin cos sin cos sin sin cos cos sin cos + + ʹ ʹ ʹ ʹ cos sin sin cos
Rotazioni + ʹ ʹ ʹ cos sin sin - cos ) ( z z R z Z cos sin -sin cos ) ( R Z
Rotazioni cos sin -sin cos ) ( R X cos -sin sin cos ) ( R Y
Rotazioni Le matrici di rotazione iste finora sono facilmente inertibili R ( ) sin( ) sin( ) cos( ) R( ) cos( ) Quindi basta trasporre R ( ) T R ( )
Rotazioni Complesse Rotazioni centrate non sull origine Rotazioni su assi diersi da quelli principali Si ottengono per composizione di trasformazioni
Scaling Non rigida Non uniforme lungo gli assi Solo centrata rispetto all origine ),, ( ' ' ' z X z z S z z β β β β β β β β β
Object Frame Perché ogni oggetto ha il suo sistema di riferimento? Uso Multiplo di uno stesso oggetto Posizione parametrica