IFT 3355 Infographie Visualisation Victor Ostromoukhov Dp I


















- Slides: 18
IFT 3355: 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 2 D • • Iso-contours Densité de points Niveaux de gris et de couleur Carte d’élévation (height field)
Données scalaires 3 D • 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 audessous (-) 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… - +
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
Iso-surfaces: Tracer de rayon • Normale au point d’intersection pour shading + Il n’y a plus de cas ambigus
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 Bris de structure Flot autour d’une aile d’avion Atlas anatomique: CT et MRI Ondes de choc: simulation Navier-Stokes
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 shear rayons de vue coupes du volume projection warp plan image
Projection perspective shear et scale rayons de vue coupes du volume projection warp plan image
Projection vs. Tracer de rayon Projection mémoire tout le volume un pixel un voxel toute l’image antialiassage supersampling analytique parallélisme pixel lignes de voxels efficacité plus opaque