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

Post on 04-Apr-2015

104 views 1 download

Transcript of 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

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

Données scalaires 2D

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

Données scalaires 3D

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

• Densité de particules• Rendu volumique

Iso-surfaces

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

+

+

+ +

-

--

+

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

+

+

-

-

-+

+-

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

Iso-surfaces: Tracer de rayon

• Normale au point d’intersection pour shading

+ Il n’y a plus de cas ambigus

zyxN

,,

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)

Rendu volumique

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

Bris de structure Atlas anatomique: CT et MRI

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);

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;

Splatting

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

• Composition de derrière à devant

Projection parallèle

planimage

rayons de vue

coupes duvolume

shear

projection

warp

Projection perspective

planimage

rayons de vue

coupes duvolume projection

shear et scale

warp

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