WYKORZYSTANIE JEZYK - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

WYKORZYSTANIE JEZYK

Description:

Title: Prezentacja programu PowerPoint Author: binio Last modified by: 738_KB Created Date: 5/16/2006 5:24:57 PM Document presentation format: Pokaz na ekranie – PowerPoint PPT presentation

Number of Views:51
Avg rating:3.0/5.0
Slides: 37
Provided by: binio
Category:

less

Transcript and Presenter's Notes

Title: WYKORZYSTANIE JEZYK


1
WYKORZYSTANIE JEZYKÓW OPISU WIRTUALNEJ
RZECZYWISTOSCI DO TRÓJWYMIAROWEJ WIZUALIZACJI
DANYCH PRZESTRZENNYCH
POLITECHNIKA GDANSKA WYDZIAL ELEKTRONIKI
TELEKOMUNIKACJI I INFORMATYKI KATEDRA SYSTEMÓW
GEOINFORMATYCZNYCH
Dr inz. Marek Moszynski Gdansk, 2006
2
PLAN WYKLADU
  • Podstawy matematyczne trójwymiarowej wizualizacji
  • Rola kart graficznych w trójwymiarowej
    wizualizacji
  • Interfejs programistyczny OpenGL i Java3D
  • Jezyk opisu wirtualnej rzeczywistosci VRML jako
    jezyk programowania
  • Animacja w wirtualnej rzeczywistosci
  • Rodzaje danych przestrzennych
  • GeoVRML jako roszerzenie standardu do
    wizualizacji danych przestrzennych
  • Standard X3D
  • Przykladowe zastosowania

3
PODSTAWY MATEMATYCZNE TRÓJWYMIAROWEJ WIZUALIZACJI
  • Skalowanie

4
PODSTAWY MATEMATYCZNE TRÓJWYMIAROWEJ WIZUALIZACJI
  • Przesuniecie

5
PODSTAWY MATEMATYCZNE TRÓJWYMIAROWEJ WIZUALIZACJI
  • Rotacja
  • Wzgledem osi x
  • Wzgledem osi y
  • Wzgledem osi z

6
DISPLAY ARCHITECTURE IN WIN95
Windows Application
Video for Windows (VFW)
Realistic Display Mixer (RDX)
Graphics Device Interface (GDI)
Active Movie (Win95)
Direct3D Retained Mode
Direct3D Immediate Mode
DIBENG Emulator
Direct Video
DirectDraw Hardware Emulation Layer (HEL)
Direct3D Hardware Emulation Layer (HEL)
Windows Device Driver Interface (DDI)
DirectDraw Direct3D Hardware Abstraction Layer
(HAL) / Device Driver Interface
Graphics Device
7
ZASADA DZIALANIA KARTY GRAFICZNEJ
Screen space triangle stream
Transformed vertex stream
Vertex stream
Triangle stream
Vertex Program
Clip/Cull/ Vieport
Triangle Assembly
Pamiec tekstur
Rasteryzacja
Processed fragment stream
Fragment stream
Pixel stream
Fragment Program
Composite
Framebuffer
Image
8
ARCHITEKTURA PROCESORA GRAFICZNEGO
Vertex Processing
Fragment Processing
9
CPUs vs. GPUs
  • Pentium Extreme Edition 840
  • 3.2 GHz Dual Core
  • 230M Transistors
  • 90nm process
  • 206 mm2
  • 2 x 1MB Cache
  • 25.6 GFlops
  • GeForce 7800 GTX
  • 430 MHz
  • 302M Transistors
  • 110nm process
  • 326 mm2
  • 313 GFlops (shader)
  • 1.3 TFlops (total)

10
CPUs vs. GPUs
  • Efficiency of FLOPs delivered

PEE 840 7800GTX GPU/CPU
Graphics GFlops Graphics GFlops 25.6 1300 50.8
Shader GFlops Shader GFlops 25.6 313 12.2
Die Area (mm2) Die Area (mm2) 206 326 1.6
Die Area normalized Die Area normalized 206 218 1.1
Transistors (M) Transistors (M) 230 302 1.3
Power (W) Power (W) 130 65 0.5
Graphics GFlops/mm 0.1 6.0 47.9
Graphics GFlops/tr 0.1 4.3 38.7
Graphics GFlpos/W 0.2 20.0 101.6
11
TESTY WYDAJNOSCI KART GRAFICZNYCH
12
INTERFEJS PROGRAMISTYCZNY OpenGL I Java3D
  • OpenGL mozna zdefiniowac jako programowy
    interfejs sprzetu graficznego". Jest to
    biblioteka przeznaczona do tworzenia
    trójwymiarowej grafiki, bardzo szybka i latwo
    przenaszalna pomiedzy róznymi systemami. W OpenGL
    zastosowano algorytmy opracowane przez Silicon
    Graphics (SGI), niekwestionowanego lidera w
    dziedzinie animacji i grafiki komputerowej.
  • Java3D jest standardowym rozszerzeniem jezyka
    Java w wersji 1.2. Nie jest to jednak
    niezalezna biblioteka w calosci napisana w
    Javie. Do swego dzialania wymaga biblioteki
    OpenGL w wersji co najmniej 1.1, a wiec Java3D
    wykorzystuje niskopoziomowe wywolania funkcji
    OpenGL'a, co daje gwarancje odpowiednio szybkiego
    renderowania scen w czasie rzeczywistym.

13
INTERFEJS PROGRAMISTYCZNY OpenGL I Java3D
  • Architektura OpenGL

Per Vertex Operations Primitive Assembly
Polynomial Evaluator
DisplayList
Per Fragment Operations
Frame Buffer
CPU
Rasterization
Texture Memory
Pixel Operations
14
INTERFEJS PROGRAMISTYCZNY OpenGL I Java3D
  • Architektura Java3D

15
INTERFEJS PROGRAMISTYCZNY OpenGL I Java3D
OpenGL Java3D
Zalety Intuicyjne programowanie Male zasoby pamieci potrzebne do uruchomienia aplikacji Szybkie wykonywanie operacji graficznych Szybkie wykonywanie operacji graficznych Wbudowane funkcje grafiki 3D Latwosc w kodowaniu Malo bugów technologii
Wady Brak prawdziwego API utrudnia programowanie Wolne wykonywanie operacji graficznych Pseudoobiektowosc JOGLa Dlugi czas trwania inicjalizacji obiektów graficznych i interfejsu pamieciozerny
16
VRML
  • Jezyk VRML (ang. Virtual Reality Modeling
    Language) jest narzedziem pozwalajacym opisywac
    obiekty i animacje na trójwymiarowej scenie.
    Dzieki niemu istnieje mozliwosc tworzenia
    interaktywnych wirtualnych swiatów, gdzie
    uzytkownik ma mozliwosc poruszania sie pomiedzy
    zdefiniowanymi obiektami (wyswietlanie obiektów
    trójwymiarowych w czasie rzeczywistym),
    definiowania dowolnej ilosci czujników
    interakcyjnych zmieniajacych wyglad swiata VRML.
    Wirtualne swiaty uruchamiane sa na tej samej
    zasadzie co strony HTML - poprzez siec Internet -
    trzeba jednak zaopatrzyc przegladarke internetowa
    w odpowiedni dodatek (ang. plug-in).
  • Jezyk VRML charakteryzuje sie trzema cechami,
    które odrózniaja go od innych aplikacji do
    tworzenia grafiki trójwymiarowej, stanowiac
    jednoczesnie o jego atrakcyjnosci.
  • dostepnosc mozliwosc odwiedzenia wirtualnego
    swiata za pomoca sieci Internet,
  • mozliwosc poruszania sie po wirtualnym swiecie
    wszystkie obiekty na scenie trójwymiarowej
    mozna obejrzec z kazdej strony, ale nie na
    zasadzie wyswietlania ich kolejnych rzutów,
    czy tez animacji (chociaz to tez jest mozliwe),
    ale poprzez chodzenie" wokól nich. Nie mozna
    uzyskac tego efektu w tradycyjnych aplikacjach do
    grafiki trójwymiarowej takich jak AutoCad czy
    3DStudio,
  • interakcyjnosc kazdy uczestnik swiata
    wirtualnego moze miec wplyw na jego wyglad,
    jesli twórca umiescil w opisie sceny róznego
    rodzaju czujniki.

17
VRML
  • Koncepcja przegladarki plików VRML

18
ARCHITEKTURA JEZYKA VRML
Viewpoint
VRML V2.0 utf8 Viewpoint position 100 -20
300 description "Start" Shape
appearance Appearance material Material
emissiveColor 1 0 0 transparency
0.2 geometry Cone bottomRadius
4.2 height 8
Shape
geometry
Appearance
Material
19
PRZYKLADOWE ZASTOSOWANIA JEZYKA VRML
20
ANIMACJA W WIRTUALNEJ RZECZYWISTOSCI
  • W jezyku VRML istnieje mozliwosc tworzenia
    animacji. Do stworzenia animacji niezbedne sa
    nastepujace elementy
  • zdefiniowany (za pomoca komendy DEF) wezel
    którego pola beda na biezaco modyfikowane w
    trakcie wykonywania animacji,
  • zdefiniowany wezel odpowiedzialny za poczatek,
    koniec oraz czas trwania animacji
    (TimeSensor),
  • zdefiniowany wezel interpolujacy wartosci pól
    modyfikowanych w czasie trwania animacji,
  • zdefiniowanie sciezek pomiedzy polami wezlów
    (powiazanie zdarzen),
  • opcjonalnie zdefiniowany wezel czujnikowy
    (TouchSensor)

Schemat blokowy elementów oraz ich powiazan przy
tworzeniu animacji w jezyku VRML
21
ANIMACJA W WIRTUALNEJ RZECZYWISTOSCI
Petla symulacji
Stworzenie swiata Zainicjowanie sensorów i swiatel
Odczyt sensorów
Renderowanie wygladu swiata
Wywolanie funkcji akcji swiata
Wykonanie zadan obiektów graficznych
Aktualizacja obiektów graficznych zaleznie od
odczytów sensora
22
PRZYKLAD ANIMACJI WYKONANEJ W JEZYKU VRML
23
RODZAJE DANYCH PRZESTRZENNYCH
24
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.

25
WLASCIWOSCI JEZYKA GeoVRML
  • Mozliwosc bezposredniego osadzania metadanych w
    kodzie VRMLa w formatach
  • GD ltlatitudegt ltlongitudegt ltelevationgt
  • ltlongitudegt ltlatitudegt ltelevationgt
  • UTM ltnorthinggt lteastinggt ltelevationgt
    lteastinggt ltnorthinggt ltelevationgt
  • GC ltxgt ltygt ltzgt

Gdansk Malbork
5421N 1840E 5402N 1903E
GD lat 54.35 lon 18.67 lat 54.03 lon 19.05
UTM(WGS84) 6024974N 348350E Zone number 34 5988990N 372288E Zone number 34
26
WLASCIWOSCI JEZYKA GeoVRML
  • Zwiekszenie precyzji prezentowanych danych
  • Poprzez zdefiniowanie lokalnych kartezjanskich
    ukladów wspólrzednych (ang. Local Cartesian
    Frame)

UTM GC
LCF 310385.0E, 4361550.0N, 0m, zone 13 -1459877.12, -4715646.93, 4025213.19
Punkt 310400.0E, 4361600.0N, 0m, zone 13 -1459854.51, -4715620.48, 4025252.11
Punkt - LCF 22.61, 26.44, 38.92
27
WLASCIWOSCI JEZYKA GeoVRML
  • Zwiekszenie precyzji prezentowanych danych
  • Poprzez zapis liczb jako ciagu znaków
  • Konwersji za pomoca Javy ciagu znaków na liczbe

GeoCoordinate geoSystem "GD" point "57.7
-3.1 0" GeoCoordinate geoSystem "UTM",
"Z11 point "4361550.1 310385.2 1000"
28
WLASCIWOSCI JEZYKA GeoVRML
  1. Modyfikacja wezla LOD (ang. Level of Detail)
    decydujacego o poziomach szczególowosci
    umieszczanych obiektów na scenie (GeoLOD)

29
WLASCIWOSCI JEZYKA GeoVRML
  1. Zawiera dodatkowy wezel do opisywania obiektów
    geograficznych (Metadata)
  2. Zawiera dodatkowy wezel interpolacji
    umozliwiajacy poruszanie sie po powierzchni kuli
    (GeoPositionInterpolator)
  3. Mozliwosc lokalizacji punktów odniesienia
    umieszczonych na scenie
  4. Zaimplementowane schematy nawigacji specyficzne
    dla aplikacji geograficznych

30
ARCHITEKTURA JEZYKA GeoVRML
GeoCoordinate
GeoViewpoint
GeoLOD
. . .
Wezly GeoVRMLa
GeoVRML Support Layer
Implementacja wezlów GeoVRMLa za pomoca JAVY
System do transformacji wspólrzednych
geograficznych (lat/lon, UTM, )
GeoTransform Package
31
PRZYKLADY WYKORZYSTANIA JEZYKA GeoVRML
32
JEZYK X3D
  • X3D jest nastepna, po VRML, generacja
    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 scisle wspólpracuja
    ze soba w celu utworzenia nowej specyfikacji X3D,
    która laczy w sobie potrzeby ludzi korzystajacych
    z przegladarek jak i wymagania calego
    spoleczenstwa informatycznego.
  • Wymagania stawiane X3D
  • Zgodnosc z istniejacym standardem VRML,
    przegladarkami i narzedziami,
  • Rozszerzone mechanizmy pozwalajace na
    wprowadzanie nowych wlasciwosci, szybka ocena
    przydatnosci i formalna adaptacja tych rozszerzen
    w specyfikacji,
  • Male, proste "jadro" pozwala na szeroka dowolnosc
    adaptacji elementów 3D,
  • Wiekszy, w pelni kompatybilny profil VRML
    obslugujacy istniejace bogactwo obiektów,
  • Obsluga przez inne dekodery, wlaczajac XML, dla
    scislej integracji z technologia i narzedziami
    Web.

33
ARCHITEKTURA JEZYKA X3D
34
PRZYKLADOWE ZASTOSOWANIA
  • Wizualizacja w jezyku VRML danych z sonarów
    wielowiazkowych

35
PRZYKLADOWE ZASTOSOWANIA
  • Wizualizacja w jezyku VRML przemieszczania sie
    ryb pelagicznych w wiazce echosondy

Wirtualny echogram widok z boku
Echogram
Implementacja w VRMLu
http//www.eti.pg.gda.pl/marmo/vrmlfish
36
PRZYKLADOWE ZASTOSOWANIA
  • Wizualizacja w jezyku VRML przemieszczania sie
    ryb pelagicznych w wiazce echosondy

Wirtualny echogram widok z góry
Bulls eye
Implementacja w VRMLu
http//www.eti.pg.gda.pl/marmo/vrmlfish
Write a Comment
User Comments (0)
About PowerShow.com