IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

18
IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal

Transcript of IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Page 1: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

IFT3355: Infographie Visualisation

© Victor Ostromoukhov

Dép. I.R.O.

Université de Montréal

Page 2: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Données

• Certaines données ont une composante géométrique– données géographiques, chaleur d’une pièce, etc.

• Certaines données n’ont pas de telle composante géométrique, et il faut lui créer une forme spatiale– Info Viz– stock market, données logicielles, etc.

• Certaines données sont multidimensionnelles

Page 3: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.
Page 4: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.
Page 5: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Données scalaires 2D

• Iso-contours• Densité de points• Niveaux de gris et de couleur• Carte d’élévation (height field)

Page 6: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Données scalaires 3D

• Iso-surfaces– polygonisation (marching cubes)– tracer de rayon

• Densité de particules• Rendu volumique

Iso-surfaces

Page 7: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Iso-surfaces: Marching Cubes

• Marque les sommets selon au-dessus (+) et au-dessous (-) de la densité cible

• Interpole linéairement sur chaque segment (+,-) la position de la densité cible

• Relie les sommets par des triangles

+

+

+ +

-

--

+

Page 8: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Iso-surfaces: Marching Cubes

• Polygonisation: configurations possible mais par symétrie, 15 configurations nécessaires

• Fréquemment utilisé aussi pour extraire une surface d’une surface implicite

• Ambiguités…

82

+

+

-

-

-+

+-

Page 9: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Iso-surfaces: Tracer de rayon

• Intersecte le rayon avec l’interpolation trilinéaire de la densité (racines d’un polynôme cubique)

• Dérivations mathématiques dans [Shirley]• Doit s’assurer que l’intersection trouvée est la plus

proche de l’origine du rayon, dans la bonne direction, et qu’elle est dans le voxel

iso010010010 )(),(),( zztzyytyxxtx

Page 10: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Iso-surfaces: Tracer de rayon

• Normale au point d’intersection pour shading

+ Il n’y a plus de cas ambigus

zyxN

,,

Page 11: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Rendu volumique

• La position de la surface dans un volume n’est pas toujours une décision binaire

• On parle alors d’une densité de particules dans un volume

• Une façon d’interpréter cette densité est en fonction d’une distribution de micro-sphères opaques (et parfois réfléchissantes)

Page 12: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Rendu volumique

Flot autour d’une aile d’avionOndes de choc: simulation Navier-Stokes

Bris de structure Atlas anatomique: CT et MRI

Page 13: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Rendu volumique: Tracer de rayon

Algorithme de tracer de rayon (derrière b à devant a)color = color_background;t = (b - a) / n;p = b;for (i = 1 to n)

p - = t;color += (1 - density(p)) color + density(p) color(p);

Page 14: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Rendu volumique: Tracer de rayon

Algorithme de tracer de rayon (devant à derrière)opacity = color = 0;while (in volume)

opacity = Sample (opacity);if (opacity > 0)

color = Sample (color);color_acc += color (1 - opacity_acc);opacity_acc += opacity (1 - opacity_acc);

position += t;

Page 15: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Splatting

• La projection de chaque voxel (footprint) est considérée comme une tache filtrée

• Composition de derrière à devant

Page 16: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Projection parallèle

planimage

rayons de vue

coupes duvolume

shear

projection

warp

Page 17: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Projection perspective

planimage

rayons de vue

coupes duvolume projection

shear et scale

warp

Page 18: IFT3355: Infographie Visualisation © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.

Projection vs. Tracer de rayon

mémoire

antialiassage

parallélisme

efficacité

Tracer de rayon

tout le volumeun pixel

supersampling

pixel

plus opaque

Projection

un voxeltoute l’image

analytique

lignes de voxels