• Non ci sono risultati.

Sistemi di riferimento e trasformazioni

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistemi di riferimento e trasformazioni "

Copied!
7
0
0

Testo completo

(1)

Costruzione di Interfacce Lezione 3

Sistemi di riferimento e trasformazioni

cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni

Introduzione

Punti e vettori sono due cose diverse

Basi e sistemi di riferimento (coordinate systems and frames)

Coordinate omogenee

Trasformazioni Affini

Punti e vettori

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 visualizza un punto come un vettore dall’origine a quel punto:

pericoloso. Sono oggetti diversi.

Spazio Vettoriale

Spazio dove ci sono due entità

scalari

vettori

 Operazioni:

Somma e moltiplicazione tra scalari

Somma vettore-vettore

Moltiplicazione scalare-vettore w

v u , ,

γ β α , ,

Spazio affine

Spazio dove ci sono tre entità

Scalari,

 vettori,

punti

Operazioni:

Quelle di uno spazio vettoriale

Somma punto:vettore-> punto

Sottrazione punto:punto -> vettore w

v u , ,

γ β α , ,

R Q P , ,

Q v P = +

Q P v = −

Sistemi di coordinate

In uno spazio vettoriale 3d si può rappresentare univocamente un vettore w in termini di tre vettori linearmente indipendenti; I tre vettori usati sono una base di quello spazio

3 3 2 2 1

1

v v v

w = α + α + α

 

 

=

3 2 1

α α α a

 

 

=

3 2 1

v

v

v

w a

T

}

,

,

{ v

1

v

2

v

3

(2)

Sistemi di riferimento

 Una base (tre vettori, 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

0

e di una base. In esso si può rappresentare univocamente un punto

 Nota: bastano tre scalari per rappresentare un punto, come per un vettore…

3 3 2 2 1 1

0

v v v

P

P = + η + η + η

Cambio sistemi di coordinate 1

 In uno spazio vettoriale, date due basi.

 Esprimiamo una in termini dell’altra:

 Questo definisce la matrice 3x3 M di cambiamento di base

{ v

1

, v

2

, v

3

} { u

1

, u

2

, u

3

}

3 33 2 32 1 31 3

3 23 2 22 1 21 2

3 13 2 12 1 11 1

v v v u

v v v u

v v v u

γ γ γ

γ γ γ

γ γ γ

+ +

=

+ +

=

+ +

=

=

33 32 31

23 22 21

13 12 11

γ γ γ

γ γ γ

γ γ γ M

=

3 2 1

3 2 1

v v v

u u u

M

Cambio sistemi di coordinate 2

Dato un vettore w

Ne ottengo la sua rappresentazione nell’altro sistema di coordinate usando la matrice M

3 3 2 2 1

1

v v v

w = α + α + α

 

 

=

3 2 1

α α α a

 

 

=

3 2 1

v v v w a

T

3 3 2 2 1

1

u u u

w = β + β + β

 

 

=

3 2 1

β β β

b a = M

T

b

Cambio sistemi di coordinate 3

Nota che si sta parlando di vettori e non di punti

Questi cambi di base lasciano l’origine immutata (cambiano vettori)

In altre parole rappresentano solo rotazioni e scalature.

Un cambio di sistema di riferimento coinvolge anche un cambio del punto di origine.

Coordinate Omogenee

Per definire un frame bastano tre vettori ed un punto.

0 3 3 2 2 1

1

v v v P

P = α + α + α + } , , , { v

1

v

2

v

3

P

0

=

0 3 2 1

3 2

1

1 ]

[

P v v v

P α α α   

=

=

P

P

P

0

1

(3)

Coordinate Omogenee

Si dice che un punto P è rappresentato dalla matrice colonna p

E un vettore w è rappresentato dalla matrice colonna a

 

 

= 1

3 2 1

α α α p

 

 

= 0

3 2 1

δ δ δ a

Cambio di Frame

Dati due sistemi di riferimento.

Esprimiamo uno in termini dell’altro:

Questo definisce la matrice 4x4 di cambiamento di frame

{ v

1

, v

2

, v

3

, P

0

} { u

1

, u

2

, u

3

, Q

0

}

0 3 43 2 42 1 41 0

3 33 2 32 1 31 3

3 23 2 22 1 21 2

3 13 2 12 1 11 1

P v v v Q

v v v u

v v v u

v v v u

+ + +

=

+ +

=

+ +

=

+ +

=

γ γ γ

γ γ γ

γ γ γ

γ γ γ

=

1 0 0 0

43 42 41

33 32 31

23 22 21

13 12 11

γ γ γ

γ γ γ

γ γ γ

γ γ γ M

Cambio di Frame

La matrice di cambiamento di frame

Date le due rappresentazioni a,b in coordinate omogenee in differenti frame (sia di un vettore che di un punto), vale:

 

 

=

 

 

0 3 2 1

0 3 2 1

P v v v

Q u u u

M

b M a a

b

b

T T T T

P v v v

P v v v M Q u u u

=

=

=

0 3 2 1

0 3 2 1

0 3 2 1

Trasformazioni Affini

Funzioni che prendono un punto (o un vettore) e lo mappano in un altro punto (o vettore)

Lavorando in coord omogenee

Ci interessano

trasformazioni che siano lineari

) (

) (

u v

p q

f f

=

=

) ( ) ( )

( p q f p f q

f α + β = α + β

Trasformazioni affini

Preservano la colinearita’

Tutti i punti inizialmente su una linea giacciono ancora su di una linea dopo la trasformazione

E

I rapporti tra le distanze

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

1

f v

1 2

f v

2 3

f v

3

f P

0

f = α + α + α +

0 3 3 2 2 1

1

v v v P

P = α + α + α +

(4)

Trasformazioni Affini

quindi può sempre essere scritta in termini del rapporto che lega i due sistemi di riferimento

v=Au

Se A è non singolare una trasf affine corrisponde ad un cambio di coordinate

Trasformazioni Affini

In coordinate omogenee la matrice A deve anche lasciare immutata la quarta componente della rappresentazione

 

 

=

1 0 0 0

34 33 32 31

24 23 22 21

14 13 12 11

α α α α

α α α α

α α α α A

Trasformazioni Affini

 Notare che se u è un vettore solo 9 elementi di A sono usati nella trasformazione

 La quarta colonna corrisponde alla quarta riga della matrice di cambiamento di frame, che conteneva il nuovo punto di origine del frame (che chiaramente non serve se si parla di vettori)

 

 

 

 

=

0 1 0 0 0

3 2 1

34 33 32 31

24 23 22 21

14 13 12 11

γ γ γ α α α α

α α α α

α α α α Au

Trasformazioni Affini

 Preservano le linee

 Consideriamo una linea espressa nella forma parametrica

 Consideriamone la sua rapp. in coordinate omogenee

 A è una trasformazione affine d

P P ( α ) =

0

+ α

d p p ( α ) =

0

+ α

d A Ap Ap ( α ) =

0

+ α

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 vettore Q?

Coordinate Omogenee

Si dice che un punto P è rappresentato dalla matrice colonna p

E un vettore w è rappresentato dalla matrice colonna a

= 1

3 2 1

α α α p

 

 

= 0

3 2 1

δ

δ

δ

a

(5)

Trasformazioni Affini

 Notare che se u è un vettore solo 9 elementi di A sono usati nella trasformazione

 La quarta colonna corrisponde alla quarta riga della matrice di cambiamento di frame, che conteneva il nuovo punto di origine del frame (che chiaramente non serve se si parla di vettori)

 

 

 

 

=

0 1 0 0 0

3 2 1

34 33 32 31

24 23 22 21

14 13 12 11

γ γ γ α α α α

α α α α

α α α α Au

Traslazione

modifica i punti di un frame sommando a tutti i punti un vettore di spostamento d P ′ = P + d

d p p' = +

Traslazione

 

 

=

 

 

′ =

 

 

=

0 1 1

z y x

z d y x

z y x

α α α p

d p p p' = +

=

′ =

1 0 0 0

1 0 0

0 1 0

0 0 1

z y x

α α α T

Tp p

Traslazione

 

 

=

1 0 0 0

1 0 0

0 1 0

0 0 1 ) , , (

z y x

z y

x

α

α α α

α α T

 

 

=

1 0 0 0

1 0 0

0 1 0

0 0 1 ) , , ( ) , ,

1

(

z y x

z y x z y

x

α

α α α

α α α α

α T

T

Rotazione

Di una rotazione si deve specificare

angolo,

 asse

punto di applicazione

Rotazione

Caso semplice asse z, intorno all’origine, di un’angolo θ

) sin(

) cos(

sin cos

θ φ ρ

θ φ ρ

φ ρ

φ ρ

+

=

′ +

=

=

=

y x y x

θ ρ

(x’,y’)

(x,y)

(6)

Rotazione

θ θ θ φ ρ θ φ ρ

θ θ θ φ ρ θ φ ρ

φ ρ

φ ρ

cos sin cos sin sin cos

sin cos sin sin cos cos sin cos

y x y

y x x

y x

+

= +

=

=

=

=

=

 

 

 

 

 −

 =

 

y x y

x

θ θ

θ θ

cos sin

sin cos

Rotazioni

 

 

= +

 

 

=

 

 

1 cos sin

sin - cos

1 ) ( 1

z y x

y x

z y x z R y x

Z

θ θ

θ θ θ

 

 

=

1 0 0 0

0 1 0 0

0 0 cos sin

0 0 sin - cos )

( θ θ

θ θ θ

Z

R

Rotazioni

 

 

=

1 0 0 0

0 cos sin 0

0 sin - cos 0

0 0 0 1 )

( θ θ

θ θ

X

θ

R

 

 

=

1 0 0 0

0 cos 0 sin -

0 0 1 0

0 sin 0 cos )

( θ θ

θ θ θ

Y

R

Rotazioni

Le matrici di rotazione viste finora sono facilmente invertibili

Quindi basta trasporre…

) ( ) (

) cos(

) cos(

) sin(

) sin(

) ( ) (

1 1

θ θ

θ θ

θ θ

θ θ

R

T

R R R

=

=

=

=

Rotazioni Complesse

Rotazioni centrate non sull’origine

Rotazioni su assi diversi da quelli principali

Si ottengono per composizione di trasformazioni

Scaling

 Non rigida

 Non uniforme lungo gli assi

 Solo centrata rispetto all’origine

 

 

=

=

=

=

1 0 0 0

0 0 0

0 0 0

0 0 0 ) , , ( ' ' '

z y x

X z y x

z y x

S z z

y y

x x

β β β β β β

β

β

β

(7)

9 Ott 2002 Costruzione di Interfacce - Paolo Cignoni

37

Cambi di Sistemi di riferimento

Il primo step della pipeline di rendering è quello di trasformare la scena nel sistema di riferimento della camera

Object Frame

Perché ogni oggetto ha il suo sistema di riferimento?

Uso Multiplo di uno stesso oggetto

Posizione parametrica

Riferimenti

Documenti correlati

Usando la rappresentazione di un vettore attraverso le sue componenti rispetto alla terna fondamentale i, j, k, si ha la seguente facile formulazione del prodotto scalare che – si

L’equazione (26) indica che la legge di Newton ` e valida in qualunque sistema di riferimento, purch´ e oltre alle forze reali (forze di contatto + forza gravitazionale) si

La somma di due vettori si fa quindi mettendo la coda del secondo vettore sullapunta del primo, e tracciando il vettore dalla coda del primo alla punta del

Due corpi di massa M=4kg e m=1kg, sono legati per mezzo di una fune e tirati verso destra con una forza pari a 22N.. Calcolare l’accelerazione del sistema e la tensione

v  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 vettore

Se  intendiamo  che  l'esperimento  di  caduta  di  un  sasso  fermo  si  svolge  con 

Infatti  tutti  i  punti  di  una  cabina  a  un  dato  istante  hanno  la  stessa  velocità  e  la  stessa 

Problemi nella realizzazione del Datum in quanto i punti di riferimento sul terreno ubicati su placche continentali diverse sono soggetti ad un continuo spostamento reciproco