Upload
ferrand-piquet
View
105
Download
1
Embed Size (px)
Citation preview
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