Coordonate omogene

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

În matematică, coordonatele omogene, introduse de August Ferdinand Möbius, permit transformări afine prin reprezentarea lor sub forma unei matrici. Coordonatele omogene permit, de asemenea, efectuarea calculelor în spații proiective într-un mod similar cu cel în care coordonatele carteziene o fac în spaţiul euclidian.

Coordonatele omogene ale unui punct din spatiu proiectiv de dimensiune n sunt de obicei scrise ca (x: y: z: ...: w), un vector linie de lungime n + 1, altele decât (0: 0: 0: .. .: 0). Două seturi de coordonate, care sunt proporționale denotă același punct din spatiul proiectiv: pentru orice non-zero c scalar din domeniu care stă la baza K, (cx : cy : cz : ... : cw) reprezintă același punct. Prin urmare, acest sistem de coordonate poate fi explicat după cum urmează: în cazul în care spațiul proiectiv este construit dintr-un spațiu vectorial V de dimensiune n + 1, se introduc coordonatele în V, prin alegerea unei baze, și utilizarea acestora în P (V), clasele de echivalență proporționale non-zero vectori în V.

Produsul scalar în cazul coordonatelor omogene[modificare | modificare sursă]

Există două feluri de multiplicare scalară: una pentru puncte neproiectate și alta pentru puncte proiectate.

Se consideră un scalar a și un punct 3-D neproiectat (x : y : z). Atunci

 a (x:y:z) = (a x : a y : a z).

Se observă că

 (x:y:z) \equiv a (x:y:z)

deși

 (x:y:z) \ne a (x:y:z).

Fie acum un scalar a și un punct 3-D proiectat [x : y : z]. Atunci

 a [x:y:z] = [a x : a y : z]

astfel încât

 [x:y:z] \ne a [x:y:z].

Se observă totuși un caz special - dacă  a = z = 0 , formula de mai sus dă [0:0:0] ca rezultat, care după cum se știe nu reprezintă niciun punct. Într-adevăr,  0 \cdot \infty e nedefinită, așa că nu este o imperfecțiune în definiție.

Combinații liniare de puncte descrise prin coordonate omogene[modificare | modificare sursă]

Fie o pereche de puncte A and B pe 3-spațiu proiectiv, a căror omogene coordonate sunt

 \mathbf{A} : [X_A:Y_A:Z_A:W_A],
 \mathbf{B} : [X_B:Y_B:Z_B:W_B].

Este de dorit a se găsi linear combination  a \mathbf{A} + b \mathbf{B} where a și b coefficients ajustabili, with the condition that  a,b \ne 0 , or (more exactly) that  a \mathbf{A}, b \mathbf{B} \ne 0 , to avoid degenerate points. There are three cases to consider:

  • both points belong to affine 3-space,
  • both points belong to the plane at infinity,
  • one point is affine and the other one is at infinity.

Utilizarea în grafica computațională[modificare | modificare sursă]

Coordonatele omogene sunt omniprezente în grafica computațională deoarece rezolvă problema reprezentării translației translație și proiecției ca operații matriceale.

Coordonatele omogene permit tuturor transformărilor afine să fie reprezentate prin operații matriceale. O translație in \mathbb{R}^2: (x,y) \rightarrow (x+a,y+b) poate fi reprezentată ca

\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},

unde vectorii coloană sunt coordonatele omogene ale celor două puncte. Toate transformările lineare ca rotație și reflexie prin origine pot fi si ele reprezentate prin matrice de forma

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

Mai mult toate transformările proiective pot fi reprezentate prin alte matrice. Această reprezentare simplifică calculul în grafica computațională deoarece toate transformările necesare pot fi efectuate prin înmulțirea matricelor . Ca rezultat, o serie de transformări afine pot fi combinate simplu prin multiplicarea succesivă a matricelor. Aceasta se realizează în sisteme grafice în timp real ca OpenGL and DirectX care pot folosi plăci video moderne pentru efectuarea de operații cu coordonate omogene .

Vezi si[modificare | modificare sursă]

Coordonate triliniare