trasformazioni spaziali 1/2

trasformazioni spaziali 1/2

RIPASSO PRODOTTO TRA MATRICI
  • MOLTIPLICAZIONE TRA MATRICI: data una posizione a_r,c di una matrice prodotto tra le martricei A e B, il valore associato è pari alla combinazione lineare tra la riga in posizione r della prima matrice a la colonna in posizione c della seconda matrice
    • diensione della matrice prodotto: r_totA x C_totB

Vediamo un pool di trasformazioni, perchè correlate ala prima fase della rasterizzazione
 
DEFINIZIONE DI TRASFORMAZIONE SPAZIALE
notion image
  • un modello 3d si compone di punti e vettori come elementi di base (questi possono poi essere voxel, nuvole…) ognuno di essi ha delle coordinate, uno ad uno entrano nella funzione per trasformare l’oggetto nello spazio
VETTORI
TRASLAZIONE (Somma)
  • trasla solo i punti non i vettori, quelli rimangon invariati
notion image
notion image
SCALATURA (prodotto)
  • scalatura isotropica = mantiene le proporzioni del modello di partenza
  • sia punti sia vettori sono scalati, tranne il punto d’origine
    • ogni oggetto ha la sua origine
notion image
notion image
  • scalatura anisotropica
  • anisotropica quando i fattori si scalatura non sono identici: deforma l’oggetto pk le proporzioni non sono mantenute
    • notion image
rotazione (sull’origine) di 90° attorno all’asse z
  • la cui coordinata rimane quindi invariata per ogni punto dell’oggetto
  • punto di origine invariata
  • sento antiorario
    • notion image
  • senso orario
    • notion image
  • osservazioni 2d, 3d
    • scambi x e y tra loto e metti il meno ad uno dei 2
    • spazio 2D → rotazione attorno all’origine
    • spazio 3D → rotazione attorno all’asse Z

coordinate omogenee (o affini)
ATTENTO ALLA TEMINOLOGIA
  • COORDINATE AFFINI = coordinate cartesiane + coordinata booleana per indicare se è punto (1) o vettore (0)
    • notion image
  • TRASFORMAZIONI AFFINI = matrici 4x4 (pk le prime 3 colonne e righe lavorano sulle coordinate cartesiane, il 4° definisce il vettore booleano
    • notion image

MATRICI p.1
  • le stesse trasformazioni di prima ma in dorma matriciale
MATRICE DI SCALING (fattore di scalatura costante espresso in forma matricizale)
  • memorizza il pattern pk è equivalente al moltiplicare per uno scalare
  • in pratica esprime l e trasformazioni viste precedentemente nella matrice di trasformazione affine (matrice 4x4)
notion image
MATRICE DI ROTAZIONE (memorizzare pattern matrice)
  • molto interessante lo studio mirato di dove inserire -1 all’interno della matrice per avere x = -y e viceversa
    • notion image
MATRICE DI TRASLAZIONE
  • posiziona tk nella matrice, in modo stidiato affinchè i valori della matrice di trasformazione si sommi al vettori si partenza
    • notion image
matrice di simmetria speculare (moltiplico z per -1)
  • x e y sno invariati, eppure l’immagine sembra differente in x e y→ -z = graficamente ho per ogni punto, la rappresentazione
    • alla stessa distanza da O
    • simmetrica a quella precedente (come qs funnzione di cui metto il segno meno (l’immagine nn è differente in x ed y, è riflessa)
  • rotazione di 90° sull’asse z
    • notion image
sommario
notion image
notion image

MATRICI p.2
determinante ha significato geometrico
  • non chiede di sapere come si calcola il determinante
notion image
il determinate
  • influenza il volume
  • causa riflessione speculare (l’asse z è in direzione della normale)
    • notion image
 
proprietà e ottimizzazione
  • proprietà
    • notion image
      notion image
  • scalabilità: unisco tutte le matrici di trasformazione, moltiplicandole tra loro
    • notion image
      notion image
invertire la trasformazione
  • la matrice inversa ad una matrice di trasformazione permette di ritornare alla situazione spaziale precedente
  • COME SI CALCOLA?
    • si calcola diversamente in base al tipo di matrice, ma nn è casuale: in base all’operazione che riproduco nel vettore risultante (prodotto, somma,…) devo solo usare l’operazione inversa
  • scalatura
    • notion image
  • traslazione
    • notion image
  • rotazione
    • notion image
 
quando una matrice 4x4 è affine (struttura)
notion image
  • M → si applica sia a vettori, sia a punti
    • negli esempi visti creava sempre un prodotto nel vettore risultane nella riga corrispondente (pk i valori erano impostati in modo da avvere solo un addento)
  • t → essendo l’ultima colonna si moltiplica con il quarto vettore e si applica solo ai punti
    • pk il vettore ha la coordinata affine a 0
deficit di rango → significato geometrico
non chiede di saper calcolare il rango
  • deficit di rango = rango massimo (4 se matrice 4x4) - rango effettivo
    • notion image
  • Cos'è il rango di una matrice?
    • Il rango di una matrice, in termini geometrici, ci dice quante dimensioni dello spazio vengono “coperte” dalla trasformazione rappresentata dalla matrice.
      Per una matrice 4×4 (usata ad esempio in trasformazioni 3D omogenee → mantengono le prposrzioni del modello 3d), il rango massimo è 4. Ma se il rango è minore, significa che alcune dimensioni sono eliminate.
    • 3 = perdo z → piatto
    • 2: perdo y → linea
    • 1: perdo x → punto
    • notion image