Grafika 2D Przekształcenia geometrczne 2D opracowanie: Jacek Kęsik
Wkład obejmuje podstawowe przekształcenia geometrczne stosowane w grafice komputerowej. Opisane są w nim również współrzędne jednorodne
Podstawowe przekształcenia geometrczne Przesunięcie Skalowanie Obrót Odbicie lustrzane Pochlenie
Obiekt graficzn najczęściej opiswan jest za pomocą zbioru wierzchołków połączonch liniami (prostmi lub zdefiniowanmi krzwmi) obiekt wektorow. Bitmapę można traktować jako prostokątn obiekt wpełnion teksturą zbiorem punktów/wierzchołków o konkretnch położeniach. Transformacja takich obiektów polega na przekształceniu położeń wszstkich jego wierzchołków i ponownm ich połączeniu liniami
Podstawowe transformacje Przesunięcie (translation) t t t,, t > -> przesunięcie w prawo/górę t < -> przesunięcie w lewo/dół t
Podstawowe transformacje Obrót względem środka układu wsp. (rotation) cos cos sin sin,, Uwaga: częste implementacje algortmów cos/sin dla kąta podawanego w radianach
Podstawowe transformacje Ciało sztwne (Rigid bod) Przesunięcie (translation) Obrót względem środka układu wsp. (rotation) Kształt obiektu pozostaje bez zmian
Podstawowe transformacje Zmiana skali (scaling) S S S > -> powiększenie < S < -> pomniejszenie,, Co gd S <?
Podstawowe transformacje Przekształcenia RST Przesunięcie (translation) Obrót względem środka układu wsp. (rotation) Zmiana skali (scaling) Przekształcenia te nie zmieniają wartości kątów w obiekcie
Podstawowe transformacje Pochlenie (shear) Wzdłuż osi X a,, Analogicznie wzdłuż osi Y
Podstawowe transformacje Odbicie (reflection) Wzdłuż osi X Wzdłuż osi Y
Podstawowe transformacje Przekształcenia afiniczne Przesunięcie (translation) Obrót względem środka układu wsp. (rotation) Zmiana skali (scaling) Pochlenie (shear) Odbicie (reflection) Przekształcenia te zachowują równoległość linii w obiekcie
Bardziej złożone przekształcenia polegają na wkonaniu serii przekształceń podstawowch (Ma znaczenie kolejność wkonwania przekształceń podstawowch) Oznacza to wielokrotne obliczenia dla każdego punktu -> kosztowne obliczeniowo Rozwiązaniem jest znalezienie przekształcenia złożonego, nie wmagającego dużej złożoności obliczeniowej najlepiej obliczanego zawsze w ten sam sposób.
Przekształcenie wierzchołka o współrzędnch P(,) polega na znalezieniu jego nowch współrzędnch P'(','). Dla ujednolicenia sposobu obliczania przekształceń wkorzstuje się zapis współrzędnch w postaci wektorowej v Trzecia współrzędna punktu w 2D jest zawsze równa a taki rodzaj współrzędnch jest nazwan współrzędnmi jednorodnmi (homogeneous coordinates)
Współrzędne jednorodne Wprowadził je August Ferdnand Möbius w 827r. W 946r. E. Mawell wkorzstał je do rozwiązwania problemów rzutowania W 965r. L. Roberts wkorzstał współrzędne jednorodne do ujednolicenia zapisu transformacji afinicznch Podstawowa cecha wsp. jednorodnch to zapis n-wmiarowej przestrzeni za pomocą n+ współrzędnch (3 współrzędne dla 2D) W przpadku przestrzeni 2D jest ona traktowana jako obszar przestrzeni 3D leżąc na płaszczźnie Z=. Stąd dodatkowa współrzędna jest zawsze równa. -> może bć konieczna normalizacja po przekształceniach
Współrzędne jednorodne Podstawowa zaleta: Możliwość łączenia w jednej macierz różnch przekształceń np. obrót + przesunięcie t o o t o o t t o o o o T O ˆ t o o t o o t o o t o o H Jedno mnożenie macierzowe, łatwe do zaimplementowania sprzętowo Przekształcenia geometrczne 2D
Współrzędne jednorodne Dowolna transformacja pojednczego punktu sprowadza się do przemnożenia reprezentującego go wektora przez odpowiednią macierz przekształcenia P' HP P' ' ' P
Współrzędne jednorodne Macierze transformacji przesunięcie przesunięcie w kierunku osi X przesunięcie w kierunku osi Y H Przekształcenia geometrczne 2D
Współrzędne jednorodne Macierze transformacji przesunięcie
Współrzędne jednorodne Macierze transformacji - obrót H cos sin sin cos - kąt obrotu względem środka układu współrzędnch
Współrzędne jednorodne Macierze transformacji - obrót - kąt obrotu względem środka układu współrzędnch
Współrzędne jednorodne Macierze transformacji - obrót - kąt obrotu względem środka układu współrzędnch
Współrzędne jednorodne Macierze transformacji - skalowanie H S S S skalowanie wzdłuż osi X S skalowanie wzdłuż osi Y S =S -> skalowanie względem środka układu współrzędnch
Współrzędne jednorodne Macierze transformacji - skalowanie S =,5 S = Jeśli środek obiektu nie leż na osi Y, nastąpi jego przesunięcie
Współrzędne jednorodne Macierze transformacji - skalowanie S =,5 S = Jeśli środek obiektu nie leż na osi Y, nastąpi jego przesunięcie
Współrzędne jednorodne Macierze transformacji - skalowanie S =S Jeśli środek obiektu nie znajduje się w środku układu wsp. nastąpi jego przesunięcie
Współrzędne jednorodne Macierze transformacji - skalowanie S =S Jeśli środek obiektu nie znajduje się w środku układu wsp. nastąpi jego przesunięcie
Współrzędne jednorodne Macierze transformacji pochlenie a H W kierunku osi X W kierunku osi Y a H Przekształcenia geometrczne 2D
Współrzędne jednorodne Macierze transformacji pochlenie W kierunku osi X H a
Współrzędne jednorodne Macierze transformacji pochlenie W kierunku osi X H a
Współrzędne jednorodne Macierze transformacji pochlenie W kierunku osi X H a
Współrzędne jednorodne Macierze transformacji odbicie lustrzane H Względem osi X Względem osi Y H Przekształcenia geometrczne 2D
Współrzędne jednorodne Macierze transformacji odbicie lustrzane Względem osi Y Środek obiektu nie leż na osi Y
Współrzędne jednorodne Macierze transformacji odbicie lustrzane Względem osi Y Środek obiektu leż na osi Y
Transformacja względem środka obiektu Skąd środek P s ma 2 min, ma 2 min Z reguł maksimum w wierzchołku Problem gd wierzchołki utworzone krzwmi bardziej złożone wznaczanie
Transformacja względem środka obiektu Złożenie transformacji: przesunięcie obiektu tak ab jego środek znalazł się w punkcie (,)
Transformacja względem środka obiektu Złożenie transformacji: przesunięcie obiektu tak ab jego środek znalazł się w punkcie (,) wkonanie właściwego przekształcenia
Transformacja względem środka obiektu Złożenie transformacji: przesunięcie obiektu tak ab jego środek znalazł się w punkcie (,) wkonanie właściwego przekształcenia przesunięcie powrotne (o wektor odwrotn)
Transformacja względem środka obiektu Złożenie transformacji: We współrzędnch jednorodnch przekształcenie odpowiadające złożeniu transformacji można wznaczć mnożąc macierze poszczególnch transformacji zgodnie z kolejnością ich wkonania. Dowolna transformacja T względem środka obiektu może bć zapisana za pomocą mnożenia 3 macierz (gdzie punkt ( s, s ) jest środkiem obiektu) s s s s T H
Problem: Sztwne ułożenie pikseli w obrazie, z reguł zachowanie tej samej rozdzielczości w obrazie wnikowm Przekształcenia geometrczne 2D Transformacja obrazu rastrowego Bitmapa jest zbiorem punktów na płaszczźnie. Można stosować do niej powższe przekształcenia. Podejście naiwne Dla każdego punktu(piksela) bitmap wkonanie przekształcenia tego punktu znalezienie położenia tego punktu na nowm obrazie przepisanie barw punktu do nowego położenia
Transformacja obrazu rastrowego Problem: zachowanie tej samej (skończonej) rozdzielczości w obrazie wnikowm Efekt: Możliwość powstawania dziur w obrazie wnikowm ilość pikseli w obrazie źródłowm i wnikowm może bć różna a ilość przekształceń = ilość pikseli obrazu źródłowego
Transformacja obrazu rastrowego Rozwiązanie: Wkonwanie przekształcenia odwrotnego, pikseli docelowch w piksele źródłowe. Piksel docelow przjmuje wartość piksela źródłowego, w któr trafił po przekształceniu. Konieczność określenia zbioru pikseli docelowch, dla którch obliczane będzie przekształcenie odwrotne
Transformacja obrazu rastrowego Konieczność określenia zbioru pikseli docelowch, dla którch obliczane będzie przekształcenie odwrotne Możliwe rozwiązanie: Potraktowanie bitmap jako prostokąta o określonch wierzchołkach Postępowanie: Wkonanie transformacji tego prostokąta Nałożenie prostokąta na piksele docelowe Wznaczenie zbioru pikseli docelowch obejmowanch przez prostokąt Co w przpadku obiektu rastrowego o innch kształtach? (przezroczstość)
Transformacja obrazu rastrowego Problem: Sztwne ułożenie pikseli w obrazie Efekt: Obliczone z przekształcenia położenie punktu może nie trafiać w piksel orginalnego obrazu Rozwiązanie: Interpolacja
Transformacja obrazu rastrowego Interpolacja Najprostszą interpolacją jest najbliższ sąsiad czli przpisanie pikselowi koloru najbliższego piksela źródłowego Prz powiększaniu powoduje efekt tzw pikseloz
Transformacja obrazu rastrowego Interpolacja Bardziej zaawansowana interpolacja Interpolacja dwuliniowa (biliniowa) Kolor piksela zależ od kolorów jego 4 sąsiadów Przebiega 2 etapami Etap
Transformacja obrazu rastrowego Interpolacja Bardziej zaawansowana interpolacja Interpolacja dwuliniowa (biliniowa) Kolor piksela zależ od kolorów jego 4 sąsiadów Przebiega 2 etapami Etap 2
Transformacja obrazu rastrowego Interpolacja Bardziej zaawansowana interpolacja Interpolacja dwuliniowa (biliniowa) Kolor piksela zależ od kolorów jego 4 sąsiadów Przebiega 2 etapami
Lena (Lenna) Transformacja obrazu rastrowego Najbardziej rozpowszechnion i znan standardow obrazek testow Wkorzstan po raz pierwsz w 973r. Od tej por pojawiając się w setkach publikacji dotczącch przetwarzania obrazu Przedstawia modelkę Lenę Söderberg i pochodzi z rozkładówki listopadowego wdania Plaboa 72 (Miss November) Plabo zrezgnował z dochodzenia praw autorskich