Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Del 5 Visualisering av skalarfelt

Liknende presentasjoner


Presentasjon om: "Del 5 Visualisering av skalarfelt"— Utskrift av presentasjonen:

1 Del 5 Visualisering av skalarfelt

2 Skalar-til-farge korrespondanse
Skalar-intervallet i datasettet korresponderer med en fargeskala Regnbue Rød til blå Gråtoner smin smax Sort/hvitt utskrift! 1/4-03 IN229/ V03 / Dag 8

3 For en gitt fargemodell kan vi uttrykke dette vha
For en gitt fargemodell kan vi uttrykke dette vha. en funksjon for hver av komponentene farge R G B skalarverdi 1/4-03 IN229/ V03 / Dag 8

4 Regnbue-skalaen RGB HSV fiolett blå lyseblå grønn gul rød R G B S, V H
LB R Gul Gr B F H fiolett blå lyseblå grønn gul rød 1/4-03 IN229/ V03 / Dag 8

5 Blå-til-rød-skalaen, RGB
mørk fiolett! rød R B G blå fiolett rød 1/4-03 IN229/ V03 / Dag 8

6 Blå-til-rød-skalaen, HSV
LB R Gul Gr B F H blå fiolett rød 1/4-03 IN229/ V03 / Dag 8

7 Blå-til-gul-skalaen, RGB
grå! gul R, G B blå hvit! rød 1/4-03 IN229/ V03 / Dag 8

8 Blå-til-gul-skalaen, HSV
grå! gul V H S blå hvit! gul 1/4-03 IN229/ V03 / Dag 8

9 Fargelegging Et punkt P i objektrommet kan assosieres med:
En skalarverdi S fra et underliggende datasett. En farge F(S). Et grafisk primitiv som inneholder P vil kunne fargelegges med F(S) i P. F(S3) F(S1) F(S2) 1/4-03 IN229/ V03 / Dag 8

10 Tilfelle 1 Skalarverdien i det ene hjørnet brukes til fargelegging av alle hjørner (jmf. flat sjattering!) 1/4-03 IN229/ V03 / Dag 8

11 1/4-03 IN229/ V03 / Dag 8

12 Tilfelle 2 Fargevariasjon internt i det grafiske primitivet (jmf. Gouraud sjattering!) 1/4-03 IN229/ V03 / Dag 8

13 1/4-03 IN229/ V03 / Dag 8

14 1/4-03 IN229/ V03 / Dag 8

15 Forskyvning av geometri som funksjon av skalarverdi
Skalar = m.o.h. Forskyvningsretning = (0, 0, 1) 1/4-03 IN229/ V03 / Dag 8

16 Konturering 1: Isokurver
Datasettet er en flate (topologisk 2D, trenger ikke ligge i et plan!). Isokurver er kurver som passerer gjennom punkter med (tilnærmet) lik skalarverdi. Eksempler: isobarer og isotermer på værkart høydekurver på orienteringskart kystkonturer på en globus 1/4-03 IN229/ V03 / Dag 8

17 De eksakte skjæringspunktene beregnes ved interpolasjon.
En konturerings-algoritme må essensielt trekke linjestykker mellom sidekantene på cellene i gitteret. Hver skalarverdi er enten over eller under terskelverdien (isoverdien) for konturen. De eksakte skjæringspunktene beregnes ved interpolasjon. 6 5 3 7 8 2 4 1 Her er terskelverdien 5: 1/4-03 IN229/ V03 / Dag 8

18 Algoritme 1 Følg hver enkelt konturkurve fra celle til celle inntil den 1) havner utenfor gitteret, eller 2) biter seg selv i halen. Ta vare på linjestykkene underveis. Utfordringer: Hvordan finne passelige startpunkter for de ulike kurvene? Hvordan holde de ulike kurvene fra hverandre? 1/4-03 IN229/ V03 / Dag 8

19 Algoritme 2: Marching Squares
Identifiser de topologisk ulike måtene kurver kan passere gjennom en (firkant-) celle på: = på den ene siden av terskelverdien (over eller under) = på den andre siden av terskelverdien (under eller over) "Marsjer" systematisk gjennom alle cellene. Bruk den topologiske klassifikasjonen til å regne ut hvilke linjestykker hver enkelt celle bidrar med. 1/4-03 IN229/ V03 / Dag 8

20 Trekanter vs. firkanter
4 3 2 1 4 3 2 1 4 3 2 1 terskelverdi = 2.5 1/4-03 IN229/ V03 / Dag 8

21 Fargelegging vs. isokurver (på flater)
Fargelegging gir en "røff" visualisering av fordelingen av hele skalarfeltet. Isokurver gir en presis visualisering av et endelig antall skalarverdier. De to metodene kan med fordel kombineres! For volumetriske (3D) datasett korresponderer fargelegging med direkte volumavbilding (senere!) isokurver med isoflater (neste side!) 1/4-03 IN229/ V03 / Dag 8

22 Konturering 2: Isoflater
Datasettet er et volum (topologisk 3D). Isoflater er flater som passerer gjennom punkter med (tilnærmet) lik skalarverdi. Eksempel: isoflater 1/4-03 IN229/ V03 / Dag 8

23 Algoritme 1: Marching Cubes
3D generalisering av Marching Squares. Avgjør hvilke trekanter som skjærer hver (kubiske) celle. 1/4-03 IN229/ V03 / Dag 8

24 Kontur-tvetydighet på flater
Likeverdige! 1/4-03 IN229/ V03 / Dag 8

25 Kontur-tvetydighet i volum
Kan gi hull i isoflaten! Kan løses med litt omtanke! 1/4-03 IN229/ V03 / Dag 8

26 Snittflater Datasettet er et volum (topologisk 3D).
Skalarverdiene på en snittflate hentes fra volumet og visualiseres som farger og/eller isokurver. Eksempel: "snittflater" med konstant skalarverdi! snittflater med varierende skalarverdi 1/4-03 IN229/ V03 / Dag 8

27 Del 6 Visualisering av vektorfelt

28 Forskyvning av geometri som funksjon av vektorverdi
Vektor = (0, 0, m.o.h.) 1/4-03 IN229/ V03 / Dag 8

29 Piler ("hedgehog") Vektorene vises eksplisitt som piler etc.
Fordel: Eksakt gjengivelse av vektorene i underliggende datasett. Ulemper: Ser ikke alle vektorer like bra hvis forskjellen mellom min. og maks. lengde er stor. Ofte uegnet i 3D (virvar!). 1/4-03 IN229/ V03 / Dag 8

30 Trajektorier Vektorfeltet visualiseres implisitt i form av kurver som tenkte, masseløse partikler vil flyte (sveve) langs. Fordel: Gir en god kvalitativ forståelse. Færre grafiske primitiver. Ulempe: Kan lure oss (hvis vi ikke er forsiktige!) 1/4-03 IN229/ V03 / Dag 8

31 Strømning i blodårer 1/4-03 IN229/ V03 / Dag 8

32 1/4-03 IN229/ V03 / Dag 8

33 Flyt av væske i rør med virvel i starten (men hvor er virvelen?!)
1/4-03 IN229/ V03 / Dag 8

34 1/4-03 IN229/ V03 / Dag 8

35 1/4-03 IN229/ V03 / Dag 8

36 En trajektorie beregnes som en sekvens av punkter:
Visualisering 1: Trekk linjestykker mellom nabopunkter. Visualisering 2: Flytt et lite objekt ("partikkel") gradvis fra punkt til punkt ( animasjon!). Spørsmål: Hvordan kan vi visualisere endring i partikkelhastighet med den første metoden? 1/4-03 IN229/ V03 / Dag 8

37 Hvordan beregne neste punkt i sekvensen?
Pi dt Pi+1 = ? dt = Pi Pi+1 dy dx V = vektoren i Pi (beregnes om nødvendig ved interpolasjon!) Da har vi: dx = Vdt (Egentlig: dx = Vx dt, dy = Vy dt) Observasjon: Desto mindre dt er desto mindre feil risikerer vi! OK! Ikke OK! 1/4-03 IN229/ V03 / Dag 8

38  Observasjon Posisjonen ved tid t kan skrives som et integral
(sum av "uendelig små" vektorer): x(t) = Vdt t Kan løses numerisk (sum av et endelig antall vektorer): W2 t W1 t i Wi t xi+1 = x Wj t x1 j = 1 xi+1 = mer eller mindre god tilnærming til vektoren vi burde flytte oss langs i posisjon 'i' ! Wit 1/4-03 IN229/ V03 / Dag 8

39 Generell formel: Metode 1, Euler: Metode 2, Runge-Kutta: Vi+1
x0 = vilkårlig startpunkt xi+1 = xi Wi t , i  0 Vi+1 xi+1 Metode 1, Euler: Wi t = Vi t Vi xi t = 1 Eu Eu Vi+1 xi+1 Metode 2, Runge-Kutta: Eu Wi t = ½(Vi + Vi+1 ) t Vi xi+1 xi Bedre tilnærming! t = 1 1/4-03 IN229/ V03 / Dag 8


Laste ned ppt "Del 5 Visualisering av skalarfelt"

Liknende presentasjoner


Annonser fra Google