Jednorodne współrzędne - Homogeneous coordinates

Krzywa Rational Béziera – krzywa wielomianowa określona we współrzędnych jednorodnych (kolor niebieski) i jej rzut na płaszczyznę – krzywa wymierna (kolor czerwony)

W matematyce , współrzędnych jednorodnych lub rzutowych współrzędnych wprowadzonych przez Augusta Ferdynanda Möbiusa w 1827 jego pracy Der barycentrische CALCUL , to układ współrzędnych stosowanych w geometrii rzutowej , jako współrzędne kartezjańskie są stosowane w geometrii euklidesowej . Mają tę zaletę, że współrzędne punktów, w tym punktów w nieskończoności, można przedstawić za pomocą skończonych współrzędnych. Formuły zawierające współrzędne jednorodne są często prostsze i bardziej symetryczne niż ich odpowiedniki kartezjańskie. Współrzędne jednorodne mają szereg zastosowań, w tym w grafice komputerowej i komputerowej wizji 3D , gdzie umożliwiają łatwe reprezentowanie przekształceń afinicznych i, ogólnie, przekształceń rzutowych za pomocą macierzy.

Jeśli jednorodne współrzędne punktu są pomnożone przez niezerowy skalar, to współrzędne wynikowe reprezentują ten sam punkt. Ponieważ jednorodne współrzędne są również podane do punktów w nieskończoności , liczba współrzędnych wymaganych do umożliwienia tego rozszerzenia jest o jeden większa niż wymiar rozważanej przestrzeni rzutowej . Na przykład do określenia punktu na linii rzutowej wymagane są dwie współrzędne jednorodne, a do określenia punktu na płaszczyźnie rzutowej wymagane są trzy współrzędne jednorodne.

Wstęp

Płaszczyzna rzutowa rzeczywista może być traktowane jako euklidesowej płaszczyzny z dodatkowych punktów dodanych, które nazywane są punkty w nieskończoności i są uznawane leżą na nowej linii, linia w nieskończoność . Istnieje punkt w nieskończoności odpowiadający każdemu kierunkowi (numerycznie podany przez nachylenie prostej), nieformalnie zdefiniowany jako granica punktu, który porusza się w tym kierunku od początku. Mówi się, że równoległe linie na płaszczyźnie euklidesowej przecinają się w punkcie w nieskończoności odpowiadającym ich wspólnemu kierunkowi. Dany punkt ( x , y ) na płaszczyźnie euklidesowej, dla dowolnej niezerowej liczby rzeczywistej Z , trójka ( xZ , yZ , Z ) nazywana jest zbiorem jednorodnych współrzędnych punktu. Zgodnie z tą definicją pomnożenie trzech jednorodnych współrzędnych przez wspólny, niezerowy czynnik daje nowy zestaw jednorodnych współrzędnych dla tego samego punktu. W szczególności ( x , y , 1) jest takim układem jednorodnych współrzędnych punktu ( x , y ) . Na przykład punkt kartezjański (1, 2) można przedstawić we współrzędnych jednorodnych jako (1, 2, 1) lub (2, 4, 2) . Oryginalne współrzędne kartezjańskie uzyskuje się dzieląc dwie pierwsze pozycje przez trzecią. Zatem w przeciwieństwie do współrzędnych kartezjańskich, pojedynczy punkt może być reprezentowany przez nieskończenie wiele współrzędnych jednorodnych.

Równanie prostej przechodzącej przez początek (0, 0) można zapisać nx + my = 0, gdzie n i m nie są oba równe 0. W postaci parametrycznej można to zapisać x = mt , y = − nt . Niech Z = 1/ t , więc można zapisać współrzędne punktu na prostej ( m / Z , − n / Z ) . We współrzędnych jednorodnych staje się to ( m , − n , Z ) . W granicy, gdy t zbliża się do nieskończoności, innymi słowy, gdy punkt oddala się od początku, Z zbliża się do 0 i jednorodne współrzędne punktu stają się ( m , − n , 0) . Zatem definiujemy ( m , − n , 0) jako jednorodne współrzędne punktu w nieskończoności odpowiadające kierunkowi prostej nx + my = 0 . Ponieważ każda linia płaszczyzny euklidesowej jest równoległa do linii przechodzącej przez początek, a ponieważ linie równoległe mają ten sam punkt w nieskończoności, nieskończonemu punktowi na każdej linii płaszczyzny euklidesowej nadano jednorodne współrzędne.

Podsumowując:

  • Każdy punkt na płaszczyźnie rzutowej jest reprezentowany przez trójkę ( X , Y , Z ) , zwaną współrzędnymi jednorodnymi lub współrzędnymi rzutowymi punktu, gdzie X , Y i Z nie są wszystkie równe 0.
  • Punkt reprezentowany przez dany zbiór jednorodnych współrzędnych pozostaje niezmieniony, jeśli współrzędne są pomnożone przez wspólny czynnik.
  • Odwrotnie, dwa zestawy jednorodnych współrzędnych reprezentują ten sam punkt wtedy i tylko wtedy, gdy jeden z nich uzyskuje się przez pomnożenie wszystkich współrzędnych przez tę samą niezerową stałą.
  • Gdy Z nie jest równe 0, reprezentowanym punktem jest punkt ( X/Z , Y/Z ) na płaszczyźnie euklidesowej.
  • Gdy Z wynosi 0, reprezentowany punkt jest punktem w nieskończoności.

Trójka (0, 0, 0) jest pominięta i nie reprezentuje żadnego punktu. Pochodzenia euklidesowa płaszczyźnie reprezentowane przez (0, 0, 1) .

Notacja

Niektórzy autorzy stosują różne notacje dla współrzędnych jednorodnych, które pomagają odróżnić je od współrzędnych kartezjańskich. Użycie dwukropków zamiast przecinków, na przykład ( x : y : z ) zamiast ( x , y , z ) podkreśla, że ​​współrzędne należy traktować jako proporcje. Nawiasy kwadratowe, jak w [ x , y , z ] podkreślają, że wiele zestawów współrzędnych jest powiązanych z jednym punktem. Niektórzy autorzy używają kombinacji dwukropków i nawiasów kwadratowych, jak w [ x : y : z ].

Inne wymiary

Dyskusja w poprzedniej sekcji dotyczy analogicznie przestrzeni rzutowych innych niż płaszczyzna. Zatem punkty na linii rzutowej mogą być reprezentowane przez pary współrzędnych ( x , y ) , a nie oba zero. W tym przypadku punktem w nieskończoności jest (1, 0) . Podobnie punkty w rzutowej n -przestrzeni są reprezentowane przez ( n  + 1)-krotki.

Inne przestrzenie rzutowe

Użycie liczb rzeczywistych daje jednorodne współrzędne punktów w klasycznym przypadku rzeczywistych przestrzeni rzutowych, jednak można użyć dowolnego pola , w szczególności liczb zespolonych można użyć do zespolonej przestrzeni rzutowej . Na przykład złożona linia rzutowa wykorzystuje dwie jednorodne złożone współrzędne i jest znana jako sfera Riemanna . Można użyć innych pól, w tym pól skończonych .

Jednorodne współrzędne przestrzeni rzutowych mogą być również tworzone za pomocą elementów z pierścienia podziału (pole skośne). Jednak w tym przypadku należy wziąć pod uwagę fakt, że mnożenie może nie być przemienne .

W ogólnym pierścienia A , A rzutowa na linii A może być określona z jednorodnych czynników działających na lewo i rzutowej grupę liniową działającą w prawo.

Alternatywna definicja

Inną definicję rzeczywistej płaszczyzny rzutowej można podać w kategoriach klas równoważności . Dla niezerowych elementów R 3 , zdefiniuj ( x 1 , y 1 , z 1 ) ~ ( x 2 , y 2 , z 2 ) aby oznaczać, że istnieje niezerowe λ tak, że ( x 1 , y 1 , z 1 ) = ( λx 2 , λy 2 , λz 2 ) . Wtedy ~ jest relacją równoważności, a płaszczyznę rzutową można zdefiniować jako klasy równoważności R 3 ∖ {0}. Jeżeli ( x , y , z ) jest jednym z elementów klasy równoważności p , to uważa się je za jednorodne współrzędne p .

Proste w tej przestrzeni definiujemy jako zbiory rozwiązań równań postaci ax + przez + cz = 0, gdzie nie wszystkie z a , b i c są równe zeru. Spełnienie warunku ax + by + cz = 0 zależy tylko od klasy równoważności ( x , y , z ), więc równanie definiuje zbiór punktów na płaszczyźnie rzutowej. Odwzorowanie ( x , y ) → ( x , y , 1) definiuje włączenie z płaszczyzny euklidesowej do płaszczyzny rzutowej, a dopełnieniem obrazu jest zbiór punktów o z = 0 . Równanie z = 0 jest równaniem prostej w płaszczyźnie rzutowej ( patrz definicja linii w płaszczyźnie rzutowej ) i nazywa się linią w nieskończoności .

Klasy równoważności, p , to linie przechodzące przez początek z usuniętym początkiem. Początek nie odgrywa tak naprawdę istotnej roli w poprzedniej dyskusji, więc można go dodać z powrotem bez zmiany właściwości płaszczyzny rzutowej. Daje to odmianę definicji, a mianowicie płaszczyzna rzutowa jest zdefiniowana jako zbiór linii w R 3, które przechodzą przez początek i współrzędne niezerowego elementu ( x , y , z ) linii są przyjmowane jako jednorodne współrzędne linii. Te linie są teraz interpretowane jako punkty na płaszczyźnie rzutowej.

Ponownie, ta dyskusja odnosi się analogicznie do innych wymiarów. Tak więc przestrzeń rzutową wymiaru n można zdefiniować jako zbiór linii przechodzących przez początek w R n +1 .

Jednorodność

Jednorodne współrzędne nie są jednoznacznie określone przez punkt, więc funkcja zdefiniowana na współrzędnych, powiedzmy f ( x , y , z ) , nie określa funkcji zdefiniowanej na punktach, tak jak w przypadku współrzędnych kartezjańskich. Ale warunek f ( x , y , z ) = 0 zdefiniowany na współrzędnych, który może być użyty do opisu krzywej, określa warunek na punktach, jeśli funkcja jest jednorodna . Załóżmy konkretnie, że istnieje k takie, że

Jeśli zbiór współrzędnych reprezentuje ten sam punkt co ( x , y , z ), to można go zapisać x , λ y , λ z ) dla pewnej niezerowej wartości λ. Następnie

Wielomian g ( x , y ) o stopniu k można włączyć do jednorodnej wielomianu zastępując x z x / Z , r z y / Z i mnożąc przez oo k , to znaczy, określając

Wynikowa funkcja f jest wielomianem, więc sensowne jest rozszerzenie jej dziedziny do trójek, gdzie z = 0 . Proces można odwrócić, ustawiając z = 1 , lub

Równanie f ( x , y , z ) = 0 można zatem traktować jako jednorodną formę g ( x , y ) = 0 i definiuje tę samą krzywą, gdy jest ograniczone do płaszczyzny euklidesowej. Na przykład jednorodna postać równania linii ax + przez + c = 0 to ax + przez + cz = 0.

Współrzędne linii i dualność

Równanie prostej w płaszczyźnie rzutowej może być podane jako sx + ty + uz = 0 gdzie s , t i u są stałymi. Każda trójka ( s , t , u ) wyznacza linię, wyznaczona linia pozostaje niezmieniona, jeśli jest pomnożona przez niezerowy skalar, a przynajmniej jeden z s , t i u musi być niezerowy. Tak więc trójkę ( s , t , u ) można przyjąć za jednorodne współrzędne prostej w płaszczyźnie rzutowej, czyli współrzędne linii w przeciwieństwie do współrzędnych punktu. Jeśli w sx  +  ty  +  uz  = 0 litery s , t i u są traktowane jako zmienne , a x , y i z są traktowane jako stałe to równanie staje się równaniem zbioru linii w przestrzeni wszystkich linii w płaszczyźnie . Geometrycznie reprezentuje zbiór linii przechodzących przez punkt ( x , y , z ) i może być interpretowany jako równanie punktu we współrzędnych linii. W ten sam sposób płaszczyznom w przestrzeni 3-przestrzennej można nadać zestawy czterech jednorodnych współrzędnych, i tak dalej dla wyższych wymiarów.

Ta sama relacja, sx + ty + uz = 0 , może być traktowana jako równanie prostej lub równanie punktu. Ogólnie rzecz biorąc, nie ma różnicy ani algebraicznie ani logicznie między jednorodnymi współrzędnymi punktów i prostych. Tak więc geometria płaska z punktami jako elementami podstawowymi i geometria płaska z liniami jako elementami podstawowymi są równoważne z wyjątkiem interpretacji. Prowadzi to do koncepcji dualności w geometrii rzutowej, zasady, że role punktów i linii mogą być zamienione w twierdzeniu w geometrii rzutowej, a wynikiem będzie również twierdzenie. Analogicznie teoria punktów w rzutowej 3-przestrzeni jest podwójna do teorii płaszczyzn w rzutowej 3-przestrzeni i tak dalej dla wyższych wymiarów.

Współrzędne Plückera

Przypisywanie współrzędnych liniom w rzutowej 3-przestrzeni jest bardziej skomplikowane, ponieważ wydawałoby się, że potrzeba łącznie 8 współrzędnych, albo współrzędnych dwóch punktów leżących na prostej, albo dwóch płaszczyzn, których przecięciem jest prosta. Użyteczną metodą, dzięki Juliusowi Plückerowi , jest utworzenie zbioru sześciu współrzędnych jako wyznaczników x i y jx j y i (1 ≤ i < j ≤ 4) z jednorodnych współrzędnych dwóch punktów ( x 1 , x 2 , x 3 , x 4 ) i ( y 1 , y 2 , y 3 , y 4 ) na linii. Plucker osadzanie jest uogólnieniem to tworzenia jednorodnych współrzędnych elementów każdego wymiaru m w przestrzeni rzutowej wymiaru n .

Zastosowanie do twierdzenia Bézouta

Twierdzenie Bézouta przewiduje, że liczba punktów przecięcia dwóch krzywych jest równa iloczynowi ich stopni (przy założeniu ciała algebraicznie domkniętego iz pewnymi konwencjami stosowanymi do liczenia krotności przecięcia). Twierdzenie Bézouta przewiduje, że istnieje jeden punkt przecięcia dwóch linii i generalnie jest to prawdą, ale gdy linie są równoległe, punkt przecięcia jest nieskończony. W tym przypadku do lokalizacji punktu przecięcia wykorzystywane są współrzędne jednorodne. Podobnie twierdzenie Bézouta przewiduje, że prosta przetnie stożkową w dwóch punktach, ale w niektórych przypadkach jeden lub oba punkty są nieskończone i do ich zlokalizowania muszą być użyte współrzędne jednorodne. Na przykład y = x 2 i x = 0 mają tylko jeden punkt przecięcia w skończonej (afinicznej) płaszczyźnie. Aby znaleźć drugi punkt przecięcia, przekształć równania do postaci jednorodnej, yz = x 2 i x = 0 . Daje to x = yz = 0 i zakładając, że nie wszystkie z x , y i z wynoszą 0, rozwiązania to x = y = 0, z ≠ 0 i x = z = 0, y ≠ 0 . Pierwszym rozwiązaniem jest punkt (0, 0) we współrzędnych kartezjańskich, skończony punkt przecięcia. Drugie rozwiązanie daje jednorodne współrzędne (0, 1, 0), które odpowiadają kierunkowi osi y . Dla równań xy = 1 i x = 0 nie ma skończonych punktów przecięcia. Przekształcenie równań do postaci jednorodnej daje xy = z 2 i x = 0 . Rozwiązanie daje równanie z 2 = 0 , które ma podwójny pierwiastek w z = 0 . Z pierwotnego równania x = 0 , więc y ≠ 0, ponieważ co najmniej jedna współrzędna musi być niezerowa. Zatem (0, 1, 0) jest punktem przecięcia liczonym z krotnością 2 zgodnie z twierdzeniem.

Okrągłe punkty

Jednorodna postać równania okręgu na rzeczywistej lub złożonej płaszczyźnie rzutowej to x 2 + y 2 + 2 axz + 2 byz + c z 2 = 0 . Przecięcie tej krzywej z linią w nieskończoności można znaleźć ustawiając z = 0 . Daje to równanie x 2 + y 2 = 0, które ma dwa rozwiązania na liczbach zespolonych, dające punkty o jednorodnych współrzędnych (1, i , 0) i (1, − i , 0) na zespolonej płaszczyźnie rzutowej. Punkty te nazywane są punktami kołowymi w nieskończoności i mogą być uważane za wspólne punkty przecięcia wszystkich okręgów. Można to uogólnić na krzywe wyższego rzędu jako kołowe krzywe algebraiczne .

Zmiana układów współrzędnych

Tak jak wybór osi w kartezjańskim układzie współrzędnych jest nieco arbitralny, tak wybór pojedynczego układu współrzędnych jednorodnych spośród wszystkich możliwych układów jest nieco arbitralny. Dlatego warto wiedzieć, w jaki sposób różne systemy są ze sobą powiązane.

Niech ( x , y , z ) będą jednorodnymi współrzędnymi punktu na płaszczyźnie rzutowej. Stała macierz

z wyznacznikiem niezerowym definiuje nowy układ współrzędnych ( X , Y , Z ) równaniem

Mnożenie ( x , y , z ) przez skalar powoduje pomnożenie ( X , Y , Z ) przez ten sam skalar, a X , Y i Z nie mogą być same 0, chyba że x , y i z są zerami, ponieważ A jest nieosobliwa. Tak więc ( X , Y , Z ) są nowym układem jednorodnych współrzędnych dla tego samego punktu płaszczyzny rzutowej.

Współrzędne barycentryczne

Pierwotne sformułowanie Möbiusa jednorodnych współrzędnych określało położenie punktu jako środka masy (lub barycentrum) układu trzech mas punktowych umieszczonych na wierzchołkach nieruchomego trójkąta. Punkty w trójkącie są reprezentowane przez masy dodatnie, a punkty poza trójkątem są reprezentowane przez dopuszczanie mas ujemnych. Mnożenie mas w układzie przez skalar nie wpływa na środek masy, więc jest to szczególny przypadek układu jednorodnych współrzędnych.

Współrzędne trójliniowe

Niech l , m , n będą trzema prostymi na płaszczyźnie i zdefiniują zbiór współrzędnych X , Y i Z punktu p jako odległości ze znakiem od p do tych trzech prostych. Są to tak zwane trójliniowe współrzędne z p w stosunku do trójkąta, którego wierzchołkami są punkty przecięcia parami linii. Ściśle mówiąc, nie są one jednorodne, ponieważ wartości X , Y i Z są określone dokładnie, a nie tylko do proporcjonalności. Istnieje jednak liniowa zależność między nimi, więc współrzędne te można uczynić jednorodnymi, umożliwiając wielokrotności ( X , Y , Z ) reprezentujące ten sam punkt. Bardziej ogólnie, X , Y i Z można zdefiniować jako stałe p , r i q razy odległości do l , m i n , co daje inny układ jednorodnych współrzędnych z tym samym trójkątem odniesienia. W rzeczywistości jest to najbardziej ogólny typ układu współrzędnych jednorodnych dla punktów na płaszczyźnie, jeśli żadna z linii nie jest linią w nieskończoności.

Zastosowanie w grafice komputerowej i wizji komputerowej

Współrzędne jednorodne są wszechobecne w grafice komputerowej, ponieważ umożliwiają wykonywanie typowych operacji wektorowych, takich jak translacja , obrót , skalowanie i rzutowanie perspektywiczne, jako macierz, przez którą wektor jest mnożony. Zgodnie z zasadą łańcucha dowolna sekwencja takich operacji może zostać pomnożona w jedną macierz, co pozwala na proste i wydajne przetwarzanie. W przeciwieństwie do tego, używając współrzędnych kartezjańskich, translacje i rzutowanie perspektywiczne nie mogą być wyrażone jako mnożenia macierzy, chociaż inne operacje mogą. Nowoczesne karty graficzne OpenGL i Direct3D wykorzystują jednorodne współrzędne do efektywnej implementacji Vertex Shader przy użyciu procesorów wektorowych z rejestrami 4-elementowymi.

Na przykład w rzucie perspektywicznym położenie w przestrzeni jest skojarzone z linią biegnącą od niej do stałego punktu zwanego środkiem rzutowania . Punkt jest następnie mapowany na płaszczyznę, znajdując punkt przecięcia tej płaszczyzny i linii. Daje to dokładną reprezentację tego, jak trójwymiarowy obiekt wygląda dla oka. W najprostszej sytuacji środek rzutowania jest początkiem, a punkty odwzorowywane są na płaszczyznę z = 1 , pracującą chwilowo we współrzędnych kartezjańskich. Dla danego punktu w przestrzeni ( x , y , z ) , punkt przecięcia prostej i płaszczyzny to ( x / z , y / z , 1 ) . Upuszczając niepotrzebną współrzędną z , otrzymujemy ( x / z , y / z ) . We współrzędnych jednorodnych punkt ( x , y , z ) jest reprezentowany przez ( xw , yw , zw , w ), a punkt, na który odwzorowuje na płaszczyźnie jest reprezentowany przez ( xw , yw , zw ) , więc rzutowanie można przedstawić w postaci macierzowej jako

Macierze reprezentujące inne przekształcenia geometryczne można łączyć z tym i ze sobą poprzez mnożenie macierzy. W rezultacie dowolny rzut perspektywiczny przestrzeni może być reprezentowany jako pojedyncza macierz.

Uwagi

Bibliografia

Dalsza lektura

Zewnętrzne linki

  • Jules Bloomenthal i Jon Rokne, współrzędne jednorodne [1]
  • Ching-Kuang Shene, współrzędne jednorodne [2]
  • Wolfram MathWorld