360 likes | 518 Views
POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI KATEDRA SYSTEMÓW GEOINFORMATYCZNYCH. WYKORZYSTANIE JĘZYKÓW OPISU WIRTUALNEJ RZECZYWISTOŚCI DO TRÓJWYMIAROWEJ WIZUALIZACJI DANYCH PRZESTRZENNYCH. Dr inż. Marek Moszyński Gdańsk, 2006. Plan wykładu.
E N D
POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI KATEDRA SYSTEMÓW GEOINFORMATYCZNYCH WYKORZYSTANIE JĘZYKÓW OPISU WIRTUALNEJ RZECZYWISTOŚCI DO TRÓJWYMIAROWEJ WIZUALIZACJI DANYCH PRZESTRZENNYCH Dr inż. Marek Moszyński Gdańsk, 2006
Plan wykładu • Wprowadzenie – proces wyświetlania • Rola karty graficznej • Interfejs programistyczny OpenGL i Java3D • Język modelowania wirtualnej rzeczywistości VRML • Elementy programowania • Animacja w wirtualnej rzeczywistości • GeoVRML jako rozszerzenie standardu do wizualizacji danych przestrzennych • Standard X3D • Przykładowe zastosowania
Wprowadzenie - transformacje uogólnione współrzędne homogeniczne: Skalowanie Przesunięcie
Wprowadzenie - transformacje Rotacja • Względem osi x • Względem osi y • Względem osi z
Wprowadzenie - transformacje Rotacja względem uogólnionej osi n o kąt R
Wprowadzenie - projekcja Projekcja perspektywiczna Mper
Rola karty graficznej strumień trójkątów w przestrzeni ekranu Transformed vertex stream Strumień węzłów Strumień trójkątów Clip/Cull/ Vieport Vertex Program Triangle Assembly Pamięć tekstur Rasteryzacja Przetworzony strumień fragmentów Strumień fragmentów Strumień pikseli Fragment Program Composite Framebuffer Obraz
Rola karty graficznej • Pentium Extreme Edition 840 • 3.2 GHz Dual Core • 230M Transistors • 90nm process • 206 mm2 • 2 x 1MB Cache • 25.6 Gflops • 130 W • GeForce 7800 GTX • 430 MHz • 302M Transistors • 110nm process • 326 mm2 • 313 GFlops (shader) • 1.3 TFlops (total) • 65 W
Interfejs programistyczny OpenGL i Java3D • programowy interfejs sprzętu graficznego • biblioteka do tworzenia trójwymiarowej grafiki • bardzo szybka i przenośna • algorytmy opracowane przez Silicon Graphics (SGI) (lider w dziedzinie animacji i grafiki komputerowej) • standardowe rozszerzenie języka Java w wersji 1.2. • wymaga biblioteki OpenGL, OpenGL: Java3D:
Interfejs programistyczny OpenGL i Java3D Architektura Java3D
Język VRML VRML - Virtual Reality Modeling Language • narzędzie pozwalające opisywać obiekty i animacje w trójwymiarowej scenie • istnieje możliwość tworzenia interaktywnych wirtualnych światów Użytkownik ma możliwość: • poruszania się pomiędzy zdefiniowanymi obiektami • definiowania dowolnej ilości czujników interakcyjnych zmieniających wygląd świata Uwagi: • wirtualne światy uruchamiane są na tej samej zasadzie, co strony HTML • przeglądarka internetowa wyposażona w odpowiedni dodatek (ang. plug-in).
Język VRML Cechy języka: • dostępność możliwość odwiedzenia wirtualnego świata za pomocą sieci Internet • możliwość poruszania się po wirtualnym świecie wszystkie obiekty na scenietrójwymiarowej można obejrzeć z każdej strony ale niena zasadzie wyświetlania ichkolejnych rzutów, czy też animacji (chociaż to też jest możliwe), • interakcyjność każdy uczestnik świata wirtualnego może mieć wpływ na jego wygląd,jeśli twórca umieścił w opisie sceny różnego rodzaju czujniki.
Język VRML – składnia Viewpoint #VRML V2.0 utf8 Viewpoint { position 100 -20 300 description "Start" } Shape { appearance Appearance { material Material { emissiveColor 1 00 transparency 0.2 }} geometry Cone { bottomRadius 4.2 height 8 }} Shape geometry Appearance Material
DEFT Transform { children [ Shape {…}DEF TS TouchSensor ] } DEFTMTimeSensor {…} DEF I PositionInterpolator { key […] keyValue […] } ROUTE TS.isActive TO TM.set_loop ROUTE TM.fraction_changed TO I.set_fraction ROUTE I.value_changed TO T.set_translation Język VRML – animacja Schemat blokowy elementów oraz ich powiązań przy tworzeniu animacji w języku VRML
Język VRML – animacja Pętla symulacji Stworzenie świata Zainicjowanie sensorów i świateł Odczyt sensorów Renderowanie wyglądu świata Wywołanie funkcji akcji świata Wykonanie zadań obiektów graficznych Aktualizacja obiektów graficznych zależnie od odczytów sensora
Język VRML – animacja Orbity systemu GPS Orbity systemu Galileo
GeoVRML GeoVRML is an official Working Group of the Web3D Consortium. It was formed on 27 Feb 1998 with the goal of developing tools and recommended practice for the representation of geographical data using the Virtual Reality Modeling Language (VRML). The desire is to enable geo-referenced data, such as maps and 3-D terrain models, to be viewed over the web by a user with a standard VRML plugin for their web browser. The GeoVRML Working Group has a mailing list where discussions and developments are posted. Currently, this list consists of over 200 members drawn from a wide gamut of backgrounds and nationalities, including members from industry, government, and academia; geographers, geologists, computer graphics developers, and of course interested hobbyists. The group has recently produced the GeoVRML 1.1 specification, providing a number of extensions to VRML for supporting geographic applications. There is also an accompanying Open Source Java sample implementation of these nodes. Finally, these nodes are part of Amendment 1 to the VRML97 ISO standard.
43km 219m Język GeoVRML - właściwości • Możliwość bezpośredniego osadzania metadanych w kodzie VRML’a w formatach: GD – „<latitude> <longitude> <elevation>” „<longitude> <latitude> <elevation>” UTM – „<northing> <easting> <elevation>” „<easting> <northing> <elevation>” GC – „<x> <y> <z>”
Język GeoVRML - właściwości • Zwiększenie precyzji prezentowanych danych • Poprzez zdefiniowanie lokalnych kartezjańskich układów współrzędnych (ang. Local Cartesian Frame)
Język GeoVRML - właściwości • Poprzez zapis liczb jako ciągu znaków • Konwersji za pomocą Javy ciągu znaków na liczbę GeoCoordinate { geoSystem"GD" point [ "57.7 -3.1 0" ] } GeoCoordinate { geoSystem [ "UTM", "Z11„] point [ "4361550.1 310385.2 1000" ] }
Język GeoVRML - właściwości • Modyfikacja węzła LOD (ang. Level of Detail), decydującego o poziomach szczegółowości umieszczanych obiektów na scenie (GeoLOD)
Język GeoVRML - właściwości • Zawiera dodatkowy węzeł do opisywania obiektów geograficznych (Metadata) • Zawiera dodatkowy węzęł interpolacji, umożliwiający poruszanie się po powierzchni kuli (GeoPositionInterpolator) • Możliwość lokalizacji punktów odniesienia umieszczonych na scenie • Zaimplementowane schematy nawigacji, specyficzne dla aplikacji geograficznych
Język GeoVRML - arcitektura GeoCoordinate GeoViewpoint GeoLOD . . . Węzły GeoVRML’a GeoVRML Support Layer Implementacja węzłów GeoVRML’a za pomocą JAVY System do transformacji współrzędnych geograficznych (lat/lon, UTM, …) GeoTransform Package
Język X3D X3D jest następną, po VRML, generacją otwartego standardu dla grafiki 3D w sieci WWW. Jest rezultatem kilkuletniej pracy rozwojowej X3D Task Group i utworzonej niedawno Browswer Working Group, zrzeszonych w Web 3D Consorcium. Obie te grupy ściśle współpracują ze sobą w celu utworzenia nowej specyfikacji X3D, która łączy w sobie potrzeby ludzi korzystających z przeglądarek jak i wymagania całego społeczeństwa informatycznego. Wymagania stawiane X3D: • Zgodność z istniejącym standardem VRML, przeglądarkami i narzędziami, • Rozszerzone mechanizmy pozwalające na wprowadzanie nowych właściwości, szybka ocena przydatności i formalna adaptacja tych rozszerzeń w specyfikacji, • Małe, proste "jądro" pozwala na szeroką dowolność adaptacji elementów 3D, • Większy, w pełni kompatybilny profil VRML obsługujący istniejące bogactwo obiektów, • Obsługa przez inne dekodery, włączając XML, dla ścisłej integracji z technologią i narzędziami Web.
Przykłady zastosowań języków opisu wirtualnej rzeczywistości Wizualizacja w języku VRML danych z sonarów wielowiązkowych
Przykłady zastosowań języków opisu wirtualnej rzeczywistości Wizualizacja w języku VRML przemieszczania się ryb pelagicznych w wiązce echosondy Wirtualny echogram – widok z boku Echogram Implementacja w VRML’u http://www.eti.pg.gda.pl/~marmo/vrmlfish
Przykłady zastosowań języków opisu wirtualnej rzeczywistości Wizualizacja w języku VRML przemieszczania się ryb pelagicznych w wiązce echosondy Wirtualny echogram – widok z góry „Bulls – eye” Implementacja w VRML’u http://www.eti.pg.gda.pl/~marmo/vrmlfish