Homogene koordinate

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
Racionalna Bézierjeva krivuljakrivulja mnogočlenika definirana v homogenih koordinatah (modro) in njena projekcija na ravnino – racionalna krivulja (rdeče)

Homogéne koordináte (homogeni koordinatni sistem, koordinate označujemo z  (X, Y, Z) \,) v matematiki predstavlja sistem koordinat, ki se uporablja v projektivni geometriji tako, kot se kartezične koordinate uporabljajo v evklidski geometriji. Prednost te vrste koordinatnega sistema je v tem, da lahko točke, vključno s točkami v neskončnosti, prikažemo z uporabo končnih koordinat. Matematični obrazci se z uporabo homogenih koordinat pogosto poenostavijo in postanejo enostavnejši ter bolj simetrični kot so v kartezičnih koordinatah. Homogene koordinate so zelo primerne za predstavitev in transformacijo objektov.

Homogene koordinate je vpeljal nemški matematik in astronom August Ferdinand Möbius (1790 – 1868) leta 1827.[1][2]

Uporaba[uredi | uredi kodo]

Homogene koordinate se uporabljajo na veliko področjih. Med najpomembnejšimi sta računalniška grafika in trirazsežni računalniški vid ter robotika, kjer so omogočene afine in projektivne transformacije (homografija ali projektivnost), ki jih lahko zelo preprosto prikažemo kot matrike. Zaporedoma lahko uporabimo različne transformacije in tako lahko dobimo zelo zapleteno transformacijo. Postopku zaporedne uporabe transformacij rečemo sestavljanje ali veriženje transformacij. Kadar sestavimo dve afini transformaciji v novo transformacijo, dobimo spet afino transformacijo.

Med matrične operacije (imenujemo jih tudi elementarne operacije) te oblike prištevamo premik, vrtenje, skaliranje in perspektivna projekcija. Z uporabo homogenih koordinat lahko afine transformacije dobimo z množenjem matrik.

Kadar homogene koordinate točke množimo z neničelnim skalarjem, nam dobljene koordinate predstavljajo isto točko.

Pri uporabi homogenih koordinat dobimo afine transformacije z množenjem matrik.

V uporabi homogenih koordinat izgleda kot da smo trirazsežne scene projicirali na dvorazsežno ravnino.

Opis[uredi | uredi kodo]

Vsaki točki v evklidski ravnini lahko priredimo par realnih koordinat v obliki  (x, y) \,. Te koordinate imenujemo nehomogene koordinate točke v ravnini. Običajno v ravnini potrebujemo tri koordinate  (x, y, z) \,. Če posamezne koordinate delimo z  z \,, ki ni enak nič, dobimo koordinate v obliki  (x, y, 1) \,. Pri tem pa so homogene koordinate točke  (\frac {x} {z},\frac {y} {z}, 1)  \,, nehomogene pa za isto točko  (\frac {x} {z},\frac {y} {z}) \,. Iz tega vidimo, da je točka s homogenimi koordinatami  (x, y, 0)  \, premica v neskončnosti. V projektivni ravnini imamo točko tudi v neskončnosti. Koordinate te točke bi lahko zapisali kot  (\infty, \text { }\infty) , kar pa je v evklidskem prostoru nesmisel. Homogene koordinate omogočajo predstavitev n-razsežnih koordinat z n + 1 števili. Točka  (1 \text { }, 2) postane tako v homogenih koordinatah  (1, \text { } 2, \text { } 1) . To si lahko predstavljamo kot, da se je točka  (1, \text { } 2) pomaknila v neskončnost in postala točka  (1, \text { } 2, \text { } 0) .

To pomeni, da za točko s koordinatama  (x, \text { } y) \, v evklidskem prostoru dobimo homogene koordinate točke tako, da dodamo tretjo koordinato  (x, \text { } y,\text { } 1) \,. Velja pa tudi za vsak neničelen  \alpha \,

 (X,\text { } Y,\text { } Z\text { }) = (\alpha X,\text { } \alpha Y,\text { } \alpha Z\text { }) \!\, .

Homogenost[uredi | uredi kodo]

Predpostavimo, da za neko funkcijo  (x, \text { } y, \text { }, z) obstaja takšen  k \,, da velja:

f(\lambda x, \lambda y, \lambda z) = \lambda^k f(x,y,z) \!\, .

Če dana skupina koordinat predstavlja isto točko  (x, \text { } y, \text { } z) , potem velja tudi:

 (\lambda x, \text { } \lambda y, \text { } \lambda z) \!\,

za poljuben neničelen  \lambda in je:

 f(x,y,z)=0 \iff f(\lambda x, \lambda y, \lambda z) = \lambda^k f(x,y,z)=0 \!\, .

Poljuben mnogočlenik  g(x, \text { } y) s stopnjo  k \, pretvorimo v homogeni mnogočlenik s tem, da zamenjamo x z x/z in y z y/z in z množenjem z zk oziroma to lahko zapišemo kot:

 f(x, y, z)=z^k g(x/z, y/z) \!\, .

Postopek se lahko obrne s postavitvijo  z = 1 \, ali, kar je isto:

 g(x, y)=f(x, y, 1) \!\, .

Enačbo  f(x, \text { } y, \text { } z) = 0 si lahko zamislimo kot homogeno obliko  g(x, \text { } y,) = 0 . Predstavlja tudi isto krivuljo, če ostanemo v evklidskem prostoru. Zgled: homogena oblika enačbe premice  ax + by + c = 0 je  ax + by + cz = 0 .

Homogene transformacije[uredi | uredi kodo]

Med homogene transformacije (afine transformacije) prištevamo

  • premik (translacija)
  • vrtenje (rotacija)
  • skaliranje (povečevanje ali zmanjševanje)

Afine transformacije lahko prikažemo kot matrike. To pomeni, da zaporedje transformacij lahko predstavimo kot zmnožek matrik. Zgled: premiku sledi vrtenje, temu pa skaliranje.

Sprememba koordinatnih sistemov[uredi | uredi kodo]

Podobno kot v kartezičnem koordinatnem sistemu lahko poljubno izberemo osi, je tudi pri homogenih koordinatah možna izbira med vsemi možnimi sistemi. Dobro je vedeti kako so med seboj povezani različni sistemi.

Naj bodo (x, y, z) homogene koordinate točke na projektivni ravnini in za matriko:

 A=\begin{pmatrix}a&b&c\\d&e&f\\g&h&i\end{pmatrix} \!\, ,

ki ima determinanto različno od nič.

Definiramo lahko novo skupino koordinat (X, Y, Z) z enačbo:

 \begin{pmatrix}X\\Y\\Z\end{pmatrix}=A\begin{pmatrix}x\\y\\z\end{pmatrix} \!\, .

Kordinate (X, Y, Z) so nove homogene koordinate na projektivni ravnini. Kadar je z enak 1, so:

 X=ax+by+c,\,Y=dx+ey+f,\,Z=gx+hy+i \!\,

sorazmerni s predznačeno razdaljo (razdalja pomnožena z 1 ali -1 v odvisnosti od tega na kateri strani premice leži točka) od točke do premic:

 ax+by+c=0,\,dx+ey+f=0,\,gx+hy+i=0 \!\, .

Če je  a = b = 0 , je vrednost  X \, konstanta. Podobno velja tudi za  Y \, in  Z \,.

Tri premice z enačbami :ax+by+cz=0,\,dx+ey+fz=0,\,gx+hy+iz=0 \, v homogenih koordinatah, oziroma:

 X=0,\,Y=0,\,Z=0

v homogenem sistemu tvorijo referenčni trikotnik.

Opombe in sklici[uredi | uredi kodo]

Zunanje povezave[uredi | uredi kodo]