• Non ci sono risultati.

• Prodotto Vettoriale ("cross-product", "external product") : vettore x vettore → vettore

N/A
N/A
Protected

Academic year: 2021

Condividi "• Prodotto Vettoriale ("cross-product", "external product") : vettore x vettore → vettore"

Copied!
3
0
0

Testo completo

(1)

1

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ripasso: prodotto scalare e vettoriale

• Prodotto Vettoriale ("cross-product", "external product") : vettore x vettore → vettore

0 ) ( ) (

) (

=

×

=

×

×

=

×

u v u v v u

u v v u Proprietà

il risultato è ortogonale ad entrambi gli operandi:

non commuta:

 

 

=

×

x y y x

z x x z

y z z y z y x z y x

β α β α

β α β α

β α β α β β β α α

α , , ) ( , , ) (

u v u x v

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ripasso: prodotto scalare e vettoriale

• Prodotto Vettoriale ("cross-product", "external product") : vettore x vettore → vettore

Proprietà

 

 

=

×

x y y x

z x x z

y z z y z y x z y x

β α β α

β α β α

β α β α β β β α α

α , , ) ( , , ) (

θ θ

sen 0

sen

=

×

=

×

=

×

v u

v u v u

v u v u

e allineati e, se u e v

sono normalizzati:

quindi se u e v non sono nulli:

molto utilmente:

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Spazio affine

• Tre entità – scalari – vettori – punti

attributi:

lunghezza, direzione unico attributo:

la posizione, rispetto ad un sistema di riferimento

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Spazio affine

• Tre entità – scalari – vettori – punti

• Operazioni:

– Eredita dallo (è uno) spazio vettoriale:

• Somma e prodotto tra scalari

• Moltiplicazione scalare xxxx vettore → vettore

• Somma vettore xxxx vettore → vettore – Somma punto xxxx vettore → punto – Sottrazione punto xxxx punto → vettore

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Sistema di riferimento ( frame )

• Definito da

– un punto base (origine) p

0

– e una base vettoriale { v

0

, v

1

, v

2

}

• Posso esprimere (univocamente) ogni punto punto punto punto p come:

p = v 0 η 0 + v 1 η 1 + v 2 η 2 + p 0

coordinate omogenee di p lin indip

• cioè: p = v 0 v 1 v 2 p 0 η 0 η 1 η 2 1

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Sistema di riferimento ( frame )

• Definito da

– un punto base (origine) p

0

– e una base vettoriale { v

0

, v

1

, v

2

}

• Posso esprimere (univocamente) ogni vettore vettore vettore vettore v come:

v = v 0 η 0 + v 1 η 1 + v 2 η 2 + p 0

coordinate omogenee di p

• cioè: p = v 0 v 1 v 2 p 0

η 0

η 1

η 2

0

(2)

2

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Sistema di riferimento ( frame )

• Un frame può essere:

– ortogonale

(se i vettori della base lo sono fra loro) – ortonormale

(se i vettori della base sono ortogonali e normali)

• Frame canonico:

– matrice identità

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Frame sinistrorso e detrorso

• Un sistema di riferimento ortogonale può essere immaginato sinistrorso o destrorso

sinistrorso destrorso

z y x × =

• Ricordiamoci di usare la STESSA MANO per il prodotto cross

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Rappresentazione di punti e vettori in coordinate omogenee

 

 

= 1

3 2 1

α α α p

 

 

 

 

= 0

3 2 1

δ δ δ a

Punti Vettori

1 0

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Coordinate omogenee

• Il punto P di coordinate cartesiane (x,y,z) è rappresentato in coordinate omogenee come (xw,yw,zw , w), con w qualunque (ma non 0)

• Due punti di coordinate (x, y, z, w) e (x′, y′, z′, w′) possono rappresentano lo stesso punto dello spazio;

– [quando?]

• Quando w = 1 coordinate cartesiane ed omogenee coincidono (forma canonica ) .

• Con (x, y, z, w ≠ 0) si rappresentano punti , con (x, y, z, 0) si rappresentano vettori.

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

q = (p) v = (u) Trasformazioni

• Funzioni che prendono un punto (o un vettore)

e lo mappano in un altro punto (o vettore)

– lavorano in coord omogenee – ci interessano

trasformazioni che siano lineari:

p

f f f

f

q

f

) ( ) ( )

( v

0

v

1

f v

0

f v

1

f α + β = α + β (coi vettori)

) ( ) ( )

( p v f p f v

f + α = + α (coi punti)

Object Space

(analogo in 2D)

• spazio oggetto

1

spazio oggetto (“spazio macchina”) origineoooodello

spazio oggetto

x y

-1 2 3 -2

-3

assixxxxe yyyydello spazio oggetto

1 2 3

-1

-2

-3

(3)

3

Object Coordinates

(analogo in 2D)

• coordinate oggetto

1.5

2.3 p = (1.5 1.5 1.5 1.5, 2.3 2.3 2.3) 2.3

spazio oggetto (“spazio macchina”)

coordinate dipppp in spazio oggetto

x y

glBegin(GL_TRIANGLES);

glVertex2d( 1.5 , 2.3 );

. . .

Object Coordinates

(analogo in 2D)

• coordinate mondo

1.5 2.3

p = (1.5, 2.3)

spazio oggetto (“spazio macchina”)

coordinate dipppp in spazio oggetto

x y

x y

spazio mondo

= (12.5, 8.1) 8.1

12.5

coordinate dipppp in spazio mondo

1 1

Object Coordinates

(analogo in 2D)

• coordinate mondo

p = (1.5, 2.3)

spazio oggetto:

(“spazio macchina AAAA”)

coordinate in spazio oggetto

x y

= (9.7, 4.2)

7.4

22.5

spazio oggetto:

(“spazio macchina BBBB”) coordinate in spazio mondo p = (1.5, 2.3)

= (22.5, 7.4)

9.7 1

1 4.2

spazio mondo

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Trasformazioni Affini

• Sono lineari e dunque preservano:

– la colinearità

• tutti i punti

inizialmente su una linea giacciono ancora su di una linea dopo la trasformazione

e anche – i rapporti tra le distanze

• il punto di mezzo di un segmento rimane il punto di mezzo di un segmento anche dopo la trasformazione.

in generale non in generale non in generale non in generale non

preservano:

preservano:

preservano:

preservano:

distanze, angoli, aree se lo fanno, le

chiamiamo

“trasf. Rigide”

“isometrie” o

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Trasformazioni Affini

• Si possono esprimere come moltiplicazione con matrice

sempre

 

 

 

 

 

 

 

 

=

 

 

 

 

1 1 0 0 0 1

3 2 1

34 33 32 31

24 23 22 21

14 13 12 11

3 2 1

γ γ γ α α α α

α α α α

α α α α γ γ γ f

coordinate omogenee punto di partenza

 

 

 

 

= 1

3 2 1

δ δ δ

coordinate omogenee punto di arrivo

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

conta solo questo

Trasformazioni Affini

• Caso vettori

sempre

 

 

 

 

 

 

 

 

=

 

 

 

 

1 1 0 0 0 1

3 2 1

34 33 32 31

24 23 22 21

14 13 12 11

3 2 1

γ γ γ α α α α

α α α α

α α α α γ γ γ f

coordinate omogenee vettore di partenza

 

 

 

 

= 1

3 2 1

δ δ δ

coordinate omogenee vettore di arrivo

0000 0000 ... ... ... ... 0000

Riferimenti

Documenti correlati

Corso di studi:... Corso

[r]

Si calcoli, in due modi, il determinante della matrice dei coefficienti del sistema, si determinino i valori di h per i quali il sistema ha qualche soluzione, e per tali valori lo

Nel piano, due vettori non nulli fra loro ortogonali sono sempre linearmente indipendenti; nello spazio, due vettori non nulli fra loro ortogonali sono sempre linearmente

Ora, un punto che partendo da O si sposta prima nel punto di coordinate v1 , v2 , 0 e poi si sposta di v3 unita’ nella direzione dell’asse z, descrive i due cateti di un

Fissi- amo nello spazio un sistema di riferimento cartesiano ortogonale monometrico con origine nel punto O, ed identifichiamo i vettori di R 3 con vettori applicati

Le coordinate di un vettore b rispetto ad una base ortogonale, cioe’ una base formata da tre vettori u, v, w fra loro ortogonali, sono particolarmente facili da ricavare..

Piu’ in generale, si definiscono un’operazione di addizione fra matrici dello stesso tipo, un’operazione di moltiplicazione di una matrice per uno scalare, e si prova che il prodotto