1 / 32

Vizualizavimo Sistemos

Skaliariniai Algoritmai. Vizualizavimo Sistemos. Paruošė: IG-08 grupės studentas Andrius Mikalajūnas. Temos. Klasifikacija Skaliariniai algoritmai: Spalvų žemėlapiai, Izolinijos ir izopaviršiai, Kontūro brėžimo algoritmas, 2D žygiuojantys kvadratai, 3D žygiuojantys kubai.

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. Skaliariniai Algoritmai Vizualizavimo Sistemos Paruošė: IG-08 grupės studentas Andrius Mikalajūnas

  2. Temos Klasifikacija Skaliariniai algoritmai: • Spalvų žemėlapiai, • Izolinijos ir izopaviršiai, • Kontūro brėžimo algoritmas, • 2D žygiuojantys kvadratai, • 3D žygiuojantys kubai. • Skaliarų generavimas, • Sluoksnio iškėlimas.

  3. Algoritmai: Klasifikacija Vizualizacijospagrindąsudaroalgoritmai, kurieįvairiaitransformuojapradiniųduomenų representaciją: • Įvesties duomenys – viena reprezentacija, • Transformacija (apdorojimas), • Išvesties duomenys – kita reprezentacija. Dažniausiai algoritmai transformuoja duomenų: • struktūrą, t.y. keičia topologiją arba geometriją, • tipą, t.y. keičia atributus. Dalinai atsiribojima nuo atvaizdavimo, kuriuo užsiima kompiuterinė grafika, o koncentruojamasi ties: • Filtracija, • Mappingu.

  4. Algoritmai: Klasifikacija Struktūrosalgoritmų klasifikacija: • Geometrinės – keičia geometriją (taškų padėtį), bet nekeičia topologijos (jungčių tarp taškų, t.y. elementų), • Topologinės – nekeičia geometrijos (taškų padėties), bet keičia topologiją (vtkPolyData -> vtkUnstructuredMesh), • Atributų – vienus atributus verčia kitais, arba generuoja naujus (išvestinius) atributus, • Mišrios – keičia atribuyus it geometriją arba topologiją (pvz. izolinijos arba izopaviršiai)

  5. Algoritmai: Klasifikacija • Tipoalgoritmų klasifikacija: • Skaliariniai – vizualizuoja skaliarinius duomenis, • Vektoriniai – vizualizuoja vektorinius duomenis, • Tenzoriniai – vizualizuoja tenzorinius duomenis, • Modeliavimo – atlieka mišrias operacijas, kurios reikalingos arba būdingos kelioms sritims (pvz. skaliariniams ir tenzoriniams algoritmams). Dažnai susiję su topologijos, geometrijos, normalių ar tekstūrų generavimu.

  6. Algoritmai: Skaliariniai Skaliaras – viena reikšmė susieta su: • Mazgu, • Elementu. Populiariausi skaliariniai algoritmai: • Spalvų žemėlapiai(Color Mapping) , • Izolinijos ar izopaviršiai(Contouring) , • Skaliarų generavimas (carpet plots, elevation).

  7. Algoritmai: Skaliariniai Spalvų žemėlapiai skaliarus paverčia spalvomis, Tam tikslui naudoja: • Paieškos lenteles (lookup tables) – diskretus variantas, • Transformacijos funkcijas (transfer funkcijas) – tolydus variantas.

  8. Skaliariniai algoritmai: Lookup table Apskaičiuojamas skaliaro si indeksas i į spalvų paieškos lentelę, Įvertinamos maksimali ir minimali vaizduojamos reikšmės: • Skaliarinės reikšmės, nepatenkančios į šį intervalą vaizduojamos rgb0 arba rgbn-1 spalvomis. Spalvų paieškos lentelės gali būti netiesinėmis.

  9. Skaliariniai algoritmai: Funkcijos • Vietoj diskrečios lentelės galima naudoti tolydžias transformacijos funkcijas, • F(skaliaras) = intensyvumas • Universalesnė, bet mažiau efektyvus būdas.

  10. Skaliariniai algoritmai: Spalvų lentelės Spalvų paieškos lentelės gali būti labai įvairios. Naudojami standartiniai variantai: • Pilka (nuo baltos iki juodos), • Vaivorykštės (nuo raudonos iki mėlynos). Lentelę reikia priderinti prie vizualizavimo poreikių.

  11. Skaliariniai algoritmai: Spalvų lentelės Pilka lentelė • Tolydūs perėjimai, • Mažas kontrastas. Mėlyna – raudona: • Sunku atskirti “hue” atspalvius. Raudona – mėlyna: • Gražu, • Kodėl maximumai rodomi žalia spalva? Speciali lentelė perėjimams išryškinti: • Puiku, • Daug chaoso.

  12. Skaliariniai algoritmai: Izolinijos • Izolinijos – linijos vaizduojančios nurodytą skaliaro reikšmę. • Padeda atskirti skirtingų reikšmių zonas, kai spalvos liejasi. • Užtikrina didesnį tikslumą, nes jų galima daugiau ir tankiau pripiešti.

  13. Skaliariniai algoritmai: Izolinijos • Contouring - tradicinis izolinijų braižymas interpoliacijos pagrindu.

  14. Skaliariniai algoritmai: Izolinijos Standartinis algoritmas • Pasirenkama izolinijos reikšmė, • Interpoliuojama pasirinkto elemento kraštuose (jungtyse), kad gauti tašką, kuriame skaliarinio lauko reikšmė lygi izolinijos reikšmei, • Randamas kitas kraštas ir izolinija tęsiama iki naujo gauto taško, • Algoritmas tęsiamas, kol izolinija užsidaro arba pasiekia srities kraštą. • Jeigu egzistuoja tik viena šios skaliaro reikšmės izolinija, tai darbas baigtas. • Jei ne, tai reikia patikrinti visus kraštus (jungtis), o tai labai brangu!

  15. Skaliariniai algoritmai: 2D ŽK • Žygiuojančių kvadratų algoritmas efektyviai braižo izolinijas. • Naudojama topologinių būsenų lentelė: 24=16 • Izolinijos ir krašto sankirta skaičiuojama, kai ji tikrai egzistuoja.

  16. Skaliariniai algoritmai: 2D ŽK Žygiuojančių kvadratų algoritmas • Pasirenkamas elementas, • Kiekvienoje elemento viršūnėje įvertinama vidaus/išorės būsena, • Viršūnės būsena (0/1) išsaugoma bitiniame indekse, • Remiantis keturių bitų (keturkampiui) indeksu į topologinių būsenų lentelę, nustatomas keturkampio ir izolinijos sankirtos pobūdis, • Keturkampio kraštuose atliekama interpoliacija ir brėžiamas izolinijos gabaliukas, • Specialiu metodu valomi “dvigubi” taškai.

  17. Skaliariniai algoritmai: 2D ŽK • Dviprasmybė – kuris kontūras yra teisingas? • Teisingam pasirinkimui reikalinga globali informacija (kiti elementai). • Problema sutinkamas ir kontūravimo algoritme.

  18. Skaliariniai algoritmai: 3D ŽK • Žygiuojančių kubų algoritmas yra žygiuojančių kvadratų algoritmo išplėtimas 3D erdvėje. • Labai panašus į žygiuojančių kvadratų algoritmą, • Tinka įvairiems elementų tipams (hexaedrams, tetraedrams), • Vietoj linijų, generuoja trikampius, • Papildomas žingsnis – generuoja kuriamo paviršiaus normales spalvinimo algoritmui.

  19. Skaliariniai algoritmai: 3D ŽK Žygiuojančių kubų algoritmas • Pasirenkamas kubinis elementas, • Kiekvienoje elemento viršūnėje įvertinama vidaus/išorės būsena, • Viršūnės būsena (0/1) išsaugoma bitiniame indekse, • Iš topologinių būsenų lentelės gaunamas trikampių kraštų sąrašas, • Kubo kraštuose atliekama interpoliacija ir gaunamos trikampių viršūnės, • Generuojamos trikampių normalės.

  20. Skaliariniai algoritmai: 3D ŽK 1 žingsnis – pasirenkame kubinį elementą: • Du pjūviai k ir k+1.

  21. Skaliariniai algoritmai: 3D ŽK 2 žingsnis – klasifikuojame kiekvieną viršūnę: • Ar ji yra paviršiaus viduje, ar išorėje?

  22. Skaliariniai algoritmai: 3D ŽK 3 žingsnis – sudarome aštuonių bitų (aštuonios viršūnės) indeksą: • teoriškai galimi 28=256 variantai

  23. Skaliariniai algoritmai: 3D ŽK 4 žingsnis – pagal indeksą, lentelėje randame trikampių kraštų sąrašą: • išnaudojama simetrija, todėl gaunami 14 variantų (6 jų dviprasmiški).

  24. Skaliariniai algoritmai: 3D ŽK 4 žingsnio pavyzdys – 4 atvejis: • pirma viršūnė pačiame dešiniajame bite.

  25. Skaliariniai algoritmai: 3D ŽK 4 žingsnio pavyzdys – 9 atvejis: • Izopaviršiaus generavimui naudojami tik trikampiai.

  26. Skaliariniai algoritmai: 3D ŽK 5 žingsnis – nustatome izopaviršiaus trikampių viršūnių koordinates: • Naudojame interpoliaciją (tiesinės interpoliacinės funkcijos).

  27. Skaliariniai algoritmai: 3D ŽK 6 žingsnis – generuojame trikampio viršūnių normales spalvinimui: • Naudojame duomenų reikšmių gradientą, • Normales galima sugeneruoti kiekvienam trikampiui ir suvidurkinti tinklo taške, • duomenų gradiento metodo rezultatai yra tikslesni negu vidurkinimo tinkle.

  28. Skaliariniai algoritmai: 3D ŽK • Pavyzdžiai:izopaviršius, vaizduojantis odą:

  29. Skaliariniai algoritmai: 3D ŽK Pavyzdžiai: • 2D izolinijos X-spindulių intensyvumas smegenyse, • 3D kaukuolės izopaviršius, • 3D tėkmės tankio izopaviršius, • 3D elektronų potencialo izopaviršius.

  30. Algoritmai: Skaliarų generavimas Duomenys gali būti netinkami tiesioginiam izopaviršių braižymui ar spalvų žemėlapių taikymui. Tokiais atvejais taikomi skaliarų generavimo algoritmai: • “ištraukiama” viena koordinatė, pvz. aukščių laukai (z koordinatė), • Skaliarinis laukas generuojamas pagal duotą krypties vektorių virš tam tikros plokštumos, naudojant normalizuotą skaliarinę sandaugą (vtkElevationFilter). Gautą skaliarinį lauką galima spalvinti pagal reikiamą lentelę.

  31. Algoritmai: Skaliarų generavimas Havajų salos reljefo vizualizavimas: • Vandenynas mėlyna, • Kalnų viršūnės gelsva.

  32. Algoritmai: Carpet plots Sluoksnio iškėlimas naudojamas skaliariniams laukams vaizduoti geometrijos (z koordinatės) pagalba: • Dažniausiai taikomas atvaizdžiams, • Tinka ir kitokiems duomenų tipams. 2D paviršius iškeliamas remiantis skaliarinio lauko reikšmėmis. Spalva galima vizualizuoti papildomą informaciją.

More Related