Gry Komputerowe Interaktywna kamera FPP

Podobne dokumenty
Gry Komputerowe - laboratorium 2. Kamera FPP / TPP. mgr inż. Michał Chwesiuk 1/11. Szczecin, r

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

Podłączanie bibliotek Zapis danych do pliku graficznego Generowanie promienia pierwotnego Import sceny z pliku Algorytm ray tracingu

GRAFIKA CZASU RZECZYWISTEGO Interakcja, ruch kamery, oświetlenie.

Etap 1. Rysunek: Układy odniesienia

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

2 Przygotował: mgr inż. Maciej Lasota

Wstęp. Ruch po okręgu w kartezjańskim układzie współrzędnych

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

BLENDER- Laboratorium 1 opracował Michał Zakrzewski, 2014 r. Interfejs i poruszanie się po programie oraz podstawy edycji bryły

Zaawansowana Grafika Komputerowa

Krzywe stożkowe Lekcja II: Okrąg i jego opis w różnych układach współrzędnych

Orientacja zewnętrzna pojedynczego zdjęcia

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

Gry Komputerowe Laboratorium 3. Organizacja obiektów sceny Kolizje obiektów. mgr inż. Michał Chwesiuk 1/20. Szczecin, r

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Pole magnetyczne magnesu w kształcie kuli

Grafika Komputerowa, Informatyka, I Rok

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

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

rectan.co.uk 1. Szkic projektu Strona:1

Fizyka. dr Bohdan Bieg p. 36A. wykład ćwiczenia laboratoryjne ćwiczenia rachunkowe

Wizualizacja płomienia

Wektory, układ współrzędnych

Przetwarzanie i Kompresja Obrazów. Przekształcenia geometryczne

Scenariusz lekcji Ozobot w klasie: Spacer losowy po układzie współrzędnych

RUCH OBROTOWY- MECHANIKA BRYŁY SZTYWNEJ

Geometria analityczna

Gry Komputerowe - laboratorium 0

RUCH OBROTOWY- MECHANIKA BRYŁY SZTYWNEJ

3. KINEMATYKA Kinematyka jest częścią mechaniki, która zajmuje się opisem ruchu ciał bez wnikania w jego przyczyny. Oznacza to, że nie interesuje nas

Mechanika. Wykład 2. Paweł Staszel

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

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

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

METODY MATEMATYCZNE I STATYSTYCZNE W INŻYNIERII CHEMICZNEJ

Układy współrzędnych GUW, LUW Polecenie LUW

Rzutowanie DOROTA SMORAWA

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Mobilne Aplikacje Multimedialne

Ruch prostoliniowy. zmienny. dr inż. Romuald Kędzierski

LABORATORIUM MECHANIKI PŁYNÓW. Ćwiczenie N 2 RÓWNOWAGA WZGLĘDNA W NACZYNIU WIRUJĄCYM WOKÓŁ OSI PIONOWEJ

1. Okna modułów Dane i Wyniki można przemieszczać po ekranie, jeśli nie jest wciśnięty przycisk Maksymalizacji

Grafika komputerowa i wizualizacja. dr Wojciech Pałubicki

Krzywe stożkowe Lekcja VI: Parabola

Misja#3. Robimy film animowany.

ĆWICZENIE 41 POMIARY PRZY UŻYCIU GONIOMETRU KOŁOWEGO. Wprowadzenie teoretyczne

Praca domowa nr 2. Kinematyka. Dynamika. Nieinercjalne układy odniesienia.

1 Temat: Vertex Shader

Zad. 5: Rotacje 3D. 1 Cel ćwiczenia. 2 Program zajęć. 3 Opis zadania programowego

18. Siły bezwładności Siła bezwładności w ruchu postępowych Siła odśrodkowa bezwładności Siła Coriolisa

Dr Kazimierz Sierański www. If.pwr.wroc.pl/~sieranski Konsultacje pok. 320 A-1: codziennie po ćwiczeniach

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Prosta i płaszczyzna w przestrzeni

Informatyka Stosowana. a b c d a a b c d b b d a c c c a d b d d c b a

PF11- Dynamika bryły sztywnej.

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

Metody systemowe i decyzyjne w informatyce

WIZUALIZACJA I STEROWANIE ROBOTEM

Podstawy robotyki wykład III. Kinematyka manipulatora

MECHANIKA 2 KINEMATYKA. Wykład Nr 5 RUCH KULISTY I RUCH OGÓLNY BRYŁY. Prowadzący: dr Krzysztof Polko

Chemiateoretyczna. Monika Musiał. Elementy teorii grup

142 Egzamin maturalny. Informatyka. Poziom rozszerzony. Zbiór zadań

Układy współrzędnych

MECHANIKA 2 RUCH POSTĘPOWY I OBROTOWY CIAŁA SZTYWNEGO. Wykład Nr 2. Prowadzący: dr Krzysztof Polko

Korzystanie z czujników w sterowaniu robotem Lego NXT

Arkusz 6. Elementy geometrii analitycznej w przestrzeni

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23

Organizacja zajęć. Wprowadzenie do programu AutoCAD

Instrukcja programowania wieratko-frezarki BFKO, sterowanej odcinkowo (Sinumerik 802C)

Przekształcenia geometryczne. Dorota Smorawa

PODSTAWY RACHUNKU WEKTOROWEGO

OpenGL Światło (cieniowanie)

PL B1. Sposób prostopadłego ustawienia osi wrzeciona do kierunku ruchu posuwowego podczas frezowania. POLITECHNIKA POZNAŃSKA, Poznań, PL

Klasyfikacja konturów w znaczników w z wykorzystaniem miary zmienności na obrazie z sonaru sektorowego

Materiały pomocnicze do ćwiczeń laboratoryjnych

GRAFIKA CZASU RZECZYWISTEGO Wprowadzenie do OpenGL

VECTORy-01 wymaga zasilania napięciem 12-42V DC 200mA. Zasilanie oraz sygnały sterujące należy podłączyć do złącza zgodnie z załączonym schematem

W. Guzicki Zadanie 21 z Informatora Maturalnego poziom rozszerzony 1

Rysunek 1: Okno timeline wykorzystywane do tworzenia animacji.

Wykład FIZYKA I. 2. Kinematyka punktu materialnego. Dr hab. inż. Władysław Artur Woźniak

Gry Komputerowe Laboratorium 1. Zajęcia organizacyjne Animacja z uwzględnieniem czasu. mgr inż. Michał Chwesiuk 1/22. Szczecin,

Podstawy fotogrametrii i teledetekcji

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Zestaw Obliczyć objętość równoległościanu zbudowanego na wektorach m, n, p jeśli wiadomo, że objętość równoległościanu zbudowanego na wektorach:

Laboratorium 1. Część I. Podstawy biblioteki graficznej OpenGL.

Programowanie w Scratch robot mbot

Rozwiązania zadań egzaminacyjnych (egzamin poprawkowy) z Mechaniki i Szczególnej Teorii Względności

IRONCAD IRONCAD Skróty klawiaturowe

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

IRONCAD. TriBall IRONCAD Narzędzie pozycjonujące

Manipulatory i roboty mobilne AR S1 semestr 5

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

POWŁOKI GEOMETRIA POWIERZCHNI

Mechanika Robotów. Wojciech Lisowski. 5 Planowanie trajektorii ruchu efektora w przestrzeni roboczej

Maszyny technologiczne. dr inż. Michał Dolata

Ćwiczenie nr 2 - Rysowanie precyzyjne

Systemy wirtualnej rzeczywistości. Podstawy grafiki 3D

Transkrypt:

Gry Komputerowe Interaktywna kamera FPP Michał Chwesiuk Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wydział Informatyki 28 Marzec 2018 Michał Chwesiuk Laboratorium 2 28 Marzec 2018 1/ 11

v x [ ] v y P rojection v z = matrix v w w OpenGL [ ] V iew matrix [ ] Model matrix v x v y v z v w v x v y v z = [ GL P ROJECT ION ] [ GL MODELV IEW ] v y v z v w v w v x Michał Chwesiuk Laboratorium 2 28 Marzec 2018 2/ 11

up Atrybuty kamery : Pozycja (position) Punkt patrzenia (target) Wektor góry (up) direction position Michał Chwesiuk Laboratorium 2 28 Marzec 2018 3/ 11

Macierz transformacji widoku Macierz transformacji widoku glulookat(eye x, eye y, eye z, target x, target y, target z, up x, up y, up z) left x left y left z left x eye x left y eye y left z eye z up x up y up z up x eye x up y eye y up z eye z f x f y f z f x eye x f y eye y f z eye z 0 0 0 1 Gdzie : f = eye target, left = up f eye - pozycja kamery target - punkt patrzenia kamery ( eye + dir) up - wektor góry kamery Michał Chwesiuk Laboratorium 2 28 Marzec 2018 4/ 11

Poruszanie kamerą pos + speed * dir pos + speed * rotated_dir pos pos - speed * rotated_dir pos - speed * dir pos - pozycja kamery dir - kierunek patrzenia kamery speed - prędkość przemieszczania kamery rotated dir - wektor prostopadły do kierunku patrzenia kamery dir Michał Chwesiuk Laboratorium 2 28 Marzec 2018 5/ 11

Y y r P O φ x X Najczęściej podczas opisywania punktu w przestrzeni dwuwymiarowej wykorzystujemy współrzędne kartezjańskie, które opisują punkt za pomocą dwóch zmiennych : X i Y. polegają na opisaniu tych współrzędnych za pomocą dwóch innych atrybutów : promień wodzący r - odległość punktu P od środka układu współrzędnych O amplituda punktu φ - kąt pomiędzy osią OX, a wektorem OP Michał Chwesiuk Laboratorium 2 28 Marzec 2018 6/ 11

punktów do układów Z układu kartezjańskiego do układu go r = X 2 + Y 2 φ = arctan( Y X ) Z układu go do układu kartezjańskiego X = r cos(φ) Y = r sin(φ) Michał Chwesiuk Laboratorium 2 28 Marzec 2018 7/ 11

Wejście za pomocą GLUT odbywa się za pomocą dwóch callbacków : glutkeyboardfunc(f) - wciśnięcie klawisza glutkeyboardupfunc(f) - puszczenie klawisza W GLUT występuje zjawisko repetycji wciśnięcia klawisza! Podczas jego trzymania odczytywane jest wieloktrone jego wciśnięcie. GLUT pozwala tylko na odczyt wydarzeń wciśnięcia i puszczenia klawisza, a nie na odczyt jego stanu. Rozwiązanie tego problemu leży po stronie programisty. Należy stworzyć tablice zmiennych typu bool. Ustawić wartosci elementów tablicy na true lub false w odpowienich funkcjach obsługi. Odwoływanie się do elementów tablicy za pomocą wartości kodów ASCII. Michał Chwesiuk Laboratorium 2 28 Marzec 2018 8/ 11

Tablica ASCII Michał Chwesiuk Laboratorium 2 28 Marzec 2018 9/ 11

Należy zwrócić uwagę na rozdzielone metody do Renderowania i Aktualizowania! Michał Chwesiuk Laboratorium 2 28 Marzec 2018 10/ 11

Wersja Podstawowa m na dzisiejszych zajęciach jest zaimplementowanie interaktywnej kamery FPP : Sterowanie kamerą w czterech kierunkach za pomocą do przódu, do tyłu i na boki Obracanie kierunku kamery wokół jednej osi za pomocą Mile widziana bezwładność - zamiast natychmiastowego zatrzymania się, zmniejszanie prędkości w czasie Wersja Rozszerzona Do poruszania kamerą należy dodać : Obracanie wokół dwóch osi (podpowiedź : Układ współrzędnych sferycznych) Sterowanie myszą - przydatne funkcje : glutwarppointer(x, y), glutpassivemotionfunc(f), glutsetcursor(glut CURSOR NONE) Michał Chwesiuk Laboratorium 2 28 Marzec 2018 11/ 11