Transformacje. dr Radosław Matusik. radmat

Wielkość: px
Rozpocząć pokaz od strony:

Download "Transformacje. dr Radosław Matusik. radmat"

Transkrypt

1 radmat

2 Cel wykładu Celem wykładu jest prezentacja m.in. przestrzeni modelu, świata, kamery oraz projekcji, a także omówienie sposobów oświetlania i cieniowania obiektów.

3 Pierwsze gry 3D W pierwszych grach 3D nawet tak podstawowe czynności, jak np. rysowanie linii było realizowane przez programistów odpowiedzialnych za tworzenie w grach grafiki. Zestaw algorytmów, który jest potrzebny do rysowania obiektów 3D jako 2D nosi nazwę rasteryzacji programowej. W wielu kursach grafiki komputerowej to zagadniene zajmuje istotne miejsce. Ale aktualnie używane komputery posiadają dedykowane procesory graficzne (GPU - Graphic Processing Unit), które umożliwiają rysowanie podstawowych obiektów, takich jak punkty, linie, czy trójkąty. W związku z powyższym w nowoczesnych grach nie muszą być implementowane algorytmy rasteryzacji. Zamiast dostarczania karcie graficznej danych potrzebnych do renderowania sceny 3D, używane są biblioteki graficzne, takie jak OpenGL czy DirectX.

4 Wielokąty Obiekty 3D można przedstawiać w grach na wiele sposobów. Jednak w zdecydowanej większości przypadków te obiekty są reprezentowane za pomocą wielokątów, m.in. trójkątów. Trójkąty są oczywiście najprostszymi wielokątami. Ponadto mamy zagwarantowane, że zawsze będą leżały w jednej płaszczyźnie, podczas gdy wielokąty, które mają cztery lub więcej wierzchołków, mogą leżeć w wielu płaszczyznach.

5 Rysunek: Prosta siatka modelu stworzona z trójkątów

6 Współrzędne W przypadku kartezjańskiego układu współrzędnych, jego początek jest centrum świata gry. Mogą jednak istnieć inne układy współrzędnych, zależne od umiejscowienia początków tych układów. Żeby w renderowaniu 3D wyświetlić na ekranie model trójwymiarowy musimy przejść przez cztery oddzielne przestrzenie współrzędnych: modelu; świata; kamery; projekcji.

7 Przestrzeń modelu Jeśli w naszej grze stworzymy obiekt, to wszystkie jego wierzchołki są ułożone relatywnie w stosunku do początku układu współrzędnych tego modelu. Najczęściej początek układu współrzędnych znajduje się w środku obiektu (w przypadku postaci środek układu znajduje się między jej stopami). Takie umiejscowienie początku układ współrzędnych powoduje, że w łatwy sposób można manewrować danym obiektem.

8 Załóżmy, że w danym poziomie gry rysujemy 100 różnych modeli obiektów. Ponieważ każdy z tych obiektów został stworzony w początku układu przestrzeni modelu, to każdy pojedynczy obiekt (w tym również nasz gracz!) jest ustawiony w początku układu. Żeby poprawnie stworzyć nasz świat gry potrzebujemy zatem dodatkowych układów współrzędnych.

9 Przestrzeń świata W przypadku tej przestrzeni istnieje początek układu dla całego świata gry. Każdy obiekt ma swoją pozycję i orientację, względną do początku przestrzeni świata. Kiedy dany obiekt jest wczytywany do pamięci, wszystkie jego współrzędne są wyrażone w terminach przestrzeni modelu. Zatem musimy powiedzieć karcie graficznej jedynie w którym miejscu naszej sceny (świata gry) mają zostać namalowane wszystkie obiekty (niektóre dodatkowo mogą zostać przeskalowane, inne mogą podlegać obrotom).

10 Operacje na obiektach W przestrzeni dwuwymiarowej (w grach 2D) będziemy chcieli wykonywać pewne podstawowe operacje na naszych obiektach, takie jak: translację (przesunięcie o wektor); skalowanie; obrót.

11 Translacja - przesunięcie o wektor Macierz translacji powoduje przesunięcie punktu o pewną wartość. Translacja p = [p x p y p z] T punktu p = [p x p y p z ] może być opisana przez dodanie dwóch wektorów: źródła p = [p x p y p z ] T i translacji (przesunięcia) t = [t x t y t z ] T. Wówczas otrzymujemy: p = p + t = p x p y p z + t x t y t z = p x + t x p y + t y p z + t z

12 Współrzędne homogeniczne Niektóre gry trójwymiarowe używają wektorów 4D. Współrzędne 4D używane w przestrzeni 3D noszą nazwę współrzędnych homogenicznych. Czwartą współrzędną określa się jako w. W wielu przypadkach współrzędna w wynosi albo 0, albo 1. Gdy w = 0, to oczywiście oznacza, że współrzędne homogeniczne reprezentują wektor 3D. Jeśli w = 1, to oznacza, że współrzędna reprezentuje punkt w przestrzeni 3D.

13 Operacje na macierzach i wektorach 4D Mnożenie wektora z przestrzeni 4D przez macierz o wymiarze 4 4 wygląda następująco: x y z w = x y z w a b c d e f g h i j k l m n o p x = x a + y e + z i + w m y = x b + y f + z j + w n z = x c + y g + z k + w o w = x d + y h + z l + w p

14 Macierz przekształcenia jest macierzą, która umożliwia przekształcenie wektora lub punktu w specyficzny sposób. Ta macierz pozwala na przekształcenie współrzędnych przestrzeni modelu do współrzędnych przestrzeni świata. Macierze przekształceń są reprezentowane w układzie wierszowym. Jeśli używamy biblioteki, która oczekuje układu kolumnowego (jak OpenGL), to należy wykonać transpozycję tej macierzy.

15 Następująca macierz T przesuwa punkt p = [p x p y p z ] o wektor t = [t x t y t z ]: T = t x t y t z W konsekwencji otrzymujemy: p = p + t = t x t y t z p x p y p z 1 = p x + t x p y + t y p z + t z 1

16 Załóżmy, że środek modelu znajduje się w punkcie [5, 10, 15] w przestrzeni świata. Wówczas macierz translacji przyjmuje postać T (5, 10, 15) =

17 Skalowanie Załóżmy, że przygotowaliśmy (np. w zewnętrznym programie) model naszego gracza. Ale w samej grze chcemy, żeby nasza postać była dwukrotnie większa. W praktyce to oznacza, że musimy pomnożyc każdy wierzchołek w modelu przez pewną macierz skalowania, która przeskaluje wektor lub jego pozycję wzdłuż współrzędnych.

18 Poniższa macierz S przeskaluje punkt p = [p x p y p z ] o wartość s x względem osi X, o wartość s y względem osi Y i o wartość s z względem osi Z: S = s x s y s z Jeśli s x = s y = s z (czyli gdy mamy jednakową skalę), to oznacza, że wektor zostanie przekształcony o tę samą wartość wzdłuż wszystkich współrzędnych. Jeśli zatem skala wynosi dwa, to nasz obiekt w przestrzeni świata będzie dwukrotnie większy.

19 W konsekwencji otrzymujemy: p = s x s y s z p x p y p z 1 = s x p x s y p y s z p z 1

20 Obrót Macierz obrotu umożliwia obrót wektora względem osi układu współrzędnych. Istnieją trzy różne macierze obrotu, jedna dla każdej osi kartezjańskiego układu współrzędnych. Macierze obrotu noszą nazwę obrotów Eulera. W poniższych macierzach zakładamy, że obrotu dokonujemy o kąt α.

21 Obrót w przestrzeni dwuwymiarowej Jeśli w przestrzeni 2D chcemy dokonać obrotu punktu p = [p x p y ] o kąt α, to macierz obrotu przyjmuje postać: W konsekwencji otrzymujemy: obrótxy = cos α sin α sin α cos α. p = cos α sin α sin α cos α p x p y = p x cos α p y sin α p y cos α + p x sin α

22 W przestrzeni trójwymiarowej obrotu dokonujemy w następujący sposób: obrótx = cos α sin α 0 0 sin α cos α obróty = cos α 0 sin α sin α 0 cos α obrótz = cos α sin α 0 0 sin α cos α

23 Macierz obrotu o kąt 45 względem osi Y przyjmuje postać: obróty = cos 45 0 sin sin 45 0 cos

24 Zapamiętanie postaci powyższych macierzy może wydawać się trudne. Zauważmy jednak, że w każdej z powyższych macierzy ostatni wiersz i ostatnia kolumna są takie same. Zwróćmy też uwagę, że w przypadku obrotu względem osi X jedynka i zera znajdują się w pierwszym wierszu, w przypadku obrotu względem osi Y - w drugim, a w przypadku obrotu względem osi Z - w wierszu trzecim. Jeśli uda nam się zapamiętać położenie zer i jedynek (co jak widzimy jest łatwe), pozostaje nam zapamiętanie układu i znaków funkcji trygonometrycznych, które występują w macierzach przekształceń.

25 Często istnieje potrzeba wykonania kilku operacji na naszym obiekcie, np. i skalowanie, i obrót. Aby wykonać taką operację wystarczy pomnożyć odpowiednie macierze. Kolejność, w jakiej wykonuje się te działania jest niezwykle istotna, gdyż mnożenie macierzy nie jest przemienne. Ogólnie, w przypadku wierszowej reprezentacji macierzy otrzymujemy: macierz świata=macierz skalowania macierz obrotu macierz translacji.

26 Przestrzeń kamery Załóżmy, że mamy już poukładane obiekty na scenie, tj. po wykonaniu skalowania, po obrotach i translacji. Zauważmy, że cała scena może być zupełnie statyczna. Zmieniać może się natomiast położenie kamery. W tym przypadku mówimy o przestrzeni kamery lub przestrzeni widoku. Rysunek: Przestrzeń kamery

27 Wobec powyższego potrzebujemy kolejnej macierzy, która powie karcie graficznej w jaki sposób przekształcić obiekty z przestrzeni świata do przestrzeni współrzędnych, które są relatywne względem kamery. Dla wierszowego układu współrzędnych macierz przyjmuje następującą postać: macierzkamery = L x U x F x 0 L y U y F y 0 L z U z F z 0 T x T y T z 1,

28 gdzie L jest osią x, U osią y, F osią z, a T translacją. Żeby wyznaczyć macierz kamery, trzeba najpierw wyznaczyć powyższe cztery wektory. Większość bibliotek 3D ma zaimplementowane funkcje, które automatycznie wyznaczają macierz kamery. Do skonstruowania powyższej macierzy potrzebne są trzy dane wejściowe: pozycja kamery (nasze oczy); pozycja celu, na który spogląda kamera; górny wektor kamery.

29 Mając powyższe informacje jesteśmy w stanie wyznaczyć cztery wektory potrzebne do stworzenia macierzy kamery: function StworzWidokKamery(Vector3 oczy, Vector3 cel, Vector3 gora) { Vector3 F = Normalize(cel-oczy); Vector3 L = Normalize(iloczynWektorowy(gora, F)); Vector3 U = iloczynwektorowy(f, L); Vector3 T; T.x = -iloczynskalarny(l, oczy); T.y = -iloczynskalarny(u, oczy); T.z = -iloczynskalarny(f, oczy); } Na tym etapie świat gry został przetransformowany tak, aby mógł zostać pokazany przez kamerę. Wciąż jednak pozostaje światem trójwymiarowym i musi zostać przekonwertowany do obrazu 2D.

30 Przestrzeń projekcji Przestrzeń projekcji lub przestrzeń ekranu jest przestrzenią współrzędnych, w której trójwymiarowa scena jest przekształcana do sceny dwywymiarowej. Najbardziej powszechne są dwa - znane nam już - rzutowania: równoległe i perspektywiczne.

31 Macierz rzutowania równoległego W przypadku rzutowania równoległego do stworzenia jego macierzy potrzebne są cztery parametry: szerokość widoku; wysokość widoku; najkrótsza odległość pomiędzy kamerą, a najbliższą płaszczyzną; najkrótsza odległość pomiędzy kamerą, a najdalszą płaszczyzną.

32 macierzrzutowaniarownoleglego = 2 szerokość wysokość dalszyplan-bliższyplan 0 bliższyplan bliższyplan-dalszyplan 1

33 Macierz rzutowania perspektywicznego W porównaniu z macierzą rzutowania równoległego, macierz rzutowania perspektywicznego posiada dodatkowy parametr, którym jest pole widzenia. Pole widzenia jest kątem wokół kamery, który jest widoczny w rzutowaniu. Zmieniając ten kąt decydujemy jaki fragment świata gry będzie widoczny. Znając ten kąt możemy utworzyć macierz rzutowania w następujący sposób:

34 przy czym skalay = ctg macierzrzutowaniaperspektywicznego = skalax skalay 0 0 dalszyplan, 0 0 dalszyplan-bliższyplan ( ) polewidzenia 2, skalax = skalay wysokość szerokość. bliższyplan dalszyplan dalszyplan-bliższyplan 0

35 Oświetlenie i cienie Na podstawie powyższych informacji jesteśmy w stanie rysować czarno-białe szkielety trójwymiarowych obiektów do bufora kolorów. Oczywiście taka grafika absolutnie nie jest atrakcyjna. Potrzebujemy m.in. palety kolorów, tekstur oraz oświetlenia.

36 Kolory Najprostszy sposób reprezentowania kolorów na trójwymiarowej scenie polega na użyciu przestrzeni kolorów RGB. Następnie należy ustlić głębię kolorów, tj. liczbę bitów przypadających na dany kolor. Jeśli przyjmiemy 8 bitów na kolor, to oznacza, że mamy 256 możliwych wartości dla kolorów czerwonego, zielonego i niebieskigo, co całkowicie daje około 16 milionów różnych kolorów. W zależności od gry może istnieć czwarty komponent, którym jest kanał alfa, który determinuje przezroczystość pikseli. Wartość kanału alfa równa 1 oznacza, że piksel jest nieprzezroczysty, natomiast wartość kanału alfa wynosząca zero ozacza, że piksel jest niewidoczny.

37 Rysunek: Przezroczystość pikseli przy różnych wartościach kanału alfa

38 Atrybuty wierzchołków Żeby dodać do obiektu kolor musimy mieć informację o każdym z wierzchołków. W mapowaniu tekstur obiekty dwuwymiarowe są mapowane na trójwymiarowe. W każdym wierzchołku współrzędna tekstury określa jaka część tekstury odpowiada wierzchołkowi. Najbardziej znanymi współrzędnymi tekstury są współrzędne UV, gdzie współrzędna x tekstury jest nazywana u, a współrzędna y nosi nazwę v. Rysunek: Odwzorowanie tekstur we współrzędnych UV

39 Oświetlenie Gra bez oświetlenia wygląda nudno i ponuro dlatego wiele gier 3D musi implementować jakieś formy oświetlenia. Istnieją różne typy oświetlenia, które są powszechnie używane w grach: niektóre oświetlają całą scenę, inne tylko jej fragment.

40 Oświetlenie otoczenia Przez oświetlenie otoczenia rozumiemy jednakową ilość światła, stosowaną do każdego pojedynczego obiektu. Ilość oświetlenia otoczenia może być różna w różnych poziomach gry. Inną ilość światła zastosujemy do sceny, na której akcja dzieje się w ciągu dnia, a inną do sceny, gdy gra toczy się nocą. Ponieważ oświetlenie otoczenia zapewnia taką samą ilość światła, to każdy obiekt na scenie jest oświetlony tak samo. Rysunek: Przykład oświetlenia otoczenia

41 Oświetlenie kierunkowe Oświetlenie kierunkowe nie ma określonej pozycji, ale jest emitowane z określonego kierunku. Podobnie jak w przypadku oświetlenia otoczenia, także oświetlenie kierunkowe wpływa na całą scenę. Ponieważ oświetlenie kierunkowe generowane jest z określonego kierunku, oświetla jedną stronę obiektów jednocześnie pozostawiając nieoświetloną drugą stronę. Rysunek: Przykład oświetlenia kierunkowego

42 Gry używające oświetlenia kierunkowego często mają tylko jeden punkt świetlny dla danego poziomu gry (np. słońce, bądź księżyc). Ale np. gra, która toczy się wieczorem na oświetlonym stadionie posiada wiele oświetleń kierunkowych.

43 Oświetlenie punktowe Oświetlenie punktowe znajduje się w określonej pozycji na scenie gry i rozchodzi się we wszystkich kierunkach. Ponieważ światło emitowane jest z określonego punktu, to również oświetla tylko jedną stronę obiektu. W wielu przypadkach nie chcemy, żeby punkt świetlny emitował światło nieskończenie daleko z tą samą siłą we wszystkich kierunkach. Jako przykład rozważmy żarówkę świecącą w ciemnym pomieszczeniu. Chcielibyśmy mieć silnie świecący punkt (żarówkę) i światło delikatnie zanikające wraz z oddalaniem się od źródła światła. Żeby osiagnąć ten efekt w grach, należy dodać promień zanikania.

44 Rysunek: Przykład oświetlenia punktowego

45 Reflektor Reflektor jest typem oświetlenia podobnym do oświetlenia kierunkowego z tą różnicą, że tutaj światło nie rozchodzi się we wszystkich kierunkach, tylko jest skupione w stożku. W tym przypadku konieczne jest podanie dodatkowego parametru, którym jest kąt, pod jakim ustawiony ma być reflektor. Podobnie jak w przypadku oświetlenia punktowego, także reflektor oświetla jedynie jedną stronę obiektów. Typowym przykładem reflektora jest reflektor oświetlający scenę w teatrze. Innym przykładem może być świecąca w ciemności latarka.

46 Rysunek: Przykład reflektora

47 Model odbicia światła Po umieszczeniu światła na scenie gry, potrzebujemy obliczyć w jaki sposób światło ma oddziaływać na obiekty znajdujące się na tej scenie. Obliczenia mogą zostać wykonane dzięki funkcji dwukierunkowego rozproszonego rozbicia (BRDF - bidirectional reflectance distribution function). Istnieje wiele różnych typów funkcji BRDF. Najbardzej znaną funkcją jest model Phonga.

48 Model Phonga Model Phonga jest uważany za lokalny, gdyż nie uwzględnia wtórnego odbicia światła. Oznacza to, że każdy obiekt jest oświetlony tak, jakby był jedynym obiektem na całej scenie. W świecie fizycznym, jeśli na białą ścianę padnie czerwone światło, to czerwone światło odbije się i wypełni resztę pokoju czerwonym kolorem. Takiej sytuacji nie obejmuje jednak lokalny model oświetlenia Phonga. W modelu Phonga światło jest rozbite na trzy odrębne składniki: otoczenia, rozproszenie i odbicie lustrzane. Te wszystkie trzy składniki uwzględniają zarówno kolor obiektu, jak też kolor światła wpływającego na obiekt.

49 Składnik otoczenia związany jest z całkowitym oświetleniem sceny i może być bezpośrednio związany z otaczającym światłem. Ponieważ jest on równomiernie stosowany do całej sceny, to składnik otoczenia jest niezależny od położenia światła i kamery. Rozproszenie jest podstawowym składnikiem odpowiedzialnym za odbijanie światła od powierzchni. Ostatnim składnikiem jest odbicie lustrzane, które reprezentuje błyszczące punkty na powierzchni.

50 Rysunek: Model Phonga

51 Nakładanie cieni Nakładanie cieni na obiekty jest czymś innym, niż oświetlanie obiektów. Najprostszy sposób nakładania cieni, czyli tzw. cieniowanie płaskie polega na nałożeniu jednego koloru na cały obiekt. W tym przypadku model odbicia światła oblicza się raz na każdy z trójkątów (zazwyczaj bierze się środek trójkąta) i tak wyliczony kolor jest nakładany na cały trójkąt. Obiekty z tak nałożonym cieniem nie wyglądają jednak szczególnie dobrze.

52 Cieniowanie Gourauda W cieniowaniu Gourauda model odbicia światła jest obliczany dla każdego wierzchołka. Takie podejście powoduje wyznaczenie potencjalnie innego koloru dla każdego wierzchołka. Pozostałe części trójkąta wypełnia się mieszając kolory użyte na wierzchołki. Jakość cieniowania Gourauda zależy bezpośrednio od liczby trójkątów użytych w modelu. Mała liczba trójkątów może powodować powstawanie wielu ostrych krawędzi. Z drugiej strony obiekt składający się z dużej liczby trójkątów będzie wyglądał dobrze, ale zwiększy się zapotrzebowanie na pamięć. Cieniowanie Gourauda było przez wiele lat bardzo popularne i często stosowane w grach komputerowych.

53 Rysunek: Cieniowanie Gourauda

54 Cieniowanie Phonga W cieniowaniu Phonga model odbicia światła jest obliczany dla każdego pojedynczego piksela w każdym trójkącie. Jak łatwo można sobie wyobrazić, cieniowanie Phonga jest zdecydowane bardziej złożone obliczeniowo od cieniowania Gourauda, szczególnie w przypadku dużej liczby wykorzystywanych w scenie świateł. Jednak nowoczesny sprzęt w łatwy sposób może sobie poradzić ze wzrostem obliczeń.

55 Rysunek: Cieniowanie Phonga

56 Buforowanie Z (buforowanie głębi) W buforowaniu głębi podczas renderowania sceny wykorzystywany jest dodatkowy bufor, który przechowuje informacje dla każdego piksela z danej sceny. Ale w przeciwieństwie do bufora koloru, który przechowuje informacje o kolorach, bufor Z zawiera informacje o odlegości od kamery lub głębi. Na początku renderownia ramki z użyciem bufora Z, bufor ten jest opróżniany, wobec czego głębokość każdego piksela jest ustawiana na nieskończoność. Wówczas, podczas renderowania, przed narysowaniem piksela, głębia jest obliczana dla tego piksela. Jeśli głębia danego piksela jest mniejsza od aktualnej głębi przechowywanej w buforze Z (czyli gdy piksel znajduje się bliżej kamery), to wówczas dany piksel jest rysowany i nowa wartość jest zapisywana do bufora.

57 Wykorzystując bufor głębi scena może być rysowana w dowolnej, ustalonej kolejności. Dopóki na scenie nie pojawią się przezroczyste obiekty, widok będzie poprawny. Załóżmy, że mamy półprzezroczystą wodę i pod nią kamień. Jeśli zostałoby użyte buforowanie Z, narysowanie wody jako pierwszej mogłoby spowodować, że kamień w ogóle nie zostałby narysowany. Żeby zapobiec takiemu efektowi najpierw renderowane są wszystkie nieprzezroczyste obiekty używające normalnego bufora Z. Następnie możemy zablokować zapis do bufora Z i renderować wszystkie przezroczyste obiekty.

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38

Grafika Komputerowa Wykład 5. Potok Renderowania Oświetlenie. mgr inż. Michał Chwesiuk 1/38 Wykład 5 Potok Renderowania Oświetlenie mgr inż. 1/38 Podejście śledzenia promieni (ang. ray tracing) stosuje się w grafice realistycznej. Śledzone są promienie przechodzące przez piksele obrazu wynikowego

Bardziej szczegółowo

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania. Chcąc osiągnąć realizm renderowanego obrazu, należy rozwiązać problem świetlenia. Barwy, faktury i inne właściwości przedmiotów postrzegamy

Bardziej szczegółowo

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

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Powierzchnia obiektu 3D jest renderowana jako czarna jeżeli nie jest oświetlana żadnym światłem (wyjątkiem są obiekty samoświecące) Oświetlenie

Bardziej szczegółowo

Plan wykładu. Akcelerator 3D Potok graficzny

Plan wykładu. Akcelerator 3D Potok graficzny Plan wykładu Akcelerator 3D Potok graficzny Akcelerator 3D W 1996 r. opracowana została specjalna karta rozszerzeń o nazwie marketingowej Voodoo, którą z racji wspomagania procesu generowania grafiki 3D

Bardziej szczegółowo

Oświetlenie obiektów 3D

Oświetlenie obiektów 3D Synteza i obróbka obrazu Oświetlenie obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Rasteryzacja Spłaszczony po rzutowaniu obraz siatek wielokątowych

Bardziej szczegółowo

GRK 4. dr Wojciech Palubicki

GRK 4. dr Wojciech Palubicki GRK 4 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection

Bardziej szczegółowo

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

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 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 obserwatora f) w kierunku od obserwatora 1. Obrót dookoła osi

Bardziej szczegółowo

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Model oświetlenia. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Model oświetlenia Radosław Mantiuk Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Obliczenie koloru powierzchni (ang. Lighting) Światło biegnie od źródła światła, odbija

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/6 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Manipulowanie przestrzenią 2 Przygotował: mgr inż. Maciej Lasota 1) Manipulowanie przestrzenią Istnieją dwa typy układów współrzędnych:

Bardziej szczegółowo

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30 Wykład 4 mgr inż. 1/30 Synteza grafiki polega na stworzeniu obrazu w oparciu o jego opis. Synteza obrazu w grafice komputerowej polega na wykorzystaniu algorytmów komputerowych do uzyskania obrazu cyfrowego

Bardziej szczegółowo

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Synteza i obróbka obrazu Tekstury Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Tekstura Tekstura (texture) obraz rastrowy (mapa bitowa, bitmap) nakładany na

Bardziej szczegółowo

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

Przekształcenia geometryczne w grafice komputerowej. Marek Badura Przekształcenia geometryczne w grafice komputerowej Marek Badura PRZEKSZTAŁCENIA GEOMETRYCZNE W GRAFICE KOMPUTEROWEJ Przedstawimy podstawowe przekształcenia geometryczne na płaszczyźnie R 2 (przestrzeń

Bardziej szczegółowo

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

Animowana grafika 3D. Opracowanie: J. Kęsik. Animowana grafika 3D Opracowanie: J. Kęsik kesik@cs.pollub.pl Rzutowanie Równoległe Perspektywiczne Rzutowanie równoległe Rzutowanie równoległe jest powszechnie używane w rysunku technicznym - umożliwienie

Bardziej szczegółowo

1. Prymitywy graficzne

1. Prymitywy graficzne 1. Prymitywy graficzne Prymitywy graficzne są elementarnymi obiektami jakie potrafi bezpośrednio rysować, określony system graficzny (DirectX, OpenGL itp.) są to: punkty, listy linii, serie linii, listy

Bardziej szczegółowo

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu

GRAKO: ŚWIATŁO I CIENIE. Modele barw. Trochę fizyki percepcji światła. OŚWIETLENIE: elementy istotne w projektowaniu GRAKO: ŚWIATŁO I CIENIE Metody oświetlania Metody cieniowania Przykłady OŚWIETLENIE: elementy istotne w projektowaniu Rozumienie fizyki światła w realnym świecie Rozumienie procesu percepcji światła Opracowanie

Bardziej szczegółowo

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.:

rgbf<składowa_r,składowa_g,składowa_b,filter>. Dla parametru filter przyjmij kolejno wartości: 0.60, 0.70, 0.80, 0.90, 1.00, np.: Temat 2: Przezroczystość. Prostopadłościan, walec i stożek. Przesuwanie i skalowanie obiektów. Omówimy teraz przezroczystość obiektów związaną z ich kolorem (lub teksturą). Za przezroczystość odpowiadają

Bardziej szczegółowo

Obraz jako funkcja Przekształcenia geometryczne

Obraz jako funkcja Przekształcenia geometryczne Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych

Bardziej szczegółowo

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

Przekształcenia geometryczne. Mirosław Głowacki Wydział Inżynierii Metali i Informatyki Przemysłowej 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

Bardziej szczegółowo

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

3. Macierze i Układy Równań Liniowych 3. Macierze i Układy Równań Liniowych Rozważamy równanie macierzowe z końcówki ostatniego wykładu ( ) 3 1 X = 4 1 ( ) 2 5 Podstawiając X = ( ) x y i wymnażając, otrzymujemy układ 2 równań liniowych 3x

Bardziej szczegółowo

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe Czym są tekstury? Tekstury są tablicowymi strukturami danych o wymiarze od 1 do 3, których elementami są tzw. teksele.

Bardziej szczegółowo

Transformacje obiektów 3D

Transformacje obiektów 3D Synteza i obróbka obrazu Transformacje obiektów 3D Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych Lokalny układ współrzędnych Tworząc model obiektu, zapisujemy

Bardziej szczegółowo

6 Przygotował: mgr inż. Maciej Lasota

6 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 6 1/7 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Materiały i oświetlenie 6 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie Specyfikacja biblioteki OpenGL rozróżnia trzy

Bardziej szczegółowo

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23 Wykład 6 mgr inż. 1/23 jest to technika w grafice komputerowej, której celem jest zwiększenie szczegółowości renderowanych powierzchni za pomocą tekstur. jest to pewna funkcja (najczęściej w formie bitmapy)

Bardziej szczegółowo

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok Synteza grafiki 3D Pod pojęciem syntezy grafiki rozumiemy stworzenie grafiki

Bardziej szczegółowo

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak Modelowanie i wstęp do druku 3D Wykład 1 Robert Banasiak Od modelu 3D do wydruku 3D Typowa droga...czasem wyboista... Pomysł!! Modeler 3D Przygotowanie modelu do druku Konfiguracja Programu do drukowania

Bardziej szczegółowo

Technologie Informacyjne

Technologie Informacyjne Grafika komputerowa Szkoła Główna Służby Pożarniczej Zakład Informatyki i Łączności December 12, 2016 1 Wprowadzenie 2 Optyka 3 Geometria 4 Grafika rastrowa i wektorowa 5 Kompresja danych Wprowadzenie

Bardziej szczegółowo

Programowanie Procesorów Graficznych

Programowanie Procesorów Graficznych Programowanie Procesorów Graficznych Wykład 1 9.10.2012 Prehistoria Zadaniem karty graficznej było sterowanie sygnałem do monitora tak aby wyświetlić obraz zgodnie z zawartościa pamięci. Programiści pracowali

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Podstawy grafiki 3D Wstęp: W drugiej części przedstawione zostaną podstawowe mechanizmy

Bardziej szczegółowo

Grafika 3D program POV-Ray - 1 -

Grafika 3D program POV-Ray - 1 - Temat 1: Ogólne informacje o programie POV-Ray. Interfejs programu. Ustawienie kamery i świateł. Podstawowe obiekty 3D, ich położenie, kolory i tekstura oraz przezroczystość. Skrót POV-Ray to rozwinięcie

Bardziej szczegółowo

Elementy geometrii analitycznej w R 3

Elementy geometrii analitycznej w R 3 Rozdział 12 Elementy geometrii analitycznej w R 3 Elementy trójwymiarowej przestrzeni rzeczywistej R 3 = {(x,y,z) : x,y,z R} możemy interpretować co najmniej na trzy sposoby, tzn. jako: zbiór punktów (x,

Bardziej szczegółowo

Grafika komputerowa Wykład 4 Geometria przestrzenna

Grafika komputerowa Wykład 4 Geometria przestrzenna Grafika komputerowa Wykład 4 Geometria przestrzenna Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 Geometria 3D - podstawowe

Bardziej szczegółowo

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego

Bardziej szczegółowo

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C.

Ustawienia materiałów i tekstur w programie KD Max. MTPARTNER S.C. Ustawienia materiałów i tekstur w programie KD Max. 1. Dwa tryby własności materiału Materiał możemy ustawić w dwóch trybach: czysty kolor tekstura 2 2. Podstawowe parametry materiału 2.1 Większość właściwości

Bardziej szczegółowo

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej GRAFIKA RASTROWA WYKŁAD 1 Wprowadzenie do grafiki rastrowej Jacek Wiślicki Katedra Informatyki Stosowanej Grafika rastrowa i wektorowa W grafice dwuwymiarowej wyróżnia się dwa rodzaje obrazów: rastrowe,

Bardziej szczegółowo

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

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory; Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Obraz realistyczny Pojęcie obrazu realistycznego jest rozumiane w różny sposób Nie zawsze obraz realistyczny

Bardziej szczegółowo

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska OpenGL oświetlenie Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2017 Bogdan Kreczmer Niniejszy dokument zawiera

Bardziej szczegółowo

Przekształcanie wykresów.

Przekształcanie wykresów. Sławomir Jemielity Przekształcanie wykresów. Pokażemy tu, jak zmiana we wzorze funkcji wpływa na wygląd jej wykresu. A. Mamy wykres funkcji f(). Jak będzie wyglądał wykres f ( ) + a, a stała? ( ) f ( )

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 dr Wojciech Palubicki Uproszczony Potok Graficzny (Rendering) Model Matrix View Matrix Projection Matrix Viewport Transform Object Space World Space View Space Clip Space Screen Space Projection

Bardziej szczegółowo

3 Przygotował: mgr inż. Maciej Lasota

3 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 3 1/5 Grafika Komputerowa 3D Instrukcja laboratoryjna Temat: Rysowanie prymitywów 3 Przygotował: mgr inż. Maciej Lasota 1) Rysowanie prymitywów Podstawową rodziną funkcji wykorzystywanych

Bardziej szczegółowo

Ćwiczenia nr 4. TEMATYKA: Rzutowanie

Ćwiczenia nr 4. TEMATYKA: Rzutowanie TEMATYKA: Rzutowanie Ćwiczenia nr 4 DEFINICJE: Rzut na prostą: rzutem na prostą l (zwaną rzutnią) w kierunku rzutowania k (k l) nazywamy przekształcenie płaszczyzny przyporządkowujące: a) Punktom prostej

Bardziej szczegółowo

GRK 2. dr Wojciech Palubicki

GRK 2. dr Wojciech Palubicki GRK dr Wojciech Palubicki Macierz wektor produkt jako Transformacja T: R n R m T Ԧx = A Ԧx Przemieszczanie wierzchołków - Transformacje Skalowanie Rotacja Translacja -y -y Macierz rotacji M wobec punktu

Bardziej szczegółowo

Grafika komputerowa Tekstury

Grafika komputerowa Tekstury . Tekstury Tekstury są dwuwymiarowymi obrazkami nakładanymi na obiekty lub ich części, w celu poprawienia realizmu rysowanych brył oraz dodatkowego określenia cech ich powierzchni np. przez nałożenie obrazka

Bardziej szczegółowo

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski RENDERING W CZASIE RZECZYWISTYM Michał Radziszewski Plan wykładu Opóźnione cieniowanie wprowadzenie Koszt obliczeniowy cieniowania Cieniowanie jedno- i wieloprzebiegowe Cieniowanie opóźnione Schemat opóźnionego

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu

GRAFIKA KOMPUTEROWA. Plan wykładu. 1. Początki grafiki komputerowej. 2. Grafika komputerowa a dziedziny pokrewne. 3. Omówienie programu przedmiotu GRAFIKA KOMPUTEROWA 1. Układ przedmiotu semestr VI - 20000 semestr VII - 00200 Dr inż. Jacek Jarnicki Instytut Cybernetyki Technicznej p. 226 C-C 3, tel. 320-28-2323 jacek@ict.pwr.wroc.pl www.zsk.ict.pwr.wroc.pl

Bardziej szczegółowo

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie

Bardziej szczegółowo

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

Z ostatniego wzoru i zależności (3.20) można obliczyć n6. Otrzymujemy (3.23) 3.5. Transformacje geometryczne 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ć,

Bardziej szczegółowo

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

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same 1 Macierz definicja i zapis Macierzą wymiaru m na n nazywamy tabelę a 11 a 1n A = a m1 a mn złożoną z liczb (rzeczywistych lub zespolonych) o m wierszach i n kolumnach (zamiennie będziemy też czasem mówili,

Bardziej szczegółowo

OpenGL i wprowadzenie do programowania gier

OpenGL i wprowadzenie do programowania gier OpenGL i wprowadzenie do programowania gier Wojciech Sterna Bartosz Chodorowski OpenGL i wprowadzenie do programowania gier Autorstwo rozdziałów: 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 Wojciech Sterna

Bardziej szczegółowo

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

Obrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco Transformacje na płaszczyźnie Przesunięcie Przesunięcie (translacja) obrazu realizowana jest przez dodanie stałej do każdej współrzędnej, co w postaci macierzowej można przedstawić równaniem y'] = [ x

Bardziej szczegółowo

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych

1 Wstęp teoretyczny. Temat: Manipulowanie przestrzenią. Grafika komputerowa 3D. Instrukcja laboratoryjna Układ współrzędnych Instrukcja laboratoryjna 9 Grafika komputerowa 3D Temat: Manipulowanie przestrzenią Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny 1.1 Układ

Bardziej szczegółowo

Grafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor

Grafika komputerowa. Model oświetlenia. emisja światła przez źródła światła. interakcja światła z powierzchnią. absorbcja światła przez sensor Model oświetlenia emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Radiancja radiancja miara światła wychodzącego z powierzchni w danym kącie bryłowym

Bardziej szczegółowo

Krystalochemia białek 2016/2017

Krystalochemia białek 2016/2017 Zestaw zadań 4. Grupy punktowe. Składanie elementów symetrii. Translacyjne elementy symetrii grupy punktowe, składanie elementów symetrii, translacyjne elementy symetrii: osie śrubowe, płaszczyzny ślizgowe

Bardziej szczegółowo

1. Oświetlenie Materiały i powierzchnie

1. Oświetlenie Materiały i powierzchnie 1. Oświetlenie Rzeczywiste światło emitowane przez określone źródło, odbijane jest na milionach powierzchni obiektów, po czym dociera do naszych oczu powodując, że widzimy dane przedmioty. Światło padające

Bardziej szczegółowo

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy. #include #include #include #include

Bardziej szczegółowo

Wykład 14. Elementy algebry macierzy

Wykład 14. Elementy algebry macierzy Wykład 14 Elementy algebry macierzy dr Mariusz Grządziel 26 stycznia 2009 Układ równań z dwoma niewiadomymi Rozważmy układ równań z dwoma niewiadomymi: a 11 x + a 12 y = h 1 a 21 x + a 22 y = h 2 a 11,

Bardziej szczegółowo

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 E-mail: mhojny@metal.agh.edu.pl Tel.

GRAFIKA KOMPUTEROWA podstawy matematyczne. dr inż. Hojny Marcin pokój 406, pawilon B5 E-mail: mhojny@metal.agh.edu.pl Tel. GRAFIKA KOMPUTEROWA podstawy matematyczne dr inż. Hojny Marcin pokój 406, pawilon B5 E-mail: mhojny@metal.agh.edu.pl Tel. (12) 617 46 37 Plan wykładu 1/4 ZACZNIEMY OD PRZYKŁADOWYCH PROCEDUR i PRZYKŁADÓW

Bardziej szczegółowo

Karty graficzne możemy podzielić na:

Karty graficzne możemy podzielić na: KARTY GRAFICZNE Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia

Bardziej szczegółowo

GRK 5. dr Wojciech Palubicki

GRK 5. dr Wojciech Palubicki GRK 5 dr Wojciech Palubicki Projekty (dwu-osobowe) Napisać symulacje lotu kosmicznego w OpenGLu: Korzystając tylko z bibliotek które na ćwiczeniach zostały omówione Interaktywna symulacja Wszystkie wielokąty

Bardziej szczegółowo

Przekształcenia geometryczne. Dorota Smorawa

Przekształcenia geometryczne. Dorota Smorawa Przekształcenia geometryczne Dorota Smorawa Przekształcenia geometryczne Na poprzednich laboratoriach już dowiedzieliśmy się, na czym polegają podstawowe przekształcenia geometryczne. Trzy podstawowe przekształcenia

Bardziej szczegółowo

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest

Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest KARTA GRAFICZNA Karta graficzna karta rozszerzeo odpowiedzialna generowanie sygnału graficznego dla ekranu monitora. Podstawowym zadaniem karty graficznej jest odbiór i przetwarzanie otrzymywanych od komputera

Bardziej szczegółowo

Zaawansowana Grafika Komputerowa

Zaawansowana Grafika Komputerowa Zaawansowana Komputerowa Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 28 Luty 2017 Michał Chwesiuk Zaawansowana Komputerowa 28 Luty 2017 1/11 O mnie inż.

Bardziej szczegółowo

Grafika komputerowa Wykład 10 Modelowanie oświetlenia

Grafika komputerowa Wykład 10 Modelowanie oświetlenia Grafika komputerowa Wykład 10 Instytut Informatyki i Automatyki Państwowa Wyższa Szkoła Informatyki i Przedsiębiorczości w Łomży 2 0 0 9 Spis treści Spis treści 1 2 3 Spis treści Spis treści 1 2 3 Spis

Bardziej szczegółowo

DesignCAD 3D Max 24.0 PL

DesignCAD 3D Max 24.0 PL DesignCAD 3D Max 24.0 PL Październik 2014 DesignCAD 3D Max 24.0 PL zawiera następujące ulepszenia i poprawki: Nowe funkcje: Tryb RedSDK jest teraz dostępny w widoku 3D i jest w pełni obsługiwany przez

Bardziej szczegółowo

OpenGL Światło (cieniowanie)

OpenGL Światło (cieniowanie) OpenGL Światło (cieniowanie) 1. Oświetlenie włączanie/wyłączanie glenable(gl_lighting); - włączenie mechanizmu oświetlenia gldisable(gl_lighting); - wyłączenie mechanizmu oświetlenia glenable(gl_light0);

Bardziej szczegółowo

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Systemy wirtualnej rzeczywistości. Komponenty i serwisy Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Systemy wirtualnej rzeczywistości Laboratorium Komponenty i serwisy Wstęp: W trzeciej części przedstawione zostaną podstawowe techniki

Bardziej szczegółowo

Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA.

Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA. Zadanie PUMA Zadanie polega na zbudowaniu i wyświetleniu przykładowej animowanej sceny przedstawiającej robota spawalniczego typu PUMA. Cały projekt składa się z następujących elementów: 1. Animacja ramion

Bardziej szczegółowo

Zjawisko widzenia obrazów

Zjawisko widzenia obrazów Zjawisko widzenia obrazów emisja światła przez źródła światła interakcja światła z powierzchnią absorbcja światła przez sensor Źródła światła światło energia elektromagnetyczna podróżująca w przestrzeni

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 5

Języki formalne i automaty Ćwiczenia 5 Języki formalne i automaty Ćwiczenia 5 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 L-systemy... 2 Grafika żółwia... 2 Bibliografia... 5 Zadania... 6 Zadania na 3.0... 6 Zadania

Bardziej szczegółowo

Tworzenie gier na urządzenia mobilne (zaoczne)

Tworzenie gier na urządzenia mobilne (zaoczne) Katedra Inżynierii Wiedzy Wykład 2 Wprowadzenie do silników gier Scena, kamera i oświetlenie Prototypowanie i rzeźba terenu Programowanie zdarzeniowe w C# GUI Interakcje w grze Gry 2D a 3D Fizyka i efekty

Bardziej szczegółowo

Notacja Denavita-Hartenberga

Notacja Denavita-Hartenberga Notacja DenavitaHartenberga Materiały do ćwiczeń z Podstaw Robotyki Artur Gmerek Umiejętność rozwiązywania prostego zagadnienia kinematycznego jest najbardziej bazową umiejętność zakresu Robotyki. Wyznaczyć

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,

Bardziej szczegółowo

Algebra WYKŁAD 3 ALGEBRA 1

Algebra WYKŁAD 3 ALGEBRA 1 Algebra WYKŁAD 3 ALGEBRA 1 Liczby zespolone Postać wykładnicza liczby zespolonej Niech e oznacza stałą Eulera Definicja Równość e i cos isin nazywamy wzorem Eulera. ALGEBRA 2 Liczby zespolone Każdą liczbę

Bardziej szczegółowo

VII. WYKRESY Wprowadzenie

VII. WYKRESY Wprowadzenie VII. WYKRESY 7.1. Wprowadzenie Wykres jest graficznym przedstawieniem (w pewnym układzie współrzędnych) zależności pomiędzy określonymi wielkościami. Ułatwia on interpretację informacji (danych) liczbowych.

Bardziej szczegółowo

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

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 Oznaczenia A, B, 1, 2, I, II, punkty a, b, proste α, β, płaszczyzny π 1, π 2, rzutnie k kierunek rzutowania d(a,m) odległość punktu od prostej m(a,b) prosta przechodząca przez punkty A i B α(1,2,3) płaszczyzna

Bardziej szczegółowo

SPRAWDZIAN NR 1. I promienie świetlne nadal są równoległe względem siebie, a po odbiciu od powierzchni II nie są równoległe względem siebie.

SPRAWDZIAN NR 1. I promienie świetlne nadal są równoległe względem siebie, a po odbiciu od powierzchni II nie są równoległe względem siebie. SPRAWDZIAN NR 1 ŁUKASZ CHOROŚ IMIĘ I NAZWISKO: KLASA: GRUPA A 1. Na dwie różne powierzchnie światło pada pod tym samym kątem. Po odbiciu od powierzchni I promienie świetlne nadal są równoległe względem

Bardziej szczegółowo

Wykład 4. Rendering (1) Informacje podstawowe

Wykład 4. Rendering (1) Informacje podstawowe Wykład 4. Rendering (1) Informacje podstawowe Z punktu widzenia dzisiejszego programowania gier: Direct3D jest najczęściej wykorzystywanym przez profesjonalnych deweloperów gier API graficznym na platformie

Bardziej szczegółowo

SPRAWDZIAN NR Na zwierciadło sferyczne padają dwa promienie światła równoległe do osi optycznej (rysunek).

SPRAWDZIAN NR Na zwierciadło sferyczne padają dwa promienie światła równoległe do osi optycznej (rysunek). SPRAWDZIAN NR 1 JOANNA BOROWSKA IMIĘ I NAZWISKO: KLASA: GRUPA A 1. Na zwierciadło sferyczne padają dwa promienie światła równoległe do osi optycznej (rysunek). Dokończ zdanie. Wybierz stwierdzenie A albo

Bardziej szczegółowo

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia" Obliczenie koloru powierzchni (ang. Lighting)

Scena 3D. Cieniowanie (ang. Shading) Scena 3D - Materia Obliczenie koloru powierzchni (ang. Lighting) Zbiór trójwymiarowych danych wej$ciowych wykorzystywanych do wygenerowania obrazu wyj$ciowego 2D. Cieniowanie (ang. Shading) Rados"aw Mantiuk Wydzia" Informatyki Zachodniopomorski Uniwersytet Technologiczny

Bardziej szczegółowo

Architektura Procesorów Graficznych

Architektura Procesorów Graficznych Architektura Procesorów Graficznych Referat: Rendering 3D: potok 3D, możliwości wsparcia sprzętowego, możliwości przyspieszenia obliczeń. Grupa wyrównawcza Cezary Sosnowski 1. Renderowanie Renderowanie

Bardziej szczegółowo

Grafika komputerowa. Dla DSI II

Grafika komputerowa. Dla DSI II Grafika komputerowa Dla DSI II Rodzaje grafiki Tradycyjny podział grafiki oznacza wyróżnienie jej dwóch rodzajów: grafiki rastrowej oraz wektorowej. Różnica pomiędzy nimi polega na innej interpretacji

Bardziej szczegółowo

3. FUNKCJA LINIOWA. gdzie ; ół,.

3. FUNKCJA LINIOWA. gdzie ; ół,. 1 WYKŁAD 3 3. FUNKCJA LINIOWA FUNKCJĄ LINIOWĄ nazywamy funkcję typu : dla, gdzie ; ół,. Załóżmy na początek, że wyraz wolny. Wtedy mamy do czynienia z funkcją typu :.. Wykresem tej funkcji jest prosta

Bardziej szczegółowo

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny

Laboratorium grafiki komputerowej i animacji. Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Laboratorium grafiki komputerowej i animacji Ćwiczenie V - Biblioteka OpenGL - oświetlenie sceny Przygotowanie do ćwiczenia: 1. Zapoznać się ze zdefiniowanymi w OpenGL modelami światła i właściwości materiałów.

Bardziej szczegółowo

Temat: Transformacje 3D

Temat: Transformacje 3D Instrukcja laboratoryjna 11 Grafika komputerowa 3D Temat: Transformacje 3D Przygotował: dr inż. Grzegorz Łukawski, mgr inż. Maciej Lasota, mgr inż. Tomasz Michno 1 Wstęp teoretyczny Bardzo często programując

Bardziej szczegółowo

Gry komputerowe: efekty specjalne cz. 2

Gry komputerowe: efekty specjalne cz. 2 1/43 Gry komputerowe: efekty specjalne cz. 2 Przygotowała: Anna Tomaszewska 2/43 Mapowanie środowiska - definicja aproksymacje odbić na powierzchnie prosto- i krzywoliniowej," oświetlanie sceny." obserwator

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Cieniowanie Bardzo ważnym elementem sceny jest oświetlenie. To właśnie odpowiednie dobranie oświetlenia sprawia,

Bardziej szczegółowo

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

i = [ 0] j = [ 1] k = [ 0] Ćwiczenia nr TEMATYKA: Układy współrzędnych: kartezjański, walcowy (cylindryczny), sferyczny (geograficzny), Przekształcenia: izometryczne, nieizometryczne. DEFINICJE: Wektor wodzący: wektorem r, ρ wodzącym

Bardziej szczegółowo

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER

Karta przedmiotu. Podstawy programowania procesorów graficznych. realizowanego w ramach projektu PO WER Karta przedmiotu Podstawy programowania procesorów graficznych realizowanego w ramach projektu PO WER 2017-2019 Wydział Inżynierii Elektrycznej i Komputerowej Kierunek studiów: Informatyka Profil: Ogólnoakademicki

Bardziej szczegółowo

Trójwymiarowa grafika komputerowa rzutowanie

Trójwymiarowa grafika komputerowa rzutowanie 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

Bardziej szczegółowo

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

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze... Tekst na niebiesko jest komentarzem lub treścią zadania. Zadanie. Dane są macierze: A D 0 ; E 0 0 0 ; B 0 5 ; C Wykonaj poniższe obliczenia: 0 4 5 Mnożenia, transpozycje etc wykonuję programem i przepisuję

Bardziej szczegółowo

Rzutowanie. dr Radosław Matusik. radmat

Rzutowanie. dr Radosław Matusik.  radmat www.math.uni.lodz.pl/ radmat Warunki zaliczenia przedmiotu Na ćwiczeniach przez cały semestr będą realizowane dwa projekty w Unity (3D i 2D). Do uzyskania 3 z ćwiczeń wystarczy poprawnie zrealizować oba

Bardziej szczegółowo

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych Klasa Średnia 8a 3,54 8b 5,25 8c 4,21 8d 4,85 Do wstawienia wykresu w edytorze tekstu nie potrzebujemy mieć wykonanej tabeli jest ona tylko

Bardziej szczegółowo

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki

Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu. Mirosław Głowacki Wybrane aspekty teorii grafiki komputerowej - dążenie do wizualnego realizmu Mirosław Głowacki Zagadnienia Jak rozumiemy fotorealizm w grafice komputerowej Historyczny rozwój kart graficznych Przekształcenia

Bardziej szczegółowo

Badanie przy użyciu stolika optycznego lub ławy optycznej praw odbicia i załamania światła. Wyznaczanie ogniskowej soczewki metodą Bessela.

Badanie przy użyciu stolika optycznego lub ławy optycznej praw odbicia i załamania światła. Wyznaczanie ogniskowej soczewki metodą Bessela. Badanie przy użyciu stolika optycznego lub ławy optycznej praw odbicia i załamania światła. Wyznaczanie ogniskowej soczewki metodą Bessela. I LO im. Stefana Żeromskiego w Lęborku 20 luty 2012 Stolik optyczny

Bardziej szczegółowo

1. Opis okna podstawowego programu TPrezenter.

1. Opis okna podstawowego programu TPrezenter. OPIS PROGRAMU TPREZENTER. Program TPrezenter przeznaczony jest do pełnej graficznej prezentacji danych bieżących lub archiwalnych dla systemów serii AL154. Umożliwia wygodną i dokładną analizę na monitorze

Bardziej szczegółowo

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych

1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych 1. Podstawowe algorytmy techniki rastrowe a) dwa przecinające się odcinki mogą nie mieć wspólnego piksela (T) b) odcinek o współrzędnych końcowych (2,0), (5,6) narysowany przy wykorzystaniu algorytmu Bresenhama

Bardziej szczegółowo

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Autodesk 3D Studio MAX Teksturowanie modeli 3D Autodesk 3D Studio MAX Teksturowanie modeli 3D dr inż. Andrzej Czajkowski Instyt Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki 25 kwietnia 2017 1 / 20 Plan Wykładu

Bardziej szczegółowo

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące IRONCAD IRONCAD 2016 TriBall o Narzędzie pozycjonujące Spis treści 1. Narzędzie TriBall... 2 2. Aktywacja narzędzia TriBall... 2 3. Specyfika narzędzia TriBall... 4 3.1 Kula centralna... 4 3.2 Kule wewnętrzne...

Bardziej szczegółowo