© 2006Marcin Nowak, Mateusz Pachocki1 Zastosowanie rękawicy cyfrowej oraz wyświetlacza 3D do manipulacji obiektami w wirtualnej rzeczywistości. TytułowyTytułowy
Plan prezentacji Cel projektu Zadania Zastosowane technologie Wykorzystany sprzęt Schemat działania aplikacji Podsumowanie © 2006Marcin Nowak, Mateusz Pachocki2
Cel projektu Zaimplementowanie obsługi rękawicy cyfrowej w celu prostego manipulowania obiektami w wirtualnym środowisku. Obsługa wyświetlacza trójwymiarowego służącego do wizualizacji tych obiektów. Architektura klient-server © 2006Marcin Nowak, Mateusz Pachocki3
Zadania Rozpoznanie interfejsu rękawicy oraz sposobu wykorzystania wyświetlacza 3D. Zaprojektowanie sposobów manipulacji przy użyciu rękawicy. Wykrywanie prostych gestów i ich powiązanie z akcjami w wirtualnym środowisku. Symulacja mechaniki obiektów i wizualizacja środowiska. © 2006Marcin Nowak, Mateusz Pachocki4
Zastosowane technologie ARToolkit Open Dynamics Engine (ODE) OpenGL SDL/SDL_NET © 2006Marcin Nowak, Mateusz Pachocki5
Wykorzystany sprzęt 5DT Data Glove I-glasses Kamera internetowa © 2006Marcin Nowak, Mateusz Pachocki6
ARToolkit Umożliwia rozpoznawanie markerów rejestrowanych przez kamerę. Wykorzystywane są dwa markery: –Do lokalizacji rękawicy; –Do ustalenia pozycji stołu. © 2006Marcin Nowak, Mateusz Pachocki7
Open Dynamics Engine (ODE) Odpowiedzialny za symulację fizyki obiektów. Umożliwia interakcje pomiędzy wirtualną rękawicą a obiektami znajdującymi się w wirtualnym świecie. © 2006Marcin Nowak, Mateusz Pachocki8
OpenGL Odpowiedzialny za wizualizację wirtualnego świata. Użycie OGL_STEREO do wizualizacji w 3D Cienie rzutowane na wirtualny stół Zaawansowane modele z aplikacji 3D max © 2006Marcin Nowak, Mateusz Pachocki9
5DT Data Glove Wyposażona w pięć sensorów wykrywających zgięcia palców. Automatyczna kalibracja. Interfejs USB. Brak informacji na temat kątów między palcami, pozycji rękawicy i ustawieniu dłoni – stąd konieczność zastosowania ARToolkit. © 2006Marcin Nowak, Mateusz Pachocki10
I-glasses Zwiększają realizm wirtualnej rzeczywistości. Dwa wyświetlacze 800x600 Interfejs D-Sub, protokół DCC (nVIDIA) FOV 29 ̊ diagonalnie © 2006Marcin Nowak, Mateusz Pachocki11
Pozycjonowanie(1): Pozycja dłoni Użycie 2 markerów z ARToolKita Wyliczenie pozycji jednego markera w relacji drugiego Abstrachowanie od pozycji kamery Problemy z jakością kamery © 2006Marcin Nowak, Mateusz Pachocki12
Pozycjonowanie(2): Palce 5 wartości odczytanych z rękawicy Zdefiniowanie 15 paliczków Pozycja każdego paliczeka podana w układzie współrzędnym rodzica © 2006Marcin Nowak, Mateusz Pachocki13
Pozycjonowanie(3): Palce Paliczki tworzą drzewiastą hierarchie Wystarczy macierz obrotu by zgiąć palec Wyliczenie trzech macierzy dla każdego palca z 1 wartości pobranej z rękawicy © 2006Marcin Nowak, Mateusz Pachocki14
Wizualizacja(1) © 2006Marcin Nowak, Mateusz Pachocki15
Wizualizacja(2): Problemy Wyliczenie pozycji 2 kamer Zaawansowane modele System kości Proste cienie Biblioteka CgFX dla efektów specjalnych © 2006Marcin Nowak, Mateusz Pachocki16
Wizualizacja(3): 2 Kamery © 2006Marcin Nowak, Mateusz Pachocki17
Wizualizacja(4): Modele 3D © 2006Marcin Nowak, Mateusz Pachocki18 Własny format pliku z obsługą systemu kości Własny eksporter dla 3D Maxa Model zawiera opis materiału
Wizualizacja(4): Modele 3D © 2006Marcin Nowak, Mateusz Pachocki19 Własny format pliku z obsługą systemu kości Własny eksporter dla 3D Maxa Model zawiera opis materiału
Wizualizacja(5): CgFx Zaawansowane materiały Połączenie z własnym formatem pliku Programowalne jednostki karty graficznej Działający subsystem Brak efektów specjalnych na dziś © 2006Marcin Nowak, Mateusz Pachocki20
Interakcja(1) Obliczenia fizyki przez system ODE Oddzielenie wizualizacji od interakcji (osobne klasy) Klasy dziedziczące z IBody Dla każdej klasy IBody istnieje odpowiednia klasa IShape Oba ingterfejsy łaczy macierz transformacji © 2006Marcin Nowak, Mateusz Pachocki21
Interakcja(2) Fizyka liczona na serwerze Klient prowadzi własne obliczenia Synchronizacja poprzez przesłanie wektora macierzy transformacji © 2006Marcin Nowak, Mateusz Pachocki22
Wykrywanie gestów Użycie wzorca funktor do obsługi zachowania Proste wykrywanie gestów Gest występuje, gdy wartości pobrane znajdują sie w odpowiednich przedziałach © 2006Marcin Nowak, Mateusz Pachocki23
Architektura Klient-Server(1) © 2006Marcin Nowak, Mateusz Pachocki24
Architektura Klient-Server(2) © 2006Marcin Nowak, Mateusz Pachocki25 Prosty prosty protokół transmisji Klient przesyła wyliczoną macierz transformacji dłoni, oraz 5 wartości pobranych z rękawicy Serwer odpowiada akutalnym wektorem opisującym pozycję/orientację wszystkich obiektów
Koniec! © 2006Marcin Nowak, Mateusz Pachocki26 ?