Coordinate omogenee

Da Wikipedia, l'enciclopedia libera.

In matematica, le coordinate omogenee, introdotte da August Ferdinand Möbius intorno al 1837, sono uno strumento usato per descrivere i punti nella geometria proiettiva. Sono cioè l'analogo delle coordinate cartesiane nella geometria analitica.

Le coordinate omogenee sono ampiamente usate nell'arte digitale per la rappresentazione di oggetti nello spazio e dei loro movimenti.

Definizione[modifica | modifica wikitesto]

Introduzione informale[modifica | modifica wikitesto]

Un insieme di oggetti è rappresentato tramite delle coordinate omogenee, se ciascuna sequenza di numeri

 [x_0,\ldots, x_n]

diversa da  [0,0,\ldots,0] identifica un oggetto, e due sequenze, [x_{0_{1}},\ldots, x_{n_{1}}] e [x_{0_{2}},\ldots, x_{n_{2}}] determinano lo stesso oggetto se e solo se sono una multipla dell'altra, cioè se:

  \exists \ \lambda \in \mathbb{K} | \ [x_{0_{1}},\ldots, x_{n_{1}}] = \lambda [x_{0_{2}},\ldots, x_{n_{2}}] = [\lambda x_{0_{2}},\ldots, \lambda x_{n_{2}}].

Ad esempio,  [1, 2] e  [-2,-4] identificano lo stesso oggetto poiché  [-2,-4] = -2 [1, 2] .

La relazione di proporzionalità qui definita è una relazione di equivalenza: ciò vuol dire che un oggetto determina univocamente una classe di equivalenza di sequenze.

Spazi proiettivi[modifica | modifica wikitesto]

Uno spazio proiettivo associato ad uno spazio vettoriale  V è definito come l'insieme delle rette (cioè dei sottospazi vettoriali di dimensione uno) di  V . Viene indicato con  \mathbb P(V) .

Se lo spazio vettoriale  V è munito di una base finita, ogni vettore di  V è descrivibile tramite le sue coordinate

 (x_1,\ldots, x_n)

Ogni retta di  V è descrivibile come lo span lineare di un vettore non nullo  v . Le coordinate omogenee di questa retta, rispetto alla base scelta, sono la n-upla di punti

 [x_1,\ldots, x_n]

data dalle coordinate di  v , definita a meno di moltiplicazione per scalare. Si intende cioè che

 [x_1,\ldots, x_n] = [\lambda x_1,\ldots, \lambda x_n]

per ogni \lambda diverso da zero. Le coordinate della retta sono quindi ben definite: infatti  v e  v' sono due vettori che generano la stessa retta se e solo se le loro coordinate differiscono per un multiplo scalare.

Come le coordinate di un vettore in uno spazio vettoriale, le coordinate omogenee dipendono fortemente dalla scelta di una base. Nel caso in cui lo spazio  V sia  K^n , è naturale prendere la base canonica: si indica quindi una retta di  P(K^n) come  [x_1,\ldots, x_n] , dove  (x_1,\ldots, x_n) è un qualsiasi vettore non nullo che la genera.

Esempi[modifica | modifica wikitesto]

Dimensione 1[modifica | modifica wikitesto]

Ogni punto della retta proiettiva  P(K^2) è scrivibile come coppia

 [x_0, x_1] \,\!

diversa da  [0,0] . Se  x_1 è diverso da zero, è possibile esprimere lo stesso punto come

 \left[\frac {x_0} {x_1},\frac {x_1}{x_1}\right] = \left[\frac {x_0}{x_1},1\right] .

D'altra parte, se  x_1= 0 l'altro valore  x_0 non può essere nullo, ed è possibile esprimere lo stesso punto come

 \left[\frac{x_0}{x_0},\frac 0{x_0}\right] = [1,0] .

Ne segue che i punti di  P(K^2) sono esattamente

 \{[a,1]\ |\ a\in K \}\cup \{[1,0] \}.

Con questa descrizione, la retta proiettiva è l'unione di due pezzi: tutti i punti del tipo  [a,1] al variare di  a in K , che sono in corrispondenza biunivoca con  K , ed il punto all'infinito  [1,0] .

Dimensione 2[modifica | modifica wikitesto]

Ogni punto del piano proiettivo  P(K^3) è descrivibile come tripletta

 [x_0, x_1, x_2] .

non nulla. Analogamente a quanto visto sopra, i punti di  P(K^3) sono

 \{[x,y,1]\ |\ (x,y)\in K^2 \}\cup \{[x,y,0]\ |\ [x,y]\in P(K^2)\}.

Con questa descrizione, lo spazio proiettivo è unione di due pezzi: il primo è una copia del piano vettoriale  K^2 , l'altro è una copia della retta proiettiva  P(K^2) ; quest'ultima è chiamata retta all'infinito.

Carte affini e punti all'infinito[modifica | modifica wikitesto]

Come evidenziato dagli esempi, la scelta di coordinate proiettive per uno spazio proiettivo permette una descrizione di questo come unione di due spazi, il primo dei punti al finito, il secondo dei punti all'infinito (o impropri), nel modo seguente:

 P(K^n) = \{[x_0,\ldots,x_{n-1},1]\} \cup \{[x_0,\ldots,x_{n-1},0]\}.

I punti al finito sono determinati dal vettore  (x_0,\ldots, x_{n-1}) , che è quindi un elemento dello spazio  K^n . Quelli all'infinito sono invece determinati dal vettore  [x_0,\ldots, x_{n-1}] , solo a meno di moltiplicazione per scalare: sono quindi elementi dello spazio proiettivo di dimensione più piccola  P(K^{n-1}) .

La stessa descrizione è fattibile per ogni  i = 0,\ldots ,n fissato, definendo  E_i come l'insieme dei punti la cui i-esima coordinata è non nulla, e  P_i il suo complementare. Per ogni  i si ottiene quindi

 P(K^n) = E_i \cup P_i

dove  P_i è l'iperpiano proiettivo definito dall'equazione  x_i = 0 , ed  E_i è in naturale corrispondenza biunivoca con  K^{n-1} . Ogni  E_i è detto carta affine.

Sottospazi proiettivi[modifica | modifica wikitesto]

Il sottospazio proiettivo generato da alcuni punti  P_1,\ldots, P_k è il più piccolo sottospazio che li contiene, ed è descrivibile in coordinate proiettive come:

 L(P_1,\ldots,P_k) = \{[a_1x_{1,0}+\ldots+a_kx_{k,0}, \ldots, a_1x_{1,n}+\ldots+a_kx_{k,n}]\ |\ a_1,\ldots,a_k\in K \}.

Questa definizione traduce l'usuale normale definizione di span lineare per i sottospazi vettoriali.

Utilizzo in computer grafica[modifica | modifica wikitesto]

Le coordinate omogenee sono utilizzate frequentemente in computer grafica in quanto permettono di rappresentare tutte le trasformazioni affini tramite operazioni matriciali. Una traslazione in  \mathbb{R}^2:(x,y) \to (x+a,y+b) può essere scritta in questo modo:

\begin{pmatrix}1&0&a\\0&1&b\\0&0&1\end{pmatrix}\begin{pmatrix}x\\y\\1\end{pmatrix}=\begin{pmatrix}x+a\\y+b\\1\end{pmatrix},

dove i vettori colonna sono costituiti dalle coordinate omogenee del punto di partenza e del punto di arrivo, rispettivamente. Anche tutte le trasformazioni lineari come la rotazione e la riflessione possono essere rappresentate, mediante matrici della forma

\begin{pmatrix}a&b&0\\c&d&0\\0&0&1\end{pmatrix}

nelle quali le sottomatrici delle prime due righe e delle prime due colonne esprimono riflessioni, rotazioni o trasformazioni lineari. Inoltre anche le trasformazioni proiettive possono essere rappresentate mediante matrici.

La possibilità di realizzare tutte le trasformazioni mediante la moltiplicazione di matrici, cioè mediante un unico meccanismo facilmente implementabile, semplifica notevolmente le attività computazionali e di ingegnerizzazione del software per la computer grafica. Le coordinate omogenee sono ampiamente utilizzate nelle rappresentazioni di scene 3D e le notazioni matriciali sono impiegate nella maggior parte delle librerie 3D come OpenGL e Direct3D.

Voci correlate[modifica | modifica wikitesto]

matematica Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica