Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej

Podobne dokumenty
Przekształcenia geometryczne w grafice komputerowej. Marek Badura

PODSTAWY RACHUNKU WEKTOROWEGO

i = [ 0] j = [ 1] k = [ 0]

3. Macierze i Układy Równań Liniowych

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Opis krzywych w przestrzeni 3D. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej AGH

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Układy równań i nierówności liniowych

OPISY PRZESTRZENNE I PRZEKSZTAŁCENIA

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 Tel.

Geometria. Hiperbola

3. FUNKCJA LINIOWA. gdzie ; ół,.

Co to jest wektor? Jest to obiekt posiadający: moduł (długość), kierunek wraz ze zwrotem.

Geometria Lista 0 Zadanie 1

Elementy grafiki komputerowej. Elementy geometrii afinicznej

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Definicja i własności wartości bezwzględnej.

Matematyka A kolokwium 26 kwietnia 2017 r., godz. 18:05 20:00. i = = i. +i sin ) = 1024(cos 5π+i sin 5π) =

Wykład 16. P 2 (x 2, y 2 ) P 1 (x 1, y 1 ) OX. Odległość tych punktów wyraża się wzorem: P 1 P 2 = (x 1 x 2 ) 2 + (y 1 y 2 ) 2

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

dr inż. Ryszard Rębowski 1 WPROWADZENIE

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Geometria w R 3. Iloczyn skalarny wektorów

Andrzej Marciniak GRAFIKA KOMPUTEROWA. Wykłady dla studentów kierunku informatyka Państwowej Wyższej Szkoły Zawodowej w Kaliszu

Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne

Zad.3. Jakub Trojgo i Jakub Wieczorek. 14 grudnia 2013

1 Przestrzeń liniowa. α 1 x α k x k = 0

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Wykład 14. Elementy algebry macierzy

Zajmijmy się najpierw pierwszym równaniem. Zapiszmy je w postaci trygonometrycznej, podstawiając z = r(cos ϕ + i sin ϕ).

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Iloczyn wektorowy. Autorzy: Michał Góra

Trójwymiarowa grafika komputerowa rzutowanie

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

Przekształcanie wykresów.

Krystalochemia białek 2016/2017

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA I GIMNAZJUM Małgorzata Janik

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

Podstawy robotyki. Wykład II. Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska

Funkcja liniowa i prosta podsumowanie

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

KMO2D. Kolizje między-obiektowe w 2D

1 Układy równań liniowych

Układy równań liniowych

Macierze. Rozdział Działania na macierzach

Układy równań liniowych

5. Rozwiązywanie układów równań liniowych

1) 2) 3) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 22) 23) 24) 25)

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

Obraz jako funkcja Przekształcenia geometryczne

Definicja obrotu: Definicja elementów obrotu:

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Baza w jądrze i baza obrazu ( )

Obrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco

Algebra WYKŁAD 3 ALGEBRA 1

Elementy geometrii analitycznej w R 3

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

1 Rozwiązywanie układów równań. Wyznaczniki. 2 Wektory kilka faktów użytkowych

GEOMETRIA ANALITYCZNA W PRZESTRZENI

1. Liczby zespolone i

TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA SKIEROWANEGO

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Zadanie. Oczywiście masa sklejonych ciał jest sumą poszczególnych mas. Zasada zachowania pędu: pozwala obliczyć prędkość po zderzeniu

Algebra liniowa z geometrią

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

1 Podstawowe oznaczenia

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ. 1. Ciała

M10. Własności funkcji liniowej

WYMAGANIA NA POSZCZEGÓLNE STOPNIE KLASA I GIMNAZJUM

Podstawy działań na wektorach - dodawanie

FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Notacja Denavita-Hartenberga

z = x + i y := e i ϕ z. cos ϕ sin ϕ = sin ϕ cos ϕ

SZCZEGÓŁOWE WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY Z MATEMATYKI KLASA I 2015/2016

Rozdział 2. Liczby zespolone

GEOMETRIA ANALITYCZNA W PRZESTRZENI

Zakres na egzaminy poprawkowe w r. szk. 2013/14 /nauczyciel M.Tatar/

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

8. TRYGONOMETRIA FUNKCJE TRYGONOMETRYCZNE KĄTA OSTREGO.

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 2. Krzywe stożkowe. 2.1 Elipsa. Krzywe stożkowe są zadane ogólnym równaniem kwadratowym na płaszczyźnie

Liczby zespolone. x + 2 = 0.

Algebra liniowa. Macierze i układy równań liniowych

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY I GIMNAZJUM

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE OCENY W KLASIE I GIMNAZJUM

Załóżmy, że obserwujemy nie jedną lecz dwie cechy, które oznaczymy symbolami X i Y. Wyniki obserwacji obu cech w i-tym obiekcie oznaczymy parą liczb

Metoda eliminacji Gaussa. Autorzy: Michał Góra

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

3. Wykład Układy równań liniowych.

Zapisujemy:. Dla jednoczesnego podania funkcji (sposobu przyporządkowania) oraz zbiorów i piszemy:.

Układy współrzędnych

ALGEBRA Z GEOMETRIĄ ANALITYCZNĄ zadania z odpowiedziami

Transkrypt:

Przekształcenia geometryczne Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza w Krakowie

Przekształcenia elementarne w przestrzeni D Punkty p w E na płaszczyźnie w postaci -krotek (x, x ) podlegają szeregowy przekształceń elementarnych. Są to: translacja (przesunięcie), zmiana skali osi, rotacja (obrót). Nie będziemy podawać formalnych definicji opisywanych pojęć chodzi jedynie o przypomnienie najważniejszych faktów i przedstawienie stosowanego dalej zapisu.

Translacja Punkty na płaszczyźnie (x, y) można przesunąć na nową pozycję dodając do współrzędnych punktów wielkość przesunięcia. Dla każdego punktu P(x, y), który ma być przesunięty do nowego punktu P (x, y ) o d x jednostek wzdłuż osi x i o d y jednostek wzdłuż osi y, można napisać: x = x + d x y = y + d y ()

Translacja Jeżeli zdefiniujemy wektory kolumnowe p = x y ; p = x y ; d = d x d y () to równanie () może być wyrażone w bardziej zwarty sposób jako p = p + d (3) Obiekt powinniśmy przesuwać stosując równanie (3) do każdego punktu obiektu. Ponieważ jednak każdy odcinek obiektu składa się z nieskończonej liczby punktów, taki proces trwałby nieskończenie długo.

Translacja Na szczęście możemy przesunąć wszystkie punkty odcinka przesuwając tylko jego końce i rysując nowy odcinek między przesuniętymi końcami odnosi się to także do skalowania (rozciągania) i obrotów.

Zmiana skali Punkty mogą być skalowane ze współczynnikiem s x wzdłuż osi x i s y wzdłuż osi y przez mnożenie x = x s x y = y s y (4) W postaci macierzowej można to zapisać następująco: x y = s x 0 0 s y x y ; p = S p (5) przy czym S w równaniu (5) jest macierzą skalowania. Na rysunku obiekt jest skalowany ze współczynnikiem /3 w kierunku osi x i ze współczynnikiem 5/3 w kierunku osi y.

Zmiana skali Zauważmy, że skalowanie odbywa się względem początku układu współrzędnych obiekt zmniejsza (zwiększa) się i jest bliżej (dalej) początku układu współrzędnych w zależności od skali. Gdy współczynnik skalowania jest większy niż, wówczas następuje powiększenie i obiekt oddala się od początku układu współrzędnych. Gdy współczynnik skalowania jest mniejszy niż, wówczas następuje pomniejszenie i obiekt zbliża się do początku układu współrzędnych. Proporcje obiektu również zmieniły się, ponieważ dokonaliśmy skalowania niejednorodnego, dla którego s x s y. Przy skalowaniu jednorodnym, dla którego s x = s y, proporcje nie ulegają zmianie.

Rotacja Punkty mogą być obracane o kąt θ wokół początku układu współrzędnych. Matematycznie obrót jest zdefiniowany następująco: x = x cos θ y sin θ y = x sin θ +y cos θ W postaci macierzowej można to zapisać jako: x cos θ sin θ x = y sin θ cos θ y (6) p = R p (7) przy czym R w równaniu (7) jest macierzą obrotu. Podobnie jak dla skalowania obrót następuje względem początku układu współrzędnych.

Rotacja Kąty dodatnie są mierzone w kierunku przeciwnym względem kierunku ruchu wskazówek zegara od x do y. Dla kątów ujemnych (zgodnych z kierunkiem ruchu wskazówek zegara) można skorzystać z tożsamości cos( θ) = cos θ oraz sin θ = sin θ. Równania (6) można łatwo wyprowadzić, korzystając z rysunku, na którym obrót o x przekształca punkt p(x, y) w punkt p (x, y ).

Rotacja Ponieważ obrót następuje wokół początku układu współrzędnych, odległości od początku układu współrzędnych do p i p są sobie równe i są oznaczone na rysunku przez r. Korzystając z prostych przekształceń trygonometrycznych otrzymujemy: x = r cos y = r sin oraz x = r cos + = r cos cos r sin sin y = r sin + = r sin cos + r cos sin Po podstawieniu równań (8) do zależności (9) otrzymamy równania (6). (8) (9)

Macierzowa reprezentacja przekształceń współrzędne jednorodne Reprezentacje macierzowe przekształceń przesunięcia, skalowania i obrotu mają następującą postać: p = p + d p = S p p = R p Niestety przesunięcie jest traktowane inaczej niż skalowanie i obrót. Chcielibyśmy móc traktować wszystkie trzy przekształcenia w jednolity sposób, tak żeby można je było łatwo łączyć ze sobą. (0) Jeżeli punkty są wyrażone we współrzędnych jednorodnych, to wszystkie trzy przekształcenia można traktować jako mnożenia.

Rzutowaniem ośrodkowe współrzędne jednorodne Wybierzmy punkt, w którym prosta l = c ( - wektor w przestrzeni d+-wymiarowej ) przebija sferę jednostkową S d+ w przestrzeni euklidesowej E d+ (zauważmy, że S d+ jest rozmaitością d-wymiarową, czyli jej punkty można zidentyfikować za pomocą d parametrów w interesujących nas przypadku d = ). Ograniczmy naszą uwagę do kierunku wektora, pomijając jego długość dwa współliniowe wektory i c (c 0) są uważane za równoważne.

Rzutowaniem ośrodkowe współrzędne jednorodne Jeśli dobierzemy taką wartość c, dla której ostatni składnik c jest równy, to otrzymamy punkt, w którym prosta l przebija hiperpłaszczyznę x d+ = (rysunek pokazuje tę sytuację dla d = ). Taką wzajemną odpowiedniość nazywamy rzutowaniem ośrodkowym (o środku w początku układu współrzędnych E d+ ). Zauważmy, że hiperpłaszczyzna x d+ = sama jest przestrzenią E d o współrzędnych x,, x d. Tak więc zinterpretowaliśmy przyłożony do początku układu współrzędnych E d+ wektor,, d, d+ przy czym d+ 0 jako punkt x,, x d przestrzeni E d taki, że x j = j / d+.

Rzutowaniem ośrodkowe współrzędne jednorodne Jeśli zapiszemy punkt za pomocą (d+) składowych wektora, otrzymamy klasyczny zapis punktu we współrzędnych jednorodnych, które umożliwiają zapisanie punktów w nieskończoności przy zgodzie na d+ = 0. Liczne pakiety graficzne i procesory wyświetlania korzystają ze współrzędnych i przekształceń jednorodnych. We współrzędnych jednorodnych rozważamy więc trzecią współrzędną. Dowolny punkt określony parą liczb (x, y) we współrzędnych jednorodnych jest dany przez trójkę (x, y, w).

Rzutowaniem ośrodkowe współrzędne jednorodne Jeżeli współrzędna w jest różna od zera, to (x, y, w) reprezentuje we współrzędnych jednorodnych ten sam punkt co (x/ w, y/w, ) położony na płaszczyźnie x 3 =. Wtedy liczby x/w i y/w są nazywane współrzędnymi kartezjańskimi punktu jednorodnego. Tak więc jeżeli w =, to pierwsze dwie współrzędne są współrzędnymi kartezjańskimi Trójki współrzędnych na ogół reprezentują punkty w przestrzeni trójwymiarowej, tutaj natomiast używamy ich do reprezentowania punktów w przestrzeni dwuwymiarowej. Punkty jednorodne tworzą płaszczyznę zdefiniowaną równaniem w = w przestrzeni (x, y, w).

Macierzowa reprezentacja przekształceń we współrzędnych jednorodnych Ponieważ punkty są teraz trzyelementowymi wektorami kolumnowymi, macierz przekształcenia, przez którą się mnoży, musi być macierzą 3 x 3. Równania () przekształcenia typu przesunięcie przyjmują we współrzędnych jednorodnych postać: x y = 0 d x 0 d y 0 0 x y () W niektórych podręcznikach z zakresu grafiki komputerowej jest stosowana konwencja mnożenia wektorów wierszowych przez macierze zamiast mnożenia macierzy przez wektory kolumnowe. Przy przejściu od jednej konwencji do drugiej trzeba dokonać transponowania macierzy pm = M T p T () Równanie () można zapisać inaczej w postaci p = T d x, d y p (3) przy czym T d x, d y = 0 d x 0 d y 0 0 (4)

Złożenie dwóch translacji Co się stanie, jeżeli punkt p jest przesuwany o T d x, d y do p, a potem o T d x, d y do p? Wynik, którego się spodziewamy intuicyjnie, to łączne przesunięcie T d x + d x, d y + d y. Dla potwierdzenia tego przypuszczenia zaczynamy od danych początkowych: p = T d x, d y p = T d x, d y p p A po podstawieniach p = T d x, d y T d x, d y p = (5) = T d x, d y T d x, d y p (6) Iloczyn T d x, d y T d x, d y 0 d x 0 d y 0 0 0 d x 0 d y 0 0 = jest następujący 0 d x + d x 0 d y + d y 0 0 Końcowe przesunięcie jest rzeczywiście równe T d x + d x, d y + d y. Iloczyn macierzy jest czasami określany jako złożenie albo konkatenacja T d x, d y T d x, d y. Na ogół będziemy korzystali z określenia złożenie. i (7)

Złożenie dwóch skalowań Podobnie równanie skalowania (3) w postaci macierzowej przyjmuje postać x y = s x 0 0 0 s y 0 0 0 x y Definiując s x 0 0 S s x, s y = 0 s y 0 0 0 Otrzymujemy (8) (9) p = S s x, s y p (0) Kolejne przesunięcia są addytywne, tutaj natomiast spodziewamy się, że kolejne skalowania powinny być multiplikatywne. Jeżeli rozważymy dwie kolejne zmiany skali: p = S s x, s y p = S s x, s y p p to po podstawieniach p = S s x, s y S s x, s y p = () = S s x, s y S s x, s y p () Iloczyn macierzy S s x, s y S s x, s y s x 0 0 0 s y 0 0 0 s x 0 0 0 s y 0 0 0 = jest równy s x s x 0 0 0 s y s y 0 0 0 A więc skalowanie jest rzeczywiście multiplikatywne. (3)

Złożenie dwóch rotacji Wreszcie równanie obrotu (6) może być reprezentowane jako równanie macierzowe: x y = Równanie: cos θ sin θ 0 sin θ cos θ 0 0 0 x y (4) p = R θ p (5) Otrzymamy otrzymujemy oznaczając R θ = cos θ sin θ 0 sin θ cos θ 0 0 0 (6) Podobnie jak translacje dwa kolejne obroty są addytywne R θ R θ = R θ +θ. W górnej lewej podmacierzy x z równania (6) potraktujmy każdy z dwóch wierszy jako wektor. Można wykazać, że te wektory mają następujące trzy właściwości: Każdy jest wektorem jednostkowym. Każdy jest prostopadły do drugiego (ich iloczyn skalarny jest równy 0). Na to, żeby wektory pierwszy i drugi leżały odpowiednio na osiach x i y, muszą zostać obrócone o R(θ) (przy spełnieniu warunków i ta właściwość jest równoważna temu, że podmacierz ma wyznacznik równy ). Pierwsze dwie właściwości są również prawdziwe dla kolumn podmacierzy. Te dwa kierunki, o których mowa, to te, na które są obracane wektory osi dodatnich x i y.

Ortonormalne macierze przekształceń Wymienione właściwości sugerują dwie użyteczne metody wyznaczania macierzy obrotu, gdy znamy pożądany efekt obrotu. Macierz o takich właściwościach jest określana jako ortonormalna. Macierz przekształcenia o postaci r r t x r r t y (7) 0 0 przy czym górna podmacierz jest ortonormalna, zachowuje kąty i długości. Oznacza to, że: Kwadrat jednostkowy pozostaje kwadratem jednostkowym i nie staje się rombem o boku jednostkowym ani kwadratem o boku różnym od jednostki. Takie przekształcenia są również określane jako przekształcenia ciała sztywnego, ponieważ ciało albo obiekt poddawane przekształceniu w żaden sposób nie jest odkształcane.

Ortonormalne złożenie translacji i rotacji Dowolne złożenie macierzy obrotu i przesunięcia tworzy macierz ortonormalną. Co można powiedzieć o iloczynie dowolnej sekwencji macierzy obrotu, przesunięcia i skalowania?

Dowolne złożenie macierzy obrotu, przesunięcia i skalowania Są one określane jako przekształcenia afiniczne i mają właściwość zachowania równoległości linii nie odnosi się to do długości i kątów. Na rysunku pokazano przykład obrotu jednostkowego kwadratu o 45, a potem skalowania niejednorodnego. Widać, że ani kąty, ani długości nie zostały zachowane w wyniku tej sekwencji, natomiast odcinki równoległe pozostały równoległe. Dalsze operacje obrotu, skalowania i przesuwania nie spowodują tego, że odcinki równoległe przestaną być równoległe. Przekształcenia R(θ), S(s x, s y ) i T(d x, d y ) są również afiniczne.

Przekształcenia pochylające Innym przekształceniem podstawowym jest przekształcenie pochylające. Jest to również przekształcenie afiniczne. Na płaszczyźnie są dwa rodzaje przekształceń pochylających: pochylenie wzdłuż osi x i pochylenie wzdłuż osi y.

Przekształcenia pochylające Na rysunku pokazano efekt pochylenia jednostkowego kwadratu wzdłuż obu osi. Operacja pochylania opisywana jest macierzą: a 0 SH x = 0 0 (8) 0 0 Wyraz a w macierzy pochylania jest współczynnikiem proporcjonalności. Zauważmy, że iloczyn SH x [x y ] T jest równy [x ay ] T, co demonstruje proporcjonalność zmiany x w funkcji y. Podobnie macierz 0 0 SH y = b 0 (9) 0 0 pochyla wzdłuż osi y.

Przekształcenia złożone Idea składania została już wprowadzona. Teraz zastosujemy składanie do łączenia podstawowych macierzy R, S i T w celu uzyskania pożądanego wyniku. Podstawowym celem składania przekształceń jest zwiększenie efektywności zamiast stosować ciąg przekształceń jedno po drugim, można stosować jedną macierz złożoną. Rozważmy obrót obiektu wokół pewnego dowolnego punktu p. Ponieważ wiemy tylko, jak wykonywać obrót wokół początku układu współrzędnych, zamieniamy nasz oryginalny (trudny) problem na trzy oddzielne (łatwe) problemy.

Rotacja wokół dowolnego punktu Dlatego, żeby obrócić punkt wokół p potrzeba sekwencji trzech przekształceń:. Takie przesunięcie, żeby punkt p znalazł się w początku układu współrzędnych.. Obrót. 3. Takie przesunięcie, żeby punkt znajdujący się w początku układu współrzędnych wrócił do p. Ta sekwencja jest zilustrowana na rysunku, na którym dom zostaje obrócony wokół p x, y. Pierwsze przesunięcie charakteryzuje się wektorem x, y, a drugie wektorem x, y. Wynik jest różny od tego, jaki powstałby w wyniku zastosowania tylko obrotu.

Rotacja wokół dowolnego punktu Całe przekształcenie wygląda następująco: T x, y R θ T x, y = 0 x 0 y 0 0 cos θ sin θ 0 sin θ cos θ 0 0 0 0 x 0 y 0 0 = cos θ sin θ x cos θ + y sin θ sin θ cos θ y cos θ + x sin θ 0 0 (30)

Skalowanie złożone Podobne podejście jest wykorzystane przy skalowaniu obiektu wokół dowolnego punktu p. Najpierw dokonujemy takiego przesunięcia, żeby punkt p znalazł się w początku układu współrzędnych, potem wykonujemy skalowanie i ponownie przesunięcie do p.w tym przypadku całkowite przekształcenie ma postać T x, y S s x, s y T x, y = 0 x 0 y 0 0 s x 0 0 0 s y 0 0 0 0 x 0 y 0 0 = = s x 0 x s x 0 s y y s y 0 0 (3)

Składanie przekształceń elementarnych Załóżmy, że należy dokonać skalowania, obrotu i przesunięcia zarysu domu pokazanego na rysunku, z punktem p jako środkiem obrotu i skalowania. Sekwencja działań jest następująca:. przesunięcie punktu p, do początku układu współrzędnych,. skalowanie, 3. obrót, 4. przesunięcie z początku układu współrzędnych do nowej pozycji p. Struktura danych, która pamięta to przekształcenie, mogłaby zawierać współczynnik(i) skalowania, kąt obrotu i wielkość przesunięcia oraz kolejność wykonywania przekształceń albo też mogłaby po prostu zawierać złożoną macierz przekształcenia T x, y R θ S s x, s y T x, y (3)

Przemienność przekształceń elementarnych Jeżeli M, i M reprezentują podstawowe przekształcenia przesunięcia, skalowania albo obrotu, to, czy M M = M M? To znaczy, czy M, i M mogą być zamienione miejscami? Na ogół mnożenie macierzy nie jest przemienne. Łatwo jednak wykazać, że w następujących specjalnych przypadkach przemienność obowiązuje: M M przesunięcie przesunięcie skalowanie obrót skalowanie z s x = s y skalowanie obrót obrót W tych przypadkach nie musimy dbać o kolejność składania macierzy.

Przykład Co stanie się z odcinkiem łączącym punkty 3, i, jeśli całkowitą zmianę układu współrzędnych uzyskamy w drodze:. Przesunięcia początku układu do punktu, 0.. Obrotu osi współrzędnych o π/4 radianów. 3. Zmiany skali osi x ze współczynnikiem s x =. UWAGI: Zauważmy, że mamy tu do czynienia z przekształcaniem osi układu współrzędnych, a nie z przekształcaniem obiektów. Translacja układu współrzędnych o wektor d x, d y jest równoważna przesunięciom obiektów o wektor przeciwny, tzn. d x, d y. Rotacja układu współrzędnych o kąt θ jest równoważna obrotem obiektów o kąt przeciwny, tj. θ. W związku z tym dla translacji: x = x d x y = y d y oraz dla rotacji: x = x cos θ y sin θ y = x sin θ +y cos θ = x = x cos θ + y sin θ y = x sin θ +y cos θ

Przykład rozwiązanie tradycyjne Krok nr : Translacja Krok nr : Rotacja 3,,,,, cos θ + sin θ, sin θ + cos θ = +, + =, 0, cos θ sin θ, sin θ cos θ =, = 3, Krok nr 3: Zmiana skali, 0 4, 0 3, 3,

Przykład rozwiązanie macierzowe Translacja T = Rotacja R = 0 0 0 0 0 Zmiana skali S = 0 0 0 0 0 0 0 0 0 0 Złożenie powyższych przekształceń jest równoważne jednemu przekształceniu zastępczemu SRT. SRT = = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 = 0 0

Przykład rozwiązanie macierzowe Stąd rozwiązaniem zadania są punkty: 3 0 0 3 = 4 0 0 0 = 3

Zadanie Narysować elipsę o środku w punkcie (x c, y c ), wielkiej osi a i małej osi b, przy czym wielka oś jest nachylona do osi Ox pod kątem θ.

Zadanie algorytm rozwiązania Reprezentacja funkcyjna takiej elipsy jest skomplikowana, więc zadanie wydaje się trudne. Zastosowanie teorii przekształceń afinicznych upraszcza sprawę. Należy wykonać następujące operacje:. Wykreślić okrąg o średnicy. Zmienić skalę osi Ox ze współczynnikiem a oraz osi Oy ze współczynnikiem b. 3. Dokonać obrotu osi układu współrzędnych o kąt θ. 4. Przesunąć początek układu współrzędnych do punktu ( x c, y c ). Prowadzi to do łatwego rozwiązania problemu.