Trójwymiarowa grafika komputerowa rzutowanie Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej
Rzutowanie w przestrzeni 3D etapy procesu rzutowania określenie rodzaju rzutu określenie parametrów rzutowania obcinanie w trzech wymiarach rzutowanie i wyświetlanie
Rzutowanie w przestrzeni 3D Koncepcyjny model procesu rzutowania 3D
Rzuty rzuty przekształcają punkty w n-wymiarowym układzie współrzędnych w punkty w układzie współrzędnych o wymiarze mniejszym niż n rzut obiektu 3D jest określony przez promienie rzutujące wychodzące ze środka rzutowania, przechodzące przez każdy punkt obiektu i przecinające płaszczyznę rzutowania
Rzutowanie w przestrzeni 3D Klasyfikacja płaskich rzutów geometrycznych
Rzutowanie perspektywiczne
Rzuty odcinek AB i jego rzut perspektywiczny
Rzuty odcinek AB i jego rzut równoległy
Rzuty perspektywiczne rzuty perspektywiczne dowolnego zbioru linii równoległych, które nie są równoległe do rzutni, zbiegają się w punkcie zbieżności. jeżeli rozważany zbiór linii jest równoległy do jednej z trzech osi, to punkt, w którym się zbiegają jest określany jako osiowy punkt zbieżności. rzuty perspektywiczne są dzielone ze względu na liczbę osiowych punktów zbieżności.
Rzuty perspektywiczne jednopunktowy rzut perspektywiczny sześcianu na płaszczyznę przecinającą oś Z z z
Rzuty perspektywiczne konstrukcja jednopunktowego rzutu perspektywicznego
Rzuty perspektywiczne rzut sześcianu w perspektywie dwupunktowej z x y
Rzutowanie równoległe
Rzuty równoległe rozróżniamy rzuty: prostokątny skośny najbardziej typowe rzuty ortogonalne: przedni górny boczny
Rzuty równoległe konstrukcja trzech rzutów prostokątnych:
Rzuty równoległe w aksonometrycznych rzutach prostokątnych rzutnia nie jest prostopadła do głównej osi co umożliwia obserwację kilku stron obiektu. często stosowanym rzutem aksonometrycznym jest rzut izometryczny normalna do rzutni tworzy równe kąty z głównymi osiami
Rzuty równoległe konstrukcja rzutu izometrycznego dla sześcianu jednostkowego:
Rzuty równoległe rzuty ukośne normalna do rzutni i kierunek rzutowania różnią się łączą własności rzutów prostokątnych czołowego, górnego i bocznego z właściwościami rzutu aksonometrycznego na rzutach innych płaszczyzn obiektu można dokonywać pomiarów odległości wzdłuż głównych osi, ale nie dotyczy to kątów.
Rzuty równoległe konstrukcja rzutu ukośnego
Dowolny rzut 3D Rzutnia inaczej płaszczyzna rzutowania, Płaszczyznę rzutowania określa: punkt na tej płaszczyźnie tzw. punkt odniesienia rzutni (VRP), normalna do płaszczyzny tzw. Normalna do rzutni (VPN),
Dowolny rzut 3D W celu wyznaczenia okna dla rzutni należy określić: minimalną i maksymalną współrzędną okna, układ współrzędnych rzutowania (VRC), dwie osie na rzutni jedna do niej prostopadła, punkt (VRP) będący początkiem układu (VRC)
Dowolny rzut 3D jedną z osi układu (VRC) jest oś normalna oznaczana jako n wyznaczana przez wektor normalny (VPN) drugą oś układu (VRC) oznaczaną jako v wyznacza wektor (VUP) skierowany ku górze, a właściwie jego rzut
Dowolny rzut 3D rzutnia jest wyznaczana przez wektor (VPN) i punkt (VRP), oś v określona przez rzut wektora (VUP) równolegle do (VPN) na rzutnię, oś u tworzy z osiami n i v prawoskrętny układ współrzędnych
Dowolny rzut 3D Układ współrzędnych rzutowania (VRC) Dla przyjętego układu rzutowania można określić współrzędne u i v okna rzutowania
Rzut perspektywiczny bryła widzenia jest otwartym ostrosłupem z wierzchołkiem w (PRP) i krawędziach przechodzących przez rogi okna, obszar z tyłu za środkiem rzutu nie jest włączany do bryły widzenia
Rzut równoległy bryła widzenia jest nieskończonym równoległościanem o bokach równoległych do kierunku rzutowania, jest to kierunek od punktu (PRP) do środka okna.
Dowolny rzut 3D W celu zmniejszenia liczby rzutowanych prymitywów stosuje się ograniczoną bryłę widzenia: zastosowanie płaszczyzn obcinających, płaszczyzny są równoległe do rzutni, Normalna do płaszczyzn to wektor (VPN).
Rzut równoległy 3D Obcięta bryła widzenia dla rzutu równoległego prostokątnego. (DOP) kierunek rzutu.
Obcieta bryła widzenia eliminacja niepotrzebnych obiektów, możliwość skoncentrowania się na określonym fragmencie sceny, eliminacja obiektów bardzo odległych od środka rzutowania.
Rzut perspektywiczny 3D Obcięta bryła widzenia dla rzutu perspektywicznego.
Dowolny rzut 3D Do reprezentowania pełnego zbioru parametrów rzutowania, standartowo wykorzystuje się dwie macierze 4x4: macierz odwzorowania rzutu macierz orientacji rzutu
Dowolny rzut 3D Macierz orientacji rzutu tworzą: (VRP), (VPN), (VUP) macierz ta przekształca pozycje reprezentowane we współrzędnych świata w pozycje reprezentowane w układzie współrzędnych rzutowania VRC przy tym przekształceniu istnieje ścisła relacja pomiędzy osiami u, v i n oraz x, y, z
Dowolny rzut 3D Macierz odwzorowania rzutu tworzą: parametry bryły widzenia określone przez: (PRP), u min, u max, y min, y max, F (płaszczyzna front ) i B (płaszczyzna back ) razem z parametrami pola wizualizacji 3D określonymi przez x min, x max, y min, y max, z min, z max. przy tym przekształceniu punkty z układu (VRC), przechodzą w punkty w znormalizowanych współrzędnych rzutowania (NPC) o zakresie współrzędnych 0 do 1. Sciana z = 1 w układzie NPC jest odwzorowywana na największy kwadrat możliwy do wyświetlenia.
Dowolny rzut 3D przykłady rzutowania Dwupunktowy rzut perspektywiczny domu
Dowolny rzut 3D Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (0, 0, 0) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (0.5, 0.5, 1.0) okno (VRC) (0, 1, 0, 1) rodzaj rzutu równoległy
Dowolny rzut 3D Dom używany jako przykład zestawu danych.
Dowolny rzut 3D a) Związek między współrzędnymi układu rzutowania a współrzędnymi układu świata. Przypadek gdzie współrzędne u,v,n pokrywają się ze współrzędnymi x,y,z
Dowolny rzut 3D b) Domniemana bryła widzenia dla rzutu równoległego
Dowolny rzut 3D c) Bryła widzenia dla rzutu perspektywicznego.
Dowolny rzut 3D rzuty perspektywiczne Efekt rzutowania perspektywicznego jednopunktowego można uzyskać: na przedniej płaszczyźnie bryły widzenia umieszcza się środek rzutowania (8, 6, 84), wartość x tak dobrana aby znajdowała się w połowie poziomego wymiaru okna, wartość y tak dobrana aby dopowiadała przybliżonemu poziomowi oka obserwatora, wartość z przesunięta o 30 jednostek przed dom.
Dowolny rzut 3D rzuty perspektywiczne Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (0, 0, 0) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (8, 6, 84) okno (VRC) (-50, 50, -50, 50) rodzaj rzutu perspektywiczny
Dowolny rzut 3D rzuty perspektywiczne Rzut domu w perspektywie jednopunktowej.
Dowolny rzut 3D rzuty perspektywiczne Efekt rzutowania perspektywicznego można uzyskać: przednia ściana domu i rzutnia pokrywają się umieszczamy rzutnię w płaszczyźnie ściany przedniej domu przyjmując punkt (VRP) np. (0, 0, 54) określamy środek rzutu (PRP) w układzie (VRC) (8, 6, 30)
Dowolny rzut 3D rzuty perspektywiczne Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (0, 0, 54) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (8, 6, 30) okno (VRC) (-1, 17, -1, 17) rodzaj rzutu perspektywiczny
Dowolny rzut 3D Zestaw parametrów rzutowania.
Dowolny rzut 3D rzuty perspektywiczne Efekt rzutowania perspektywicznego można uzyskać również: punkt VRP określamy (8, 6, 54), środek rzutu PRP znajduje się w punkcie (0, 0, 30), zmiana okna rzutowania.
Dowolny rzut 3D rzuty perspektywiczne Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (8, 6, 54) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (0, 0, 30) okno (VRC) (-9, 9, -7, 11) rodzaj rzutu perspektywiczny
Dowolny rzut 3D Alternatywne parametry rzutowania.
Dowolny rzut 3D rzuty perspektywiczne Tworzenie rzutu perspektywicznego z dwoma punktami zbieżności: środek rzutowania umieszczamy w punkcie (36, 25, 74), punkt (VRP) umieszczamy w (16, 0, 54), rzutnia pokrywa się z przodem budynku.
Dowolny rzut 3D rzuty perspektywiczne Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (16, 0, 54) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (25, 25, 20) okno (VRC) (-20, 20, -5, 35) rodzaj rzutu perspektywiczny
Dowolny rzut 3D Rzut perspektywiczny domu z (36,25,74) z punktu (VPN). Wektor normalny jest równoległy do osi z.
Dowolny rzut 3D rzuty perspektywiczne Ponieważ powyższy rzut jest jednopunktowy należy: zmienić orientację rzutni aby przecinała obie osie x i y, ustalić wektor (VPN) (1, 0, 1)
Dowolny rzut 3D rzuty perspektywiczne Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (16, 0, 54) Początek układu VPN (1, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (25, 25, 20 2 ) okno (VRC) (-20, 20, -5, 35) rodzaj rzutu perspektywiczny
Dowolny rzut 3D rzuty perspektywiczne Rzutnia i układ współrzędnych (VRC).
Dowolny rzut 3D rzuty perspektywiczne Rzut domu uzyskany po obrocie wektora (VUP).
Dowolny rzut 3D rzuty równoległe Określenie rzutu równoległego: przyjęcie, że kierunek rzutowania jest równoległy do osi z, kierunek rzutowania jest określony przez (PRP) i środek okna. punkt (PRP) o współrzędnych (8, 8, 100) określa kierunek rzutowania,
Dowolny rzut 3D rzuty równoległe Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (0, 0, 0) Początek układu VPN (0, 0, 1) Oś z VUP (0, 1, 0) Oś y PRP (8, 8, 100) okno (VRC) (-1, 17, -1, 17) rodzaj rzutu równoległy
Dowolny rzut 3D rzuty równoległe Parametry rzutowania z czołowym rzutem domu. Punkt (PRP) może być w dowolnym miejscu dla którego x=8, y=8.
Dowolny rzut 3D skończone bryły widzenia Czołowy rzut perspektywiczny z obciętą tylną ścianą uzyskuje się: do parametrów rzutowania dodaje się płaszczyzny obcinania F i B, w przypadku danej odległości następuje obcinanie.
Dowolny rzut 3D skończone bryły widzenia Parametry rzutowania: Parametr rzutowania Wartość Komentarz VRP (0, 0, 54) dolny lewy róg domu VPN (0, 0, 1) oś z VUP (0, 1, 0) oś y PRP (8, 6, 30) okno (VRC) (-1, 17, -1, 17) rodzaj rzutu perspektywiczny F(VRC) +1 jedna jednostka z przodu domu dla z=54+1=55 B(VRC) -23 jedna jednostka z tyłu domu dla z=54-23=31
Dowolny rzut 3D skończone bryły widzenia Rzut perspektywiczny domu z tylną ścianą obcinającą z=31
Rzutowanie w przestrzeni 3D Rzut perspektywiczny
Rzutowanie w przestrzeni 3D Alternatywny rzut perspektywiczny
Dowolna prosta ze zbioru prostych równoległych k k k b b b z y x z y x,,,, k b x dowolny punkt prostej o równaniu: po przekształceniu perspektywicznym ma postać: d k z k y d k z k x z b y b z b x b,
Punkt na prostej ze zbioru prostych równoległych po rzutowaniu perspektywicznym inna postać współrzędnych punktu : co w granicy (gdy zmierza do nieskończoności) prowadzi do wartości niezależnych od współrzędnych punktu: z y z x k d k k d k, d z k y k d z k x k b z b y b z b x,
Rzutowanie w przestrzeni 3D Dwie kanoniczne bryły widzenia dla rzutów: a) równoległego; b) perspektywicznego
Rzutowanie w przestrzeni 3D Implementacja rzutowania 3D
Rzutowanie w przestrzeni 3D Końcowy rzut równoległy obciętego domu