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

Podobne dokumenty
gdzie (4.20) (4.21) 4.3. Rzut równoległy

Ćwiczenia nr 4. TEMATYKA: Rzutowanie

Grafika komputerowa Wykład 4 Geometria przestrzenna

FUNKCJA LINIOWA - WYKRES

AUTORKA: ELŻBIETA SZUMIŃSKA NAUCZYCIELKA ZESPOŁU SZKÓŁ OGÓLNOKSZTAŁCĄCYCH SCHOLASTICUS W ŁODZI ZNANE RÓWNANIA PROSTEJ NA PŁASZCZYŹNIE I W PRZESTRZENI

Elementy geometrii analitycznej w R 3

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

Geometria w R 3. Iloczyn skalarny wektorów

GEOMETRIA ANALITYCZNA W PRZESTRZENI

3. FUNKCJA LINIOWA. gdzie ; ół,.

Trójwymiarowa grafika komputerowa rzutowanie

Animowana grafika 3D. Opracowanie: J. Kęsik.

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

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

GEOMETRIA ANALITYCZNA W PRZESTRZENI

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

Geometria analityczna - przykłady

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

M10. Własności funkcji liniowej

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

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

FIGURY I PRZEKSZTAŁCENIA GEOMETRYCZNE

Prosta i płaszczyzna w przestrzeni

Układy współrzędnych

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

STEREOMETRIA CZYLI GEOMETRIA W 3 WYMIARACH

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

Aby opisać strukturę krystaliczną, konieczne jest określenie jej części składowych: sieci przestrzennej oraz bazy atomowej.

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

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

Geometria analityczna

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

PODSTAWY RACHUNKU WEKTOROWEGO

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

1 Geometria analityczna

Ekoenergetyka Matematyka 1. Wykład 6.

OPISY PRZESTRZENNE I PRZEKSZTAŁCENIA

Funkcja liniowa i prosta podsumowanie

Algebra liniowa z geometrią

płaskie rzuty geometryczne

Krystalochemia białek 2016/2017

Co należy zauważyć Rzuty punktu leżą na jednej prostej do osi rzutów x 12, którą nazywamy prostą odnoszącą Wysokość punktu jest odległością rzutu

VII. WYKRESY Wprowadzenie

Rozdział VII. Przekształcenia geometryczne na płaszczyźnie Przekształcenia geometryczne Symetria osiowa Symetria środkowa 328

Mechanika ogólna. Kinematyka. Równania ruchu punktu materialnego. Podstawowe pojęcia. Równanie ruchu po torze (równanie drogi)

Funkcja liniowa - podsumowanie

27. RÓWNANIA RÓŻNICZKOWE CZĄSTKOWE

GEOMETRIA ANALITYCZNA. Poziom podstawowy

FUNKCJE. Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 5 Teoria funkcje cz.1. Definicja funkcji i wiadomości podstawowe

Geometria analityczna

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

Przekształcenia liniowe

I. Liczby i działania

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem

Funkcje analityczne. Wykład 4. Odwzorowania wiernokątne. Paweł Mleczko. Funkcje analityczne (rok akademicki 2016/2017) dla każdego s = (s.

Funkcje analityczne. Wykład 4. Odwzorowania wiernokątne. Paweł Mleczko. Funkcje analityczne (rok akademicki 2017/2018)

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1

Wykład 14. Elementy algebry macierzy

Kryteria oceniania z matematyki w klasie pierwszej w roku szkolnym 2015/2016

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

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

3. PŁASKI STAN NAPRĘŻENIA I ODKSZTAŁCENIA

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1

Katalog wymagań programowych na poszczególne stopnie szkolne klasa 1

Notacja Denavita-Hartenberga

R n jako przestrzeń afiniczna

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

V Międzyszkolny Konkurs Matematyczny

GEOMETRIA PRZESTRZENNA (STEREOMETRIA)

1. Potęgi. Logarytmy. Funkcja wykładnicza

ALGEBRA Z GEOMETRIĄ ANALITYCZNĄ

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

Wymagania edukacyjne z matematyki

KINEMATYKA I DYNAMIKA CIAŁA STAŁEGO. dr inż. Janusz Zachwieja wykład opracowany na podstawie literatury

KMO2D. Kolizje między-obiektowe w 2D

Notatki przygotowawcze dotyczące inwersji na warsztaty O geometrii nieeuklidesowej hiperbolicznej Wrocław, grudzień 2013

1. PODSTAWY TEORETYCZNE

Wymagania edukacyjne z matematyki

Wykład 5. Komórka elementarna. Sieci Bravais go

Geometria. Hiperbola

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

Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen śródrocznych i rocznych ocen klasyfikacyjnych z matematyki klasa 1 gimnazjum

Wymagania eduka cyjne z matematyki

II. Równania autonomiczne. 1. Podstawowe pojęcia.

Skrypt 23. Geometria analityczna. Opracowanie L7

Tomasz Tobiasz PLAN WYNIKOWY (zakres podstawowy)

RYSUNEK TECHNICZNY BUDOWLANY RZUTOWANIE AKSONOMETRYCZNE

I. Potęgi. Logarytmy. Funkcja wykładnicza.

PLANIMETRIA CZYLI GEOMETRIA PŁASZCZYZNY CZ. 1

11. Znajdż równanie prostej prostopadłej do prostej k i przechodzącej przez punkt A = (2;2).

Definicje i przykłady

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

Treści zadań Obozu Naukowego OMG

WYMAGANIA na poszczególne oceny-klasa I Gimnazjum

Matematyka rozszerzona matura 2017

Rzutowanie. dr Radosław Matusik. radmat

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

Kryteria oceniania z matematyki w klasie pierwszej w roku szkolnym 2015/2016

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Transkrypt:

46 III. Przekształcenia w przestrzeni trójwymiarowej Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne Złożone obiekty trójwymiarowe można uważać, podobnie jak obiekty płaskie, za zbiór punktów. Dlatego też, podobnie jak dla dwuwymiarowych transformacji geometrycznych (zob. p. 1.4), przy opisywaniu trójwymiarowych transformacji geometrycznych ograniczymy się do przekształceń punktów względem prostokątnego układu współrzędnych. Przypominamy, że rozważamy układ prawoskrętny z odpowiednim kierunkiem mierzenia kątów zgodnym (zob. zasada podana w p. 3.2.2). Podobnie jak w przypadku dwuwymiarowym, podstawowymi transformacjami geometrycznymi w przestrzeni są: przesunięcie, obrót i skalowanie. Operacje te są opisane w kolejnych podpunktach. 3.5.1. Przesunięcie W wyniku przesunięcia punktu P o współrzędnych (x, y, z) o wektor v ' t x i % t y j % t z k otrzymujemy punkt, którego współrzędne wyrażają się następującymi wzorami: We współrzędnych jednorodnych wzory (3.24) można zapisać w postaci (3.24)

3.5. Transformacje geometryczne 47 (3.25) przy czym macierzą przesunięcia jest macierz (3.26) 3.5.2. Obroty Przy założeniu, że układ współrzędnych prostokątnych jest układem prawoskrętnym, a kąty są mierzone zgodnie z zasadą podaną w p. 3.2.2, obrót punktu o kąt n wokół osi z jest określony wzorami (3.27) W przypadku obrotu punktu o kąt R wokół osi y mamy a przy obrocie o kąt > wokół osi x otrzymujemy (3.28) (3.29) We współrzędnych jednorodnych macierzami przekształceń (3.27) (3.28) są odpowiednio: (3.30) (3.31) oraz

48 III. Przekształcenia w przestrzeni trójwymiarowej (3.32) Obrót punktu wokół dowolnej osi jest przekształceniem nieco bardziej skomplikowanym. Opisujemy go w p. 3.6. 3.5.3. Skalowanie i symetrie względem płaszczyzn układu Skalowania obiektu trójwymiarowego względem początku układu współrzędnych jest prostym uogólnieniem skalowania obiektu płaskiego (zob. p. 1.4.3). W operacji tej współrzędne każdego punktu obiektu są przekształcane zgodnie z wzorami: (3.33) gdzie s x, s y i s z oznaczają stałe skalowania. We współrzędnych jednorodnych macierzą powyższego przekształcenia jest (3.34) Symetrie punktu względem poszczególnych płaszczyzn układu są określone wzorami:! względem płaszczyzny yz: (3.35)! względem płaszczyzny zx: (3.36)! względem płaszczyzny xy: (3.37) Macierzami tych przekształceń (we współrzędnych jednorodnych) są: (3.38)

3.6. Przekształcenia złożone w przestrzeni 49 Porównanie wzorów (3.35) (3.37) z zależnościami (3.16) (3.18) (lub macierzy (3.38) z macierzami (3.19)) mogłoby sugerować, że symetrie punktu względem płaszczyzn układu są identyczne z odbiciami osi układu. Tak jednak nie jest przekształcenia te są jakościowo różne i tylko wyrażają się tymi samymi wzorami. 3.6. Przekształcenia złożone w przestrzeni Do złożonych transformacji geometrycznych w przestrzeni należy m. in. obrót względem dowolnej osi i symetria względem dowolnej płaszczyzny. Z uwagi na częste występowanie tych przekształceń w praktyce, poświęcamy im oddzielne podpunkty. Ogólne równanie transformacyjne w przestrzeni jest opisane w p. 3.6.3. 3.6.1. Obrót względem dowolnej osi Obrót punktu wokół dowolnej osi można otrzymać jako złożenie przesunięć (translacji) i obrotów wokół osi układu współrzędnych. Zadanie formułujemy następująco: w prawoskrętnym układzie współrzędnych prostokątnych dany jest punkt P o współrzędnych (x, y, z), który należy obrócić o kąt " wokół prostej l przechodzącej przez punkty P 1 i P 2 (P 1 P 2 ) o współrzędnych odpowiednio (x 1, y 1, z 1 ) i (x 2, y 2, z 2 ) (zob. rys. 35 a). W wyniku obrotu punkt P zostanie przekształcony w punkt o współrzędnych, które należy wyznaczyć. Rys. 35. Obrót punktu wokół dowolnej osi Rozpatrzmy najpierw możliwe położenia prostej l w przestrzeni i związane z tym jej równania. Jeśli x 1 x 2, y 1 y 2 i z 1 z 2, to równania prostej l mają postać

50 III. Przekształcenia w przestrzeni trójwymiarowej (3.39a) Gdy x 1 ' x 2, ale y 1 y 2 i z 1 z 2, to prosta l leży na płaszczyźnie równoległej do płaszczyzny yz i jej równania są następujące: (3.39b) Podobnie, gdy y 1 ' y 2, ale x 1 x 2 i z 1 z 2, prosta l leży na płaszczyźnie równoległej do płaszczyzny zx i mamy (3.39c) a gdy z 1 ' z 2, ale x 1 x 2 i y 1 y 2, to oś obrotu leży na płaszczyźnie równoległej do płaszczyzny xy i jej równania mają postać (3.39d) Możliwe są jeszcze przypadki, gdy dwie współrzędne punktów P 1 i P 2 są równe. Jeśli x 1 ' x 2 i y 1 ' y 2, ale z 1 z 2, to prostą l (prostopadłą do płaszczyzny xy) określają równania Gdy y 1 ' y 2 i z 1 ' z 2, ale x 1 x 2, to prosta l jest prostopadła do płaszczyzny yz i mamy (3.39e) (3.39f) Wreszcie, gdy x 1 ' x 2 i z 1 ' z 2, ale y 1 y 2, to równania prostej l (prostopadłej do płaszczyzny zx) mają postać (3.39g) W celu wyznaczenia współrzędnych punktu wykonujemy najpierw translację o wektor &v ' & x 1 i & y 1 j & z 1 k. Macierzą tej operacji (we współrzędnych jednorodnych) jest (3.40) a w wyniku jej wykonania punkt P 1 zostanie przesunięty do początku układu współrzędnych. Oznaczmy przez prostą przechodzącą przez punkty i (zob. rys. 35 b) o współrzędnych odpowiednio (0, 0, 0) i (x 2 & x 1, y 2 & y 1, z 2 & z 1 ). W zależności od równań określających prostą l (zob. (3.39a) (3.39g)), równania prostej mają postać

3.6. Przekształcenia złożone w przestrzeni 51 (3.41a) (3.41b) (3.41c) (3.41d) (3.41e) (3.41f) (3.41g) Rozpatrzmy przypadek, gdy prosta jest określona równaniami (3.41a) i przekształćmy ją na oś z (zob. rys. 36). Niech 0 oznacza kąt, jaki prosta tworzy z płaszczyzną xz, a. kąt między rzutem tej prostej na płaszczyznę xz i osią z. Prosta zostanie przekształcona na oś z, gdy wykonamy obrót o kąt & 0 wokół osi x (zob. rys. 36 a), a następnie o kąt. wokół osi y (zob. rys. 36 b). Macierzą pierwszego obrotu jest (zob. (3.32)) (3.42a) przy czym kąt 0 jest określony następująco: (3.43a) Macierz drugiego obrotu ma postać (zob. (3.31))

52 III. Przekształcenia w przestrzeni trójwymiarowej (3.44a) gdzie (3.45a) Rys. 36. Przekształcenie prostej na oś z Ponieważ osią obrotu jest teraz oś z, więc wykonujemy wokół niej obrót o kąt ". Obrót ten określa macierz (zob. (3.30)) (3.46a) Uwaga: Teoretycznie wybór osi układu współrzędnych, na którą przekształcamy prostą l (oś obrotu), jest dowolny. Jeżeli wybierzemy oś x lub y, to wystarczy we wzorach (3.43a) i (3.45a) odpowiednio zamienić współrzędne punktów. W praktyce, w celu minimalizacji błędów działań arytmetycznych, wybieramy tę oś, dla której mianowniki we wspomnianych wzorach są największe (co do wartości bezwzględnej).

3.6. Przekształcenia złożone w przestrzeni 53 Ostatnim punktem rozpatrywanego przypadku jest wykonanie przekształceń odwrotnych do przekształceń, które przeprowadziły prostą l w oś z, tj. obrót o kąt &., następnie obrót o kąt 0 i na końcu przesunięcie o wektor v. Z własności przekształceń odwrotnych i zależności (3.40), (3.42a) i (3.44a) wynika, że macierze tych przekształceń mają postać (3.47a) (3.48a) oraz (3.49) a całe przekształcenie można zapisać (we współrzędnych jednorodnych) następująco: (3.50a) Jeżeli prosta leży w płaszczyźnie yz, tzn. jest określona równaniami (3.41b), to należy ją przekształcić na oś y lub oś z. Wybierając oś z, wykonujemy obrót o kąt &0 (wokół osi x), po czym o kąt " wokół osi z. Całe przekształcenie może być w tym przypadku opisane zależnością (3.50b) gdzie macierz ma postać (3.42a), (3.46a), (3.48a), kąt 0 jest określony wzorem (3.43a), a macierze i dane są wzorami (3.40) i (3.49). Podobne rozważania dla przypadku, gdy prosta obrotu wybierzemy oś x, prowadzą do zależności jest określona wzorem (3.41c), a za oś

54 III. Przekształcenia w przestrzeni trójwymiarowej (3.50c) gdzie (zob. (3.31) i (3.32)) (3.42c) (3.43c) (3.46c) (3.48c) Gdy prostą określają równania (3.41d), a za oś obrotu przyjmiemy oś y, otrzymujemy (3.50d) gdzie

3.6. Przekształcenia złożone w przestrzeni 55 (3.42d) (3.43d) (3.46d) (3.48d) Jeśli prosta pokrywa się z osią z, tzn. jest określona równaniami (3.41e), to wystarczy wykonać obrót o kąt " wokół tej osi. W tym przypadku całe przekształcenie jest określone zależnością (3.50e) gdzie macierz ma postać (3.46a). W przypadku, gdy prosta pokrywa się z osią x (równania (3.41f)), otrzymujemy (3.50f)

56 przy czym macierz III. Przekształcenia w przestrzeni trójwymiarowej ma postać (3.46c), a przy pokryciu z osią y (równania (3.41g)) mamy (3.50g) gdzie macierz dana jest wzorem (3.46d). 3.6.2. Symetria względem płaszczyzny Każde równanie liniowe względem współrzędnych określa w przestrzeni płaszczyznę, przy czym tę samą płaszczyznę można przedstawić równaniami o różnych postaciach (np. równaniem ogólnym, normalnym, odcinkowym). Wybór określonej postaci równania płaszczyzny zależy od rozwiązywanego zadania i co się z tym wiąże od tego, jakie wielkości są znane. W tym podpunkcie do określenia punktu, symetrycznego do punktu P względem płaszczyzny = (zob. rys. 37), rozważymy dwa przypadki:! gdy płaszczyzna przechodzi przez dany punkt P 0 o współrzędnych (x 0, y 0, z 0 ) i jest prostopadła do wektora n ' n 1 i % n 2 j % n 3 k; jej równanie ma wówczas postać (3.51)! gdy jest dane równanie ogólne płaszczyzny, tj. (3.52) Rys. 37. Symetria względem płaszczyzny W pierwszym przypadku znalezienie współrzędnych punktu polega na przekształceniu płaszczyzny = na jedną z płaszczyzn układu (xy, yz lub zx), wykonaniu względem

3.6. Przekształcenia złożone w przestrzeni 57 niej symetrii, po czym na przeprowadzeniu transformacji odwrotnej, która płaszczyznę układu przekształci z powrotem na płaszczyznę =. Jeśli wybierzemy płaszczyznę xy i założymy, że n 2 0 lub n 3 0, to kolejno wykonywanymi przekształceniami będą: a) przesunięcie punktu P 0 do początku układu współrzędnych, tj. translacja o wektor & v ' & x 0 i & y 0 j & z 0 k, której macierz (we współrzędnych jednorodnych) ma postać (3.53) b) przekształcenie wektora n na wektor prostopadły do płaszczyzny xy (w tym celu należy wykonać obrót o kąt & 0 wokół osi x, a następnie obrót o kąt. wokół osi y). Macierzą tego przekształcenia jest gdzie macierze występujące z prawej strony są dane wzorami (3.44a) i (3.42a). Uwzględniając, że gdzie otrzymujemy stąd (3.54) c) symetria względem płaszczyzny xy, której macierz M xy ma postać (3.38), d) przekształcenie odwrotne do podanego w punkcie b), e) przekształcenie odwrotne do podanego w punkcie a). Całe przekształcenie jest złożeniem przekształceń a) e) i we współrzędnych jednorodnych może być zapisane w postaci

58 III. Przekształcenia w przestrzeni trójwymiarowej (3.55) gdzie Jeżeli n 2 ' n 3 ' 0, tzn. n ' n 1 i, to do przekształcenia wektora n na wektor prostopadły do płaszczyzny xy wystarczy wykonać obrót o kąt ±90 wokół osi y. W tym przypadku macierz A n redukuje się do macierzy (por. (3.54)) Gdy wektor n jest prostopadły do płaszczyzny xy, tj. gdy płaszczyzna = jest równoległa do xy, macierz A n jest macierzą jednostkową i symetrię opisuje zależność (por. (3.55)) Uwaga: Wybór płaszczyzny układu, na którą przekształcamy płaszczyznę symetrii =, jest w zasadzie dowolny. Przy wyborze płaszczyzny yz lub zx wystarczy odpowiednio zmienić macierz A n. W praktyce (w celu minimalizacji błedów) wybieramy tę płaszczyznę, dla której mianowniki elementów tej macierzy są największe.

3.6. Przekształcenia złożone w przestrzeni 59 Jeśli płaszczyzna symetrii = jest określona równaniem ogólnym (3.52), to punkt można wyznaczyć z warunku, że wektor Ai % Bj % Ck jest do niej prostopadły, a więc współrzędne punktu Q, będącego rzutem prostopadłym punktu P na =, są określone zależnością (3.56) czyli (3.57) Ponieważ punkt Q leży na płaszczyźnie =, więc (3.58) Po podstawieniu wzorów (3.56) do zależności (3.58) otrzymujemy równanie, z którego można wyznaczyć parametr 8: skąd (3.59) Z drugiej strony mamy Po podstawieniu do tych równań zależności (3.57) i uwzględnieniu wzoru (3.59) otrzymujemy (3.60) co we współrzędnych jednorodnych można zapisać w postaci (3.61) gdzie

60 III. Przekształcenia w przestrzeni trójwymiarowej 3.6.3. Ogólne równanie transformacyjne w przestrzeni Przekształcenia podane w p. 3.5, 3.6.1 i 3.6.2 są szczególnymi przypadkami przekształcenia afinicznego w przestrzeni, które punkt P o współrzędnych (x, y, z) przekształca w punkt o współrzędnych. Przekształcenie to jest określone wzorami (3.62) przy czym (3.63) Warunek (3.63) zapewnia istnienie przekształcenia odwrotnego. We współrzędnych jednorodnych przekształcenie (3.62) zapisujemy w postaci (3.64) Wartości współczynników a ij (i ' 1, 2, 3; j ' 1, 2, 3, 4) dla przekształceń opisanych w p. 3.6 są zebrane w tabeli 2. 3.7. Przekształcenia deformujące Przekształcenia afiniczne nie są jedynymi przekształceniami jakim można poddać obiekt przestrzenny. Przekształceniami często stosowanymi, zwłaszcza w animacji komputerowej, są też tzw. przekształcenia deformujące. Ogólnie przekształcenia te można zapisać w postaci (3.65) gdzie (x, y, z) oznaczają współrzędne punktu obiektu przed deformacją, a (X, Y, Z) po deformacji. Należy zaznaczyć, że przekształcenia postaci (3.65) stosuje się na ogół w stosunku do pewnego zbioru punktów (na przykład wierzchołków prostopadłościanu). Oczywiście bez znajomości funkcji deformujących F x, F y i F z nie można nic powiedzieć o samym przekształceniu. Zauważmy jednak, że przekształcenie afiniczne (3.62) jest szczególnym przypadkiem przekształcenia (3.65), choć nie jest ono deformujące (w potocznym znaczeniu tego słowa). Nasze rozważania ograniczymy tu do przedstawienia trzech najczęściej spotykanych przekształceń deformujących: zwężania, skręcania i wyginania. Pierwsze z nich zwężanie (ang. ta-

3.7. Przekształcenia deformujące 61 Tabela 2. Współczynniki przekształcenia afinicznego w przestrzeni w przypadkach szczególnych Przekształcenie Współczynniki Uwagi Przesunięcie a 11 ' a 22 ' a 33 ' 1, a 12 ' a 13 ' a 21 ' a 23 ' a 31 ' a 32 ' 0, a 14 ' t x, a 24 ' t y, a 34 ' t z Obrót wokół osi x a 11 ' 1, a 12 ' a 13 ' a 14 ' a 21 ' a 24 ' a 31 ' a 34 ' 0, a 22 ' a 33 ' cos>, a 23 ' sin>, a 32 ' &sin> Obrót wokół osi y Obrót wokół osi z Skalowanie względem początku układu Skalowanie względem ustalonego punktu Symetria względem płaszczyzny xy Symetria względem płaszczyzny yz Symetria względem płaszczyzny zx a 11 ' a 33 ' cosr, a 12 ' a 14 ' a 21 ' a 23 ' a 24 ' a 32 ' a 34 ' 0, a 13 ' &sinr, a 22 ' 1, a 31 ' sinr a 11 ' a 22 ' cosn, a 12 ' sinn, a 13 ' a 14 ' a 23 ' a 24 ' a 31 ' a 32 ' a 34 ' 0, a 21 ' &sinn, a 33 ' 1 a 11 ' s x, a 12 ' a 13 ' a 14 ' a 21 ' a 23 ' a 24 ' 0, a 31 ' a 32 ' a 34 ' 0 a 22 ' s y, a 33 ' s z a 11 ' s x, a 12 ' a 13 ' a 21 ' a 23 ' a 31 ' a 32 ' 0, a 14 ' (1 & s x )x R, a 22 ' s y, a 24 ' (1 & s y )y R, a 33 ' s z, a 34 ' (1 & s z )z R a 11 ' a 22 ' 1, a 12 ' a 13 ' a 14 ' a 21 ' a 23 ' a 24 ' 0, a 31 ' a 32 ' a 34 ' 0, a 33 ' &1 a 11 ' &1, a 12 ' a 13 ' a 14 ' a 21 ' a 23 ' a 24 ' 0, a 31 ' a 32 ' a 34 ' 0, a 22 ' a 33 ' 1 a 11 ' a 33 ' 1, a 12 ' a 13 ' a 14 ' a 21 ' a 23 ' a 24 ' 0, a 31 ' a 32 ' a 34 ' 0, a 22 ' &1 t x, t y i t z oznaczają składowe wektora przesunięcia > oznacza kąt obrotu R oznacza kąt obrotu n oznacza kąt obrotu s x, s y i s z oznaczają stałe skalowania s x, s y i s z oznaczają stałe skalowania. Punkt (x R, y R, z R ) jest punktem, względem którego następuje skalowanie. pering) jest pewnym uogólnieniem skalowania. W przekształceniu tym wybieramy oś zwężania (najczęściej przyjmuje się, że jest ona jedną z osi układu współrzędnych) i przekształcamy współrzędne punktów za pomocą funkcji skalujących określonych wzdłuż tej osi. Jeśli za oś zwężania przyjmiemy oś z, to przekształcenie określają zależności (3.66) Zauważmy, że jeśli f(z) ' const, to zależności (3.66) określają skalowanie wzdłuż osi x i y (o takich samych stałych skalowania). W ogólności funkcja f(z) nie musi być liniowa, a dalsze uogólnienie może polegać na określeniu różnych funkcji do przekształcania współrzędnych x i y.

62 III. Przekształcenia w przestrzeni trójwymiarowej Jeśli osią zwężania jest oś x, to przekształcenie definiują wzory a w przypadku osi y mamy (3.67) (3.68) Podobnie jak zwężanie jest pewnym uogólnieniem skalowania, tak skręcanie (ang. twisting) można uważać za pewne uogólnienie obrotu wokół osi. Jeśli założymy, że osią skręcania jest oś z, to wzorami określającymi to przekształcenie są: Gdy f(z) ' const, to powyższe zależności określają obrót wokół osi z (zob. (3.27)). Skręcenie wzdłuż osi x określają wzory a wzdłuż osi y zależności (3.69) (3.70) (3.71) Wygięcie (ang. bending) liniowe wzdłuż osi jest przekształceniem złożonym. W przekształceniu tym wyróżnia się obszar wygięcia i obszar leżący poza nim, w którym deformacja obiektu polega na obrocie i przesunięciu. Przyjmując, że osią wygięcia jest oś y, obszar wygięcia można określić następująco: (3.72) a więc jako zbiór punktów, których współrzędna y jest ograniczona z dołu i z góry przez pewne zadane wielkości. Jeśli promień krzywizny wygięcia będzie równy 1/k, a środkiem wygięcia punkt o współrzędnej y ' y 0, to kąt wygięcia można określić wzorem gdzie (3.73) (3.74) Całe przekształcenie (wygięcie wzdłuż osi y) opisują zależności:

3.7. Przekształcenia deformujące 63 Rys. 38. Przekształcenia deformujące: zwężenie (b), skręcenie (c) i wygięcie (d)

64 III. Przekształcenia w przestrzeni trójwymiarowej (3.75) W przypadku wygięcia wzdłuż osi x odpowiednie zależności (odpowiadające zależnościom (3.73) (3.75)) mają postać a dla osi z mamy

3.7. Przekształcenia deformujące 65

IV. RZUTOWANIE 4.1. Wprowadzenie Reprezentacja obiektu trójwymiarowego na płaskim ekranie monitora wymaga podobnie jak jego przedstawienie na kartce papieru wykonania przekształcenia zwanego rzutowaniem. Otrzymany obraz obiektu powinien posiadać określone cechy obiektu rzeczywistego, na przykład zachowywać jego wymiary i (lub) kształt. Nie zawsze realistyczna wizualizacja obiektu jest przy tym cechą pożądaną (przykładem może być rysunek techniczny). W zależności od wymaganych cech obrazu obiektu wyróżniamy dwie klasy rzutowań: rzut równoległy i perspektywę (rzut perspektywiczny) zob. tabela 3. Rzut równoległy zachowuje równoległość prostych, stosunek długości odcinków równoległych i związki miarowe figury płaskiej równoległej do płaszczyzny rzutowania. Rzut perspektywiczny zmienia relacje odległości, ale dzięki temu otrzymywany obraz jest bardziej realistyczny. W kolejnych dwu punktach tego rozdziału są podane ogólne zależności dotyczące obu klas rzutów i ich przypadków szczególnych. Układ współrzędnych prostokątnych, w którym będziemy rozważać poszczególne rzuty, nie będzie przy tym związany z układem współrzędnych ekranu, chociaż podane wzory służą właśnie do przedstawiania obiektów trójwymiarowych na ekranie. Tabela 9. Rodzaje rzutów rzut perspektywiczny równoległy z jednym głównym punktem zbiegu z dwoma głównymi punktami zbiegu z trzema głównymi punktami zbiegu ortogonalny aksonometryczny wojskowy izometryczny dimetryczny anizometryczny nieortogonalny wielowidokowy kawalerski gabinetowy 4.2. Perspektywa Perspektywę charakteryzują tzw. skróty perspektywiczne i punkty zbiegu. Skrót perspektywiczny powoduje wrażenie, że obiekty (odcinki) leżące dalej od środka rzutowania są mniejsze (krótsze). Inne wrażenie polega na tym, że pęki prostych równoległych zbiegają się w pewnych punktach. Punkty te nazywają się punktami zbiegu (punktami zbieżności prostych rów-

4.2. Perspektywa 67 noległych). Punkty zbiegu prostych równoległych do osi kartezjańskiego układu współrzędnych nazywa się głównymi punktami zbiegu. Liczba głównych punktów zbiegu zależy od wzajemnego położenia układu współrzędnych i płaszczyzny rzutowania (zob. rys. 39). Wyróżniamy:! perspektywę z jednym głównym punktem zbiegu, gdy jedna oś kartezjańskiego układu współrzędnych przecina płaszczyznę rzutowania,! perspektywę z dwoma głównymi punktami zbiegu, gdy dwie osie kartezjańskiego układu współrzędnych przecinają płaszczyznę rzutowania,! perspektywę z trzema głównymi punktami zbiegu, jeśli wszystkie osie kartezjańskiego układu współrzędnych przecinają płaszczyznę rzutowania. Rys. 59. Rzut perspektywiczny z jednym (a), dwoma (b) i trzema (c) g»ównymi punktami zbiegu Skrót perspektywiczny i punkty zbiegu, które z jednej strony dają wrażenie głębi obrazu, z drugiej strony są pewnymi anomaliami rzutu perspektywicznego. Na przykład z powodu skrótu perspektywicznego dwie kule o różnych rozmiarach mogą być przedstawione na płaszczyźnie rzutowania dokładnie tak samo (wystarczy, by płaszczyzna rzutowania była umieszczona przed kulą mniejszą, a kula większa znalazła się w odpowiedniej za nią odległości zob. rys. 40). Istnienie punktów zbiegu powoduje, że proste równoległe, które nie są równoległe do płaszczyzny rzutowania zostaną na niej przedstawione jako proste nierównoległe. Oprócz tego w rzucie perspektywicznym występują jeszcze dwie anomalie : przekręcenie obrazu i zniekształcenie topologiczne. Z przekręceniem obrazu mamy do czynienia w przypadku, gdy obiekt znajduje się z tej samej strony płaszczyzny rzutowania, co środek rzutowania, ale jego odległość od tej płaszczyzny jest większa od odległości środka rzutowania (mówiąc inaczej: gdy obiekt znajduje się za obserwatorem). Taki obiekt na płaszczyźnie rzutowania zostanie przedstawiony do góry nogami i wstecznie (zob. rys. 41). Zniekształcenie (dystorsja) topologiczne polega na tym, że punkty płaszczyzny przechodzącej przez środek rzutowania i równoległej do płaszczyzny rzutowania są przez perspektywę przekształcane do nieskończoności. W szczególności oznacza to, że odcinek łączący punkt znajdujący się za obserwatorem z punktem poło-

68 IV. Rzutowanie żonym przed nim jest odwzorowywany w dwie rozłączne półproste leżące na jednej prostej (zob. rys. 42). Rys. 40. Anomalia skrótu perspektywicznego Rys. 41. Przekręcenie obrazu Rys. 42. Zniekształcenie topologiczne

4.2. Perspektywa 69 W celu podania zależności pomiędzy współrzędnymi (x, y, z) dowolnego punktu P (w układzie współrzędnych obserwatora) oraz współrzędnymi jego obrazu perspektywicznego konieczne jest określenie środka i płaszczyzny rzutowania. Załóżmy, że środkiem rzutowania jest punkt C o współrzędnych (a, b, c), a płaszczyzna rzutowania przechodzi przez punkt S o współrzędnych (x 0, y 0, z 0 ) i jest prostopadła do wektora n ' n 1 i % n 2 j % n 3 k (zob. rys. 43). Rys. 43. Rzut perspektywiczny Uwaga: Jeżeli płaszczyzna rzutowania jest określona równaniem ogólnym Ax % By % Cz % D ' 0, to składowymi wektora n są: n 1 ' A, n 2 ' B i n 3 ' C, a za punkt S można przyjąć punkt o współrzędnych: (& D/A, 0, 0), gdy A 0, (0, & D/B, 0), gdy B 0 lub (0, 0, & D/C), gdy C 0. Rozważmy najpierw najprostszy przypadek, gdy płaszczyzna rzutowania pokrywa się z jedną z płaszczyzn układu, na przykład z płaszczyzną xy (przypadek ten jest o tyle interesujący, że odpowiada rzutowaniu na płaszczyznę ekranu w jego układzie współrzędnych), a środek rzutowania leży na osi z (zob. rys. 44) i ma współrzędne (0, 0, c). Jeśli środek rzutowania jest umiejscowiony tak, jak przedstawiono na rys. 44, to c < 0, ale w ogólnym przypadku wystarczy założyć, że c jest różne od współrzędnej z punktu P (w przeciwnym przypadku wystąpiłoby wspomniane zniekształcenie topologiczne). Z podobieństwa trójkątów ABC i znajdujemy, że W podobny sposób możemy wyznaczyć związek pomiędzy i y. Zatem mamy

70 IV. Rzutowanie (4.1) Ponieważ przekształcenia perspektywiczne nie są liniowe, równania (4.1) nie mogą być bezpośrednio zapisane w postaci macierzowej. Jeśli jednak użyjemy współrzędnych jednorodnych, to możemy napisać (4.2) gdzie macierz (4.3) jest macierzą rozważanego przekształcenia. Rys. 44. Rzut perspektywiczny na płaszczyznę xy Nietrudno wywnioskować, że w przypadku, gdy płaszczyzną rzutowania jest płaszczyzna yz (x ' 0), a środek rzutowania leży na osi x, tj. ma współrzędne (a, 0, 0), to macierzą przekształcenia (we współrzędnych jednorodnych) jest (4.4)

4.2. Perspektywa 71 Gdy płaszczyzną rzutowania jest płaszczyzna zx (y ' 0), a środkiem rzutowania punkt o współrzędnych (0, b, 0), to macierz przekształcenia ma postać (4.5) Umiejscowienie środka rzutowania na jednej z osi układu współrzędnych jest dużym ograniczeniem (na przykład, rzutując obiekt trójwymiarowy na ekran monitora zwykle umiejscawiamy środek rzutowania na prostej prostopadłej do powierzchni ekranu i przechodzącej przez jego środek). Rozważmy zatem przypadek ogólniejszy, gdy środek rzutowania ma współrzędne (a, b, c), ale płaszczyzną rzutowania jest nadal jedna z płaszczyzn układu współrzędnych. Ponieważ wektory PC i są równoległe (leżą na tej samej prostej zob. rys. 45), więc co w postaci skalarnej można przedstawić za pomocą zależności (4.6) Rys. 45. Rzut perspektywiczny na płaszczyznę xy ze środkiem rzutowania nie leżącym na osi z Liczbę " można wyznaczyć z warunku, że punkt leży na płaszczyźnie rzutowania. Jeśli będzie nią płaszczyzna xy, oznacza to, że i z ostatniego równania (4.6) otrzymujemy Po podstawieniu do równania (4.6) mamy

72 IV. Rzutowanie (4.7) We współrzędnych jednorodnych powyższe wzory można zapisać następująco (4.8) Zauważmy, że jeśli we wzorach (4.7) i (4.8) przyjmiemy a ' b ' 0, to otrzymamy wzory odpowiednio (4.1) i (4.2). Jeżeli płaszczyzną rzutowania będzie płaszczyzna yz lub zx, to macierzami (we współrzędnych jednorodnych) odpowiednich przekształceń perspektywicznych będą następujące macierze: (4.9) Oczywiście podane poprzednio macierze (4.4) i (4.5) są przypadkami szczególnymi macierzy (4.9). Wszystkie dotąd opisane rzuty perspektywiczne posiadają jeden główny punkt zbiegu. Perspektywę z dwoma punktami zbiegu otrzymamy w przypadku, gdy płaszczyzna rzutowania nie będzie równoległa do żadnej z płaszczyzn układu współrzędnych, ale będzie równoległa do jednej z osi układu. Jeśli drugi warunek nie będzie spełniony, to perspektywa będzie mieć trzy główne punkty zbiegu. Przed podaniem ogólnych równań rzutu perspektywicznego, z których można otrzymać perspektywę z jednym, dwoma lub trzema punktami zbiegu, rozważmy jeszcze przypadek, gdy środek rzutowania C pokrywa się z początkiem O układu współrzędnych, a płaszczyzna rzutowania jest dowolna (zakładamy oczywiście, że środek rzutowania w tym przypadku początek układu współrzędnych nie leży na tej płaszczyźnie). Jeśli C ' O, to równość wektorowa jest równoważna równości skąd otrzymujemy (4.10) Ponieważ założyliśmy (zob. str. 69), że płaszczyzna rzutowania jest określona przez punkt S i wektor normalny n, to jej równanie można zapisać w postaci (4.11) Punkt leży na płaszczyźnie rzutowania, a więc spełnia jej równanie. Z zależności (4.11) mamy zatem

4.2. Perspektywa 73 skąd, po uwzględnieniu wzorów (4.10), otrzymujemy tj. (4.12) Wzory (4.10), gdzie " jest określone zależnością (4.12), określają zatem rzut perspektywiczny w przypadku, gdy środek rzutowania pokrywa się z początkiem układu. Macierzą tego przekształcenia we współrzędnych jednorodnych jest macierz (4.13) W celu otrzymania równań rzutu perspektywicznego w przypadku ogólnym wystarczy zauważyć, że przekształcenie to składa się z trzech przekształceń:! przesunięcia układu współrzędnych tak, by jego początek pokrył się ze środkiem rzutowania C (przy tej translacji punkt R płaszczyzny rzutowania zostaje przekształcony w punkt o współrzędnych (x 0 & a, y 0 & b, z 0 & c), a wektor n nie ulega zmianie, gdyż translacja nie zmienia współrzędnych wektora),! rzutu perspektywicznego ze środkiem rzutowania umiejscowionym w początku układu, przy czym należy pamiętać, że płaszczyzna rzutowania jest teraz określona równaniem! przesunięcia układu współrzędnych z powrotem (do pierwotnego położenia). Macierz tego przekształcenia jest iloczynem trzech macierzy (por. (3.2) i (4.13)): gdzie We współrzędnych jednorodnych możemy zatem przekształcenie zapisać w postaci

74 IV. Rzutowanie a we współrzędnych kartezjańskich odpowiednie wzory będą następujące: gdzie (4.14) (4.15) Zauważmy, że wzory podane poprzednio są przypadkami szczególnymi wzorów (4.14) i (4.15): dla a ' b ' c ' 0 otrzymujemy zależności (4.10) (4.12), dla x 0 ' y 0 ' z 0 ' 0 oraz n 1 ' n 2 ' 0, n 3 ' 1 i dowolnych a, b, c wzory (4.7), a przy dodatkowym założeniu, że a ' b ' 0 wzory (4.1). Ciekawym zagadnieniem (nie tylko z matematycznego punktu widzenia) jest znajdowanie dla danego rzutu perspektywicznego głównych punktów zbiegu i punktu zbiegu w kierunku określonym przez dany wektor u ' u 1 i % u 2 j % u 3 k. Rozważymy najpierw drugie z tych zagadnień, gdyż pierwsze jest jego przypadkiem szczególnym główne punkty zbiegu są punktami zbiegu w kierunkach określonych przez wektory jednostkowe i, j i k. Rodzina prostych równoległych o kierunku określonym przez pewien wektor u jest zdefiniowana wzorami (4.16) gdzie t oznacza parametr, a p, q i r oznaczają współrzędne dowolnego punktu (przez każdy punkt o danych współrzędnych (p, q, r) przechodzi dokładnie jedna prosta należąca do rodziny). Po podstawieniu zależności (4.16) do wzorów (4.14) (4.15) mamy (4.17) gdzie (4.18) Punkt zbiegu w kierunku wektora u jest tym punktem o współrzędnych t 6 4. Przechodząc zatem we wzorach (4.17) (4.18) do granicy, otrzymujemy, dla którego (4.19)

4.2. Perspektywa 75 gdzie (4.20) Punkt zbiegu, określony wzorami (4.19) (4.20), leży na prostej przechodzącej przez środek rzutowania i równoległej do wektora u. Zauważmy, że gdy wektor u jest równoległy do płaszczyzny rzutowania, to punkt zbiegu w kierunku tego wektora nie istnieje, gdyż wówczas n 1 u 1 % n 2 u 2 % n 3 u 3 ' 0. Z wzorów (4.19) (4.20) można otrzymać współrzędne głównych punktów zbiegu. Przyjmując u 1 ' 1 i u 2 ' u 3 ' 0 otrzymujemy główny punkt zbiegu P x w kierunku wektora i, tj. w kierunku osi x. Dla u 2 ' 1 i u 1 ' u 3 ' 0 wzory te określają główny punkt zbiegu P y w kierunku wektora j (osi y), a dla u 1 ' u 2 ' 0 i u 3 ' 1 główny punkt zbiegu P z w kierunku wektora k (osi z). Współrzędne tych punktów są następujące: (4.21) Z powyższych wzorów można natychmiast wywnioskować, kiedy otrzymuje się jeden, kiedy dwa, a kiedy trzy główne punkty zbiegu decyduje o tym wartość 0 (zero) dwu, jednej lub żadnej z liczb n 1, n 2 i n 3, a więc usytuowanie płaszczyzny rzutowania względem układu współrzędnych.