1 / 30

Vizualizavimo Sistemos

Vizualizavimo Algoritmin ė Seka. Vizualizavimo Sistemos. Paruošė: IG-08 grupės studentas Andrius Mikalajūnas. Duomenys. Paruošimas. Paruošti Duomenys. Branduolys. Geometrija. Atvaizdavimas. Atvaizdis. Vizualizavimo algoritminė seka. Duomenų ir metaduomenų ruošimas:

irish
Download Presentation

Vizualizavimo Sistemos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vizualizavimo Algoritminė Seka Vizualizavimo Sistemos Paruošė: IG-08 grupės studentas Andrius Mikalajūnas

  2. Duomenys Paruošimas Paruošti Duomenys Branduolys Geometrija Atvaizdavimas Atvaizdis Vizualizavimo algoritminė seka Duomenų ir metaduomenų ruošimas: • Pašalinti nereikalingus, • Apskaičiuoti išvestinius dydžius, • Interpoliacija (pjūviai), • Feature Extraction. Branduolys (Mapping): • Duomenys paverčiami geometrija, • VRML yra pripažintas geometrijos formatas, • X3D išplėstos VRML galimybės, • Branduolys dažnai sujungiamas su atvaizdavimu. Atvaizdavimas: • Efektyviausiai atliekamas žemo lygio atvaizdavimo programine įranga, • Stipriai susijęs su aparatine įranga, • Patogiau atlikti su aukštesnio lygio programine įrangą.

  3. Duomenų gavyba • Duomenų formatas. • Duomenų kompresija. • Matavimai. • Skaičiavimai.

  4. Duomenų paruošimas Duomenų praturtinimas (enrichment): • Išvestiniai dydžiai, • Interpoliacija, • Projekcijos iš 3D į 2D, • Filtravimas ir glodinimas, • Viršūnių normalių generavimas,

  5. Vizualizavimo branduolys (Mapping) Duomenys paverčiami 2D ar 3D geometriniais objektais, kurių forma, spalva, dydis ar kiti atributai vaizdžiai nusako pirminius duomenis: • Duomenų elementai: lapo plotis, lapo ilgis, lapo tipas, lapo amžius (4). • Vaizdiniai primityvai: x pozicija, y pozicija, simbolio dydis, simbolio tipas (4). • Galimi 24 vizualizavimovariantai. • Turimnduomenų elementų ir m vaizdinių primityvų: • Jei n>m, tai:n!/(n-m)!

  6. Koncepcijos (Mapping) Iš apačios į viršų: • Iš vaizdinių primityvų generuojam atvaizdį, • Tikrinam ar tenkina apribojimus! • Generuojam ir testuoja. Iš viršaus į apačią: • Panaudojam kelias sudėtingas technologijas • Parenkam geriausiai tinkančią technologiją. • Vaizdinė reprezentacija gali būti parinkta iš sėkmingų atvaizdžių DB (code based reasoning).

  7. Apribojimai ir reikalavimai Duomenų charakteristikos. Srities charakteristikos. Kompiuterio galimybės: • Išvesties ir įvesties įtaisai, • RAM kiekis ar procesoriaus greitis, • Programinė įranga. Programa “Viewer”: • Sąveika su vartotoju. Efektyvumas: • Vaizduojama informacija tiksliai atitinka vizualizavimo tikslus. Išraiškingumas: • Vaizduojama visa reikalinga informacija ir ne daugiau.

  8. Sisteminės strategijos Geriausia vizualizacija arba reprezentacija bandoma sukurti automatiškai. Knowledge-based systems, dirbtinio intelekto elementai. Pavyzdžiai: • Mackinlay (APT), • Roth and Mattis (SAGE), • Casner (BOZ), • Senay and Ignatius (VISTA), • Robertson (NSP), • Wehrend and Lewis (Catalog of Visualizations), • Beshers and Feiner (AutoVisual).

  9. Geometrija Savo geometrijos formatą turi kiekvienas grafikos paketas. VRML (Virtual Reality Modeling Language): • VRML 1.0 – OpenInventor vidinis formatas + WEB, • VRML 2.0 – Interaktyvumas, animacija ir t.t. • VRML – tekstinis failo formatas, kuriuo galima aprašyti: • Geometriją ir spalvą, tekstūrą, permatomumą ir t.t. • Animaciją, apšvietimą, garsą, scenarijus ir t.t. X3D geometrijos formatas parašytas XML kalba: • Pagrįstas VRML, • Turi kelias naujesnes savybes, • NURBS, HumanoidAnimation.

  10. Geometrija VRML pavyzdys:

  11. Geometrija X3D pavyzdys:

  12. Atvaizdavimas (Rendering) 2D/3D objektai paverčiami 2D atvaizdžiu. Reikalingi atvaizdavimo parametrai: • šviesos, • šešėliai, • atspindžiai. Prireikus naudojamos specialios technologijos: • Volume Rendering.

  13. Atvaizdis Kaip nusakomas atvaizdis? • taškų “pixels” masyve: p[x,y], Kur saugoma atvaizdžio informacija? • Frame buferyje. Keliais bitais nusakomas vienas pixelis? • 8 (Indexed-Color) • 15 (High-Color) • 24 (True-Color) • 32 (?), • 48 (?), • 96 (?).

  14. Dinamika ir Interaktyvumas • Pastovus duomenų apdorojimas. • Geometrijos modelio tobulinimas, patikslinimas. • Interaktyvus valdymas: posūkiai, postūmiai, zoom’as.

  15. Duomenys ir Analizė • Duomenų kiekio augimas:

  16. DataSet1 DataSet2 Source1 Source2 Filter1 Filter2 Filter2 Filter3 Mapper1 Mapper2 Renderer1 Renderer2 Algoritminės sekos Atskiros vizualizavimo algoritminės sekos: • Tinka iš anksto apibrėžtoms užduotims vykdyti, • Dažniausiai labai specializuotos (pritaikytos uždaviniui), • Lengva naudoti (patinka pradedantiesiems), • Pakankamai lengva sukurti, • Geras pagrindas vizualizavimo įrankiams kurti, • Kiekvienam naujam uždaviniui reikia naujos sekos(programuotojųdarbo)!

  17. Mapper1 Renderer1 Filter1 DataSet1 Universal Source Filter2 Filter4 Mapper2 Renderer2 DataSet2 Filter3 Mapper3 Algoritminės sekos Vizualizavimo algoritminių sekų tinklai: • Gali būti labai universaliais, • Naudotojai privalo turėti vizualiZavimo pagrindus,, • Sunku sukurti,, • Sudaro pagrindą vizualizavimo sistemoms, • Nauji uždaviniai nereikalauja daug programuotojo pastangų!

  18. DataSet1 DataSet DataSet1 Filter Filter1 Filter1 DataSet1 DataSet1 DataSet DataSet2 DataSet2 Filter2 Filter2 DataSet3 DataSet3 Algoritminių sekų jungtys Vieno universalaus duomenų tipo sistemos: • Paprastas ir elegantiškas principas, • Labai nelankstus, pasekmėje kenčia efektyvumas, • Dalis filtrų dirba su specifiniais duomenų tipais (pvz. struktūriniais). Kelių duomenų tipų sistemos: • Galima sujungti modulius, kurių išvesties-įvesties tipai sutampa. • Jungiant modulius, reikia tikrinti duomenų tipus! • Labai daug duomenų tipų sistemomis sunku naudotis.

  19. Algoritminės sekos jungtys Duomenų tipų tikrinimas: • Tipų tikrinimas gali būti atliktas: • Kompiliavimo metu, • Jungimo metu, • Vykdymo metu. • Reikalauja tipų konverterių. • Net ir tikrinant, sunku garantuoti korektišką įvesties duomenų tipą, • Daugkartinė tipų konversija yra neefektyvi tiek atminties, tiek ir greičio prasme.

  20. Algoritminės sekos jungtys Vienaišvestis: • 1 output => 1 modulis. Vėduoklės išvestis keli moduliai skaito vieną (tą pačią) išvestį: • 1 output => N modulių, • Skirtingai vizualizuojam tuos pačius duomenis. Daugialypė išvestis skirtingas išvestis skaito skirtingi moduliai: • Noutput => N modulių, • Lygiagretus didelių duomenų kiekių vizualizavimas.

  21. Ciklinės sekos Dažniausiai vizualizavimo sekose nėra ciklų: • Kryptingi grafai be ciklų (directed acyclic graps), Taikoma tiesinio integravimo moduliuose(srovės linijos): • Pradinis taškas x0, • Randamas v0, • Apskaičiuojamas xi+1, • Reikianaujovi+1.

  22. Sąlyginės sekos Sekos vykdymas priklauso nuo sąlygos rezultato. • Priklausomai nuo skaliaro reikšmių intervalo, taikomi skirtingas spalvų kodavimo lenteles. • Lengva realizuoti struktūrinėmis programavimo kalbomis, • Sunkiau MVE (pagrįstos visual programming).

  23. Sekų vykdymas Poreikio valdomas vykdymas (demand-driven execution): • Seka vykdoma tik tada, kai reikia išvesties, • D parametrai pasikeitė – E išvestis pareikalauta – vykdoma D-E, • Optimizuoja skaičiavimus (atlieka tik reikalingus). Įvykių valdomas vykdymas (event-driven execution): • Seka vykdoma, kai įvyksta pokyčiai, • D parametrai pasikeitė – pervykdomi D, E, F • Seka beveik visada įvykdyta.

  24. Sekų vykdymo valdymas Išreikštinis vykdymas (explicite execution): • Tiesiogiai sekami pokyčiai, tiesiogiai kontroliuojamas modulių vykdymas, priklausomas nuo išreikštinės priklausomybių analizės rezultatų, • Tinklo valdymą kontroliuoja centrinis vykdytojas (Executive), • D pakeistas – vykdytojas atlieka priklausomybių analizę – vykdomi D, E, F. • Gali būti tiek poreikio tiek ir įvykių valdomas, • Taikomas daugelyje komercinių MVE: AVS, Iris Explorer, IBM Data Visualization Explorer.

  25. Sekų vykdymo valdymas Išreikštinio vykdymo privalumai: • Kiekvieną kartą prireikus išvesties, galima sukonstruoti priklausomybių grafą ir atlikti analizę, • Visi sinchronizavimo analizės ir Update() metodai priklauso vienam moduliui, • Svarbu skaidant tinklą ir skirstant jį procesoriams lygiagrečiam vykdymui, Išreikštinio vykdymo trūkumai: • Kiekvienas modulis tiesiogiai priklauso nuo vykdytojo, • Sunku kontroliuoti sąlyginių sekų vykdymą, • Galimos problemos su lygiagretinimu (scalability),

  26. Sekų vykdymo valdymas Neišreikštinis valdymas: • Modulis vykdomas, jei jo įvestis arba parametrai pasikeitė (modification time), • Realizuojamas dviem perbėgimais (atgal ir pirmyn), • A pasikeičia – E išvestis pareikalaujama – E-D-B-A nustatoma priklausomybė – A-B-D-E vykdoma seka. • Dažniausiai valdomas poreikio, bet gali būti valdomas ir įvykių, jei po kiekvieno įvykio reikalaujama išvestis. • Pagrindinis pranašumas: paprastumas ir lokalumas, • Trūkumas: sunku realizuoti lygiagretų skaidymą ar sudėtingas vykdymo strategijas.

  27. Atminties modeliai Statinis modelis: • Atmintis išskiriama visam laikui, saugomi tarpiniai rezultatai, • Vykdomas A, vykdomas B, vykdomas C, vykdomas D. • Trumpiausias skaičiavimų laikas – reikia daugiausia atminties. Dinaminis modelis: • Tarpiniai rezultatai trinami, • Vykdomas A, vykdomas B, trinama A atmintis, vykdomas C, trinama B atmintis vykdomas A, vykdomas B, trinama A atmintis, vykdomas D, trinama B atmintis, trinama D atmintis. • Minimalus atminties poreikis – ilgiausias skaičiavimų laikas.

  28. Atminties modeliai Statinis modelis: • Geriausiai tinka nedidelėms kintančioms tinklo dalims vykdyti, kai kompiuteris turi pakankamai RAM, Dinaminis modelis: • Geriausiai tinka dideliems duomenų srautams vizualizuoti, • Svarbu atlikti priklausomybių analizę! Optimalus dinaminis modelis: • Vykdomas A, vykdomas B, trinama A atmintis, vykdomas C, vykdomas D, trinama B atmintis, trinama C atmintis, trinama D atmintis.

  29. Duomenų srauto koncepcija Struktūrinė duomenų srauto koncepcija: • Kiekvienas procesas saugo savo duomenų kopiją, • Pasiteisina, kai duomenis tenka stipriai pakeisti, • Garantuoja visišką nepriklausomybę nuo kitų procesų, • Reikalauja labai daug atminties.

  30. Duomenų srauto koncepcija Nuorodos į objektus pakeitė daugkartinį saugojimą: • Reference Counting pagrįsta OOP, • Vidiniuose objektuose saugomos tik nuorodos, • Duomenys saugomi centralizuotai, • Taupoma atmintis!

More Related