Przekształcenia geometryczne – grafika 2D

Slides:



Advertisements
Podobne prezentacje
Grafika i komunikacja człowieka z komputerem
Advertisements

Grafika i komunikacja człowieka z komputerem
Równowaga chemiczna - odwracalność reakcji chemicznych
Plan Czym się zajmiemy: 1.Bilans przepływów międzygałęziowych 2.Model Leontiefa.
Niepewności pomiarowe. Pomiary fizyczne. Pomiar fizyczny polega na porównywaniu wielkości mierzonej z przyjętym wzorcem, czyli jednostką. Rodzaje pomiarów.
Wyrażenia Algebraiczne Bibliografia Znak 1Znak 2 Znak 3 Znak 4 Znak 5 Znak 6 Znak 7 Znak 8 Znak 9 Znak 10 Znak 11.
„MATEMATYKA JEST OK!”. Figury Autorzy Piotr Lubelski Jakub Królikowski Zespół kierowany pod nadzorem mgr Joanny Karaś-Piłat.
FIGURY.
Funkcja liniowa Przygotował: Kajetan Leszczyński Niepubliczne Gimnazjum Przy Młodzieżowym Ośrodku Wychowawczym Księży Orionistów W Warszawie Ul. Barska.
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Prezentacja – 4 Matematyczne opracowywanie.
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Algorytmy Informatyka Zakres rozszerzony
KLASA VI 1. WSTĘP – Układy współrzędnych – przykłady 2. UKŁAD WSPÓŁRZĘDNYCH X-Y – definicja, rzędne, odcięte, początek układu. 3. WSPÓŁRZĘDNE PUNKTU –
Standardy de facto zapisu georeferencji map o postaci rastrowej definicja georeferencji standard „World File” standard GeoTIFF.
To znaczy, że składa się z dwóch identycznych części, które można na siebie nałożyć. Na przykład człowiek (w niektórych miejscach) jest takim stworem.
Matematyka przed egzaminem czyli samouczek dla gimnazjalisty Przygotowała Beata Czerniak FUNKCJE.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
W KRAINIE CZWOROKĄTÓW.
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Dorota Kwaśniewska OBRAZY OTRZYMYWA NE W SOCZEWKAC H.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Systemy wizyjne - kalibracja
Nast. slajd Odcinki w trójkącie Maciej Kawka.
Okrąg i koło Rafał Świdziński.
Przesuwanie wykresu funkcji liniowej
Optyka geometryczna.
Schematy blokowe.
Wyznaczanie miejsc zerowych funkcji
MECHANIKA 2 Dynamika układu punktów materialnych Wykład Nr 9
WYPROWADZENIE WZORU. PRZYKŁADY.
RUCH KULISTY I RUCH OGÓLNY BRYŁY
Pamięci Henryka Pawłowskiego
Prowadzący: dr Krzysztof Polko
Liczby pierwsze.
FIGURY.
ALGORYTMY I STRUKTURY DANYCH
MECHANIKA 2 Wykład Nr 3 KINEMATYKA Temat RUCH PŁASKI BRYŁY MATERIALNEJ
Dynamika ruchu płaskiego
Elementy analizy matematycznej
KLASYFIKACJA CZWOROKĄTÓW
KOREKTOR RÓWNOLEGŁY DLA UKŁADÓW Z NIEMINIMALNOFAZOWYMI OBIEKTAMI Ryszard Gessing Instytut Automatyki, Politechnika Śląska Plan referatu Wprowadzenie.
Zajęcia przygotowujące do matury rozszerzonej z matematyki
Elementy fizyki kwantowej i budowy materii
Moment gnący, siła tnąca, siła normalna
Symulacje komputerowe
ALGORYTMY I STRUKTURY DANYCH
Tensor naprężeń Cauchyego
Grafika i komunikacja człowieka z komputerem
Grafika komputerowa Rzutowanie.
ALGORYTMY I STRUKTURY DANYCH
MATEMATYKAAKYTAMETAM
Figury geometryczne.
Kąty w wielościanach.
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
Wyrównanie sieci swobodnych
Wytrzymałość materiałów
Matematyka Zadania i objaśnienia Jakub Tchórzewski.
Prawa ruchu ośrodków ciągłych c. d.
Mikroekonomia Wykład 4.
Grazyna Mirkowska Matematyka Dyskretna PJWSTK 2001
Zapis prezentacji:

Przekształcenia geometryczne – grafika 2D Grafika komputerowa Przekształcenia geometryczne – grafika 2D

Wprowadzenie Przekształcenie, odwzorowanie geometryczne – funkcja przekształcająca jeden zbiór punktów, nazywany figurą geometryczną, w drugi zbiór punktów w przestrzeni geometrycznej (przestrzeni euklidesowej, przestrzeni rzutowej itp.). W węższym znaczeniu jest to funkcja wzajemnie jednoznaczna przeprowadzająca przestrzeń geometryczną na siebie; ta druga definicja jest stosowana dla przekształceń geometrycznych tworzących grupy przekształceń. O ile nie jest to powiedziane wprost, zwykle w elementarnej geometrii przyjmuje się, że przekształceniem geometrycznym jest funkcja określona na całej przestrzeni euklidesowej, zaś figurami geometrycznymi są figury płaskie lub figury przestrzenne. Najczęściej przyjmuje się, że przekształcenia geometryczne są niezdegenerowane, tzn. różnowartościowe lub wzajemnie jednoznaczne.

Wprowadzenie Punkt A' nazywamy obrazem punktu A w przekształceniu geometrycznym p, jeżeli p(A) = A'. Figurę, która jest zbiorem obrazów wszystkich punktów figury f w danym przekształceniu geometrycznym p, nazywamy obrazem figury f w przekształceniu geometrycznym. Punkt stały przekształcenia jest to punkt, który sam jest swoim obrazem w tym przekształceniu Jeśli p i q są przekształceniami geometrycznymi, to złożenie funkcji p°q nazywamy złożeniem przekształceń geometrycznych p i q. Przekształcenie p nazywamy odwracalne, jeżeli dwu różnym punktom przyporządkowane są zawsze dwa różne punkty Przekształceniem odwrotnym do przekształcenia odwracalnego p nazywamy przekształcenie p-1 takie, że dla każdego punktu A p(A) = A' wtedy i tylko wtedy, gdy p-1(A') = A. Przekształceniem tożsamościowym nazywamy przekształcenie, które każdemu punktowi przyporządkowuje ten sam punkt. Izometrią nazywamy przekształcenie geometryczne, które zachowujące odległość punktów, tzn. dla każdych dwóch punktów odległość ich obrazów jest równa odległości tych punktów. Figury f i g nazywamy przystające wtedy i tylko wtedy, gdy istnieje izometria p taka, że p(f) = g. Inaczej, dwie figury są przystające, jeżeli jedną z tych figur można nałożyć na drugą. Oznaczamy f ≡ g. Rodzaje przekształceń 2D: Translacja, Obrót (względem środka układu, dowolnego punktu), Skalowanie, Jednokładność, Powinowactwo prostokątne (symetria), Inne (dzielenie wielokąta na trójkąty, badanie położenie punktu względem wielokąta),.

Przekształcenia geometryczne Zostaną omówione transformacje obiektów graficznych. Transformacje będą dotyczyły pojedynczych punktów, gdyż obiekty są najczęściej opisane jako zbiór punktów. Można również zajmować się transformacjami dotyczącymi np. równań algebraicznych. Punkty na płaszczyźnie określa się podając ich współrzędne, np. współrzędne kartezjańskie -czasem może to być inny układ, np. układ współrzędnych biegunowych. W grafice komputerowej ważna jest umiejętność przekształcania danego obiektu, ale również umiejętność opisu tego obiektu w różnych układach współrzędnych.

Przekształcenia punktu na płaszczyźnie A.Translacja -przesunięcie punktu o współrzędnych P=(x,y) o dany wektor t=(tx,ty). Otrzymujemy nowy punkt P’=(x’,y’), którego współrzędne są postaci:. x’=x+tx, y’=y+ty.

Przekształcenia punktu na płaszczyźnie B.Obrót - obrót punktu wokół początku układu o kąt f. W układzie biegunowym współrzędne tego punktu są zapisane jako P=(rcosa,rsina), rys poniżej. Po obrocie o dany kąt f otrzymujemy nowe współrzędne P’=(rcos(a+f),rsin(a+f))= =(rcosacosf-rsinasinf, rcosasinf+rsinacosf)= =(xcosf-ysinf, xsinf+ycosf) f a

Przekształcenia punktu na płaszczyźnie Jeżeli chcemy wykonać obrót o kąt a nie wokół początku układu lecz wokół dowolnego punktu (x,y) to należy przesunąć punkt (x,y) o wektor [-x0,-y0], obrócić przesunięty punkt P(x-x0,y-y0) o dany kąt f i powtórnie przesunąć obrócony punkt o wektor [x0,y0]. Ponieważ takie złożone operacje są wykonywane często, to w praktyce łatwiej stosować zapis macierzowy. Np. translację zapisujemy jako:

Przekształcenia punktu na płaszczyźnie a obrót jako: Przy takich założeniach obrót wokół dowolnego punktu (x0,y0) możemy zapisać jako: lub krócej P’=PT1RfT2.

Przekształcenia punktu na płaszczyźnie C. Skalowanie - współrzędne punktu P=(x,y) mnożymy przez czynnik skalujący (sx,sy). Macierzowo zapisujemy: Np. kwadrat jednostkowy o wierzchołkach [(0,0), (1,0), (1,1), (0,1)] przeskalowany o wektor [1/2,2] daje prostokąt o wierzchołkach [(0,0), (1/2,0), (1/2,2), (0,2)].

Przekształcenia punktu na płaszczyźnie D. Jednokładność - jednokładność o środku S=(x0,y0) i skali k<>0 jest takim przekształceniem płaszczyzny, w którym obrazem punktu P=(x,y) jest taki punkt P’=(x’,y’), gdzie SP’=kSP. Stąd np. dla x mamy: x0-x’=k(x0-x). Zatem (x’,y’)=(x0,y0)+k(x-x0,y-y0) = (kx,ky)+(x0-kx0,y0-ky0) lub w notacji macierzowej: Np. jeżeli S(1,2), P(2,2) i k=-1 to P’(0,2). Dla k=-1 jednokładność jest symetrią o środku w punkcie S.

Przekształcenia punktu na płaszczyźnie Działania na wielokątach

Położenie punktu względem wielokąta O wielokątach będziemy zakładali, że są wielokątami zwykłymi, tzn. takimi, których krawędzie nie mają punktów wspólnych poza wierzchołkami oraz będziemy zakładali, że żadne trzy wierzchołki nie są współliniowe. Położenie punktu względem wielokąta. Jest to zadanie geometrii obliczeniowej. Istnieje wiele algorytmów; jednym z nich jest algorytm parzystości. Polega on na tym, że: dany jest punkt P=(x0,y0) i dane są wierzchołki wielokąta, z punktu P prowadzimy dowolną półprostą (może być np. równoległa do osi x -dla prostoty rozważań), znajdujemy liczbę n punktów przecięcia tej półprostej z bokami wielokąta, jeśli liczba jest parzysta, to P leży na zewnątrz wielokąta W, a gdy jest nieparzysta, to wewnątrz niego. Innym możliwym rozwiązaniem zadania badania położenia punktu względem wielokąta jest obliczanie sumy kątów między półprostymi poprowadzonymi z punktu P przez wierzchołki wielokąta.

Położenie punktu względem wielokąta Uwagi: dla znalezienia liczby n nie musimy wyznaczać punktów przecięcia wszystkich krawędzi wielokąta z półprostą. Krawędzie dla których zachodzi max(xi,xi+1)<x0 możemy pominąć, a te dla których zachodzi min(xi,xi+1)>x0, przecinają prostą, gdy (yi-y0)*(yi+1-y0)<0, jeżeli prosta przechodzi przez wierzchołek (np. przez wierzchołek B o bokach AB i BC), jeżeli A i C leżą po różnych stronach A i C to przecięcie liczymy jako jednokrotne, a gdy A i C leżą po tej samej stronie półprostej to przecięcie liczymy dwukrotnie. jeżeli półprosta zawiera jeden z boków wielokąta, (np. AB, BC, CD, BC jest na półprostej) to krawędź BC traktujemy jako jeden tzw. pseudowierzchołek i jeżeli A i D leżą po przeciwnej stronie prostej to liczymy przecięcie jako jeden, a jeżeli po tej samej, to liczymy je jako dwa.

Wyznaczanie powłoki wypukłej wielokąta. Definicja zbioru wypukłego: zbiór Z nazywamy wypukłym, jeżeli zawiera wszystkie odcinki, których końcami są dowolne punkty ze zbioru Z. Definicja powłoki wypukłej. Powłoką wypukła nazywamy najmniejszy zbiór wypukły, do którego należą dane punkty. Algorytm Grahama wyznaczania powłoki wypukłej n punktów. dane: punkty Pi=(xi,yi), i=1,2,...,n, wyszukujemy punkt o najmniejszej współrzędnej, oznaczamy go jako Pi1, porządkujemy punkty zgodnie z malejącymi wartościami kątów ai, obliczając: tg(ai)=(xi-xi1)/(yi-yi1). Otrzymujemy nowe uporządkowanie, oznaczamy je jako i1,i2,...,in. tworzymy listę Pl1, Pl2, ... Plk wierzchołków wielokąta będącego powłoką wypukła następująco: na początku przyjmujemy: l1=i1, l2=i2, l3=i3 i podstawiamy k=3, dla j=4,5,...,n (*) jeśli para wektorów Plk-1Plk, PlkPlj jest ujemnie zorientowana, to usuwamy z listy wierzchołek Plk, podstawiamy k=k-1, przenumerowujemy listę i wracamy do (*), w przeciwnym razie dopisujemy Pij do listy, czyli podstawiamy k=k+1, lk=ij.

Wyznaczanie powłoki wypukłej wielokąta. Uwagi: Jeżeli punktów o minimalnej współrzędnej y jest więcej niż jeden, to dowolny z takich punktów zaburzamy podstawiając yi1=yi1*(1+h), gdzie h jest najmniejszą liczbą rzeczywistą dodatnią. Jeśli ctg(ai)=ctg(aj)= ...=ctg(am) (punkty są współliniowe), to pomijamy wszystkie punkty, z wyjątkiem punktu leżącego najdalej. Para wektorów PiPj, PjPk jest dodatnio zorientowana, gdy wyznacznik jest dodatni, a ujemnie zorientowana, gdy jest on ujemny.

Grafika i komunikacja człowieka z komputerem Przekształcenia punktów w R3

Stosowane opisy Podobnie jak w przypadku dwuwymiarowym będziemy rozpatrywać współrzędne jednorodne (x,y,z,1). Najczęściej będzie wykorzystywany lewoskrętny układ kartezjański (x,y,z). Lub układ sferyczny (r,f,y) gdzie x=rcosfcos y, y=rsinf, z=rcosfsin y. z y x

Translacja Dany jest punkt P=(x,y,z) i wektor T=[tx,ty,tz], otrzymujmy nowy punkt P’=(x’,y’,z’) wg wzorów: x’=x+tx, y’=y+ty, z’=z+tz. W układzie macierzowym można to przekształcenie zapisać:

Skalowanie Dany jest punkt P=(x,y,z) i wektor T=[sx,sy,sz], otrzymujmy nowy punkt P’=(x’,y’,z’) wg wzorów: x’=x*sx, y’=y*sy, z’=z*sz. W układzie macierzowym można to przekształcenie zapisać:

Obrót względem osi układu współrzędnych Przyjmujemy, że dodatni obrót jest w kierunku przeciwnym do ruchu wskazówek zegara, gdy patrzymy w kierunku dodatnim. Dany jest punkt P=(x,y,z) i kąt f. W przypadku obrotu wokół osi x otrzymujmy nowy punkt P’=(x’,y’,z’) o współrzędnych: x’=x, y’=ycos f –zsin f, z’=ysin f +zcos f,

Obrót względem osi układu współrzędnych a w zapisie macierzowym: W przypadku obrotu wokół osi y w zapisie macierzowym mamy: W przypadku obrotu wokół osi z w zapisie macierzowym mamy:

Przekształcenie trzypunktowe Jest ono wykorzystywane przy budowie scen trójwymiarowych. Dane są trzy nie współliniowe punkty: P1, P2, P3 i Q1, Q2, Q3. Szukamy takiej izometrii (przekształcenia), które będzie spełniało następujące warunki: Odwzorowuje punkt P1 w Q1, Kierunek P=P2-P1 w kierunek Q=Q2-Q1, Transformuje płaszczyznę wyznaczoną przez : P1, P2, P3 w płaszczyznę wyznaczoną przez Q1, Q2, Q3 Aby wyznaczyć taką transformację wprowadzimy dwa wersory ortogonalne: u1=(P2-P1)/|P2-P1| u2=(P2-P1)x(P3-P1)/|(P2-P1)x(P3-P1)| a trzeci wyznaczymy jako u3=u1xu2. gdzie x oznacza iloczyn wektorowy i jest on zdefiniowany następująco: w1xw2 jest iloczynem wektorowym gdy spełnia własności: w1xw2 jest prostopadły do w1 i do w2, wektory w1, w2, w są dodatnio zorientowane, tzn. det(w1,w2,w)>0 |w|=|w1||w2|sin(w1,w2)

Przekształcenie trzypunktowe Podobnie konstruujemy wektory w1, w2 i w3 dla punktów Q1,Q2,Q3, czyli w1=(Q2-Q1)/|Q2-Q1| w2=(Q2-Q1)x(Q3-Q1)/|(Q2-Q1)x(Q3-Q1)| a trzeci wyznaczymy jako w3=w1xw2. Równanie: jest równaniem na macierz obrotu R, która przekształca wektory u1, u2, u3 w wektory w1, w2, w3. Macierz U=[u1,u2,u3]T jest ortogonalna, tzn. UUT=I=>U-1=UT, podobne właściwości ma macierz W. Macierz R jest więc postaci: R=UTW. Ponieważ potrzebne jest jeszcze przesunięcie, to otrzymujemy je z warunku, że obrazem punktu P1 ma być punkt Q1. Zatem przesunięcie o wektor T musi być postaci: T=Q1-P1R.