29
1 Visualizzazione scientifica Daniele Marini

1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

Embed Size (px)

Citation preview

Page 1: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

1

Visualizzazione scientifica

Daniele Marini

Page 2: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

2

Visualizzazione scientifica

• Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati da misure– Meteorologia– Fluidodinamica– Analisi statica/dinamica di strutture– Dati medici – ….

Page 3: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

3

Page 4: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

4

Page 5: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

5

Page 6: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

6

Page 7: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

7

strutture dati

Page 8: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

8

Attributi delle celle

Page 9: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

9

Data set strutturati

Page 10: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

10

Height Fields - campi di quota - DEM o DTM

• Forma esplicita z=f(x,y) si rappresenta con linee di livello contour lines, valori di z=cost (isolinee), oppure mesh

• Forma tabellare: array 2d di valori: contour lines o mesh

Page 11: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

11

Mesh• Le mesh si tracciano sia come quadrilateri piani di

colore uniforme (grigio o bianco) sia con il contorno• Problemi di precisione: contorno e quadrilatero sono

coplanari• offset o=m.factor + r.units dove:

– m inclinazione massima del poligono rispetto a z (la calcola OGL)

– r costante che garantisce una differenza sufficiente rispetto alla risoluzione sul piano immagine

– factor e units sono gli argomenti della funzione OGL:

gl_Enable(GL_POLYGON_OFFSET);

glPolygonOffset(1.0, 0.5);

Page 12: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

12

Contour lines• Immaginare l’insieme composto da una

griglia

• Dove la line di contorno interseca i bordi di ogni maglia?

• Metodo dei marching square

Page 13: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

13

Scegliere la configurazione più semplice

Interpolare linearmente i valori lungo i bordidella cella

Page 14: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

14

Casi possibili

Page 15: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

15

Casi ambigui

Page 16: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

16

Page 17: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

17

Page 18: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

18

Voxel - dati scalari 3D regolari

• Voxel

• Classificazione dei voxel

• Rendering:• Ray tracing

• Marching cubes (iso superfici)

Page 19: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

19

Struttura

Page 20: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

20

Campionamento

• Se le celle non sono cubiche occorre ricampionare 3D

• Nel caso medico (TAC, NMR) i dati provengono dalla ricostruzione delle proiezioni (trasformata di Radon)

Page 21: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

21

Classificazione dei voxel

frequency % material

100

50

voxel value

material 1

material 2material 3

• Assegnare a ogni voxel un tipo di materiale

• Partial Volume Effect

Page 22: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

22

Rendering di Voxel

• Ray tracing

• Determinazione di iso superfici: marching cubes– La superficie è campionata con valori discreti– Si approssima con le differenze finite– Si stima la normale– Si applica un modello di illuminazione

Page 23: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

23

Ray tracing

3DDA - rasterizzazione3D

Page 24: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

24

Page 25: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

25

Marching cubes

Cella - voxel

Page 26: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

26

Casi possibili

14 su 256 (28)(sfruttare le simmetrie)

Page 27: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

27

Page 28: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

28

Page 29: 1 Visualizzazione scientifica Daniele Marini. 2 Visualizzazione scientifica Trovare un modo per rendere i risultati di un calcolo scientifico, o rilevati

29

Modello di illuminazione

• Ray tracing: retroproiezione adattiva: densità media dei voxel incontrati dal raggio durante l'attraversamento;

• Iso-superfici – Soglia

– Miscela:Ii+1 = Ci * Ti + Ii

Ti+1 = (1-ai) * Ti

• T trasparenza totale del raggio, T0 = 1;

• I intensità del pixel, I0 =0

• C livello di grigio (nel caso del colore è espresso nelle tre componenti RGB);

• ai opacità dell'i-esimo voxel incontrato.