Visualization Computer Graphics I Lecture 20

Similar documents
Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Data Visualization (DSC 530/CIS )

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Data Visualization (DSC 530/CIS )

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Volume Illumination & Vector Field Visualisation

CIS 467/602-01: Data Visualization

Scientific Visualization. CSC 7443: Scientific Information Visualization

Data Visualization (CIS/DSC 468)

Geometric Representations. Stelian Coros

Curves and Surfaces Computer Graphics I Lecture 10

Volume Visualization. Part 1 (out of 3) Volume Data. Where do the data come from? 3D Data Space How are volume data organized?

Scalar Algorithms: Contouring

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

Volume Visualization

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Volume Rendering. Lecture 21

Data Representation in Visualisation

Scalar Data. CMPT 467/767 Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Volume Illumination, Contouring

Data Visualization (CIS/DSC 468)

Lecture overview. Visualisatie BMT. Transparency. Transparency. Transparency. Transparency. Transparency Volume rendering Assignment

Scalar Visualization

Indirect Volume Rendering

Previously... contour or image rendering in 2D

Scalar Data. Alark Joshi

5. Volume Visualization

Volume Illumination and Segmentation

CSC Computer Graphics

CIS 467/602-01: Data Visualization

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Spatial Data Structures

Vector Field Visualisation

Scalar Field Visualization I

Scalar Visualization

Lecture overview. Visualisatie BMT. Vector algorithms. Vector algorithms. Time animation. Time animation

Polygon Meshes and Implicit Surfaces

2.11 Particle Systems

Polygon Meshes and Implicit Surfaces

CHAPTER 1 Graphics Systems and Models 3

Spatial Data Structures

Clipping. CSC 7443: Scientific Information Visualization

Lecture overview. Visualisatie BMT. Goal. Summary (1) Summary (3) Summary (2) Goal Summary Study material

Curves and Surfaces Computer Graphics I Lecture 9

Direct Volume Rendering

Spatial Data Structures

Computer Graphics I Lecture 11

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

Scalar Field Visualization I

Level of Details in Computer Rendering

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Physical Modeling and Surface Detection. CS116B Chris Pollett Mar. 14, 2005.

Computer Graphics Ray Casting. Matthias Teschner

lecture 21 volume rendering - blending N layers - OpenGL fog (not on final exam) - transfer functions - rendering level surfaces

Lecture notes: Object modeling

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

CS 5630/6630 Scientific Visualization. Volume Rendering I: Overview

A Survey of Volumetric Visualization Techniques for Medical Images

Introduction to Geometry. Computer Graphics CMU /15-662

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

8. Tensor Field Visualization

Who has worked on a voxel engine before? Who wants to? My goal is to give the talk I wish I would have had before I started on our procedural engine.

CS452/552; EE465/505. Clipping & Scan Conversion

Implicit Surfaces & Solid Representations COS 426

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

GPU-based Volume Rendering. Michal Červeňanský

Special Topics in Visualization

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Particle-Based Volume Rendering of Unstructured Volume Data

Marching Cubes Robert Hunt CS 525. Introduction

Surface Rendering. Surface Rendering

DirectX10 Effects. Sarah Tariq

Interactive Implicit Modeling with Hierarchical Spatial Caching

Review of Tuesday. ECS 175 Chapter 3: Object Representation

3D Modeling: Surfaces

Course Review. Computer Animation and Visualisation. Taku Komura

8 Special Models for Animation. Chapter 8. Special Models for Animation. Department of Computer Science and Engineering 8-1

Orthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Parallel Visualization in the ASCI Program

Introduction to volume rendering. Paul Bourke

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Polygonization of Implicit Surfaces

Overview of 3D Object Representations

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DirectX10 Effects and Performance. Bryan Dudash

ACGV 2008, Lecture 1 Tuesday January 22, 2008

4. Basic Mapping Techniques

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Vector Visualization

Data analysis with ParaView CSMP Workshop 2009 Gillian Gruen

Rendering Smoke & Clouds

Contours & Implicit Modelling 4

Transcription:

15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

Scientific Visualization Generally do not start with a 3D model Must deal with very large data sets MRI, e.g. 512 512 200 50MB points Visible Human 512 512 1734 433 MB points Visualize both real-world and simulation data User interaction Automatic search 04/15/2003 15-462 Graphics I 2

Types of Data Scalar fields (3D volume of scalars) E.g., x-ray densities (MRI, CT scan) Vector fields (3D volume of vectors) E.g., velocities in a wind tunnel Tensor fields (3D volume of tensors [matrices]) E.g., stresses in a mechanical part [Angel 12.7] Static or through time 04/15/2003 15-462 Graphics I 3 NCAR SCD

Example: Turbulent convection Penetrative turbulent convection in a compressible ideal gas (PTCC) http://www.vets.ucar.edu/vg/ptcc/index.shtml plot of enstrophy (vorticity squared) 04/15/2003 15-462 Graphics I 4

Example: Turbulent convection 04/15/2003 15-462 Graphics I 5

Example: Turbulent convection How do we visualize volume data like this? 04/15/2003 15-462 Graphics I 6

Height Field Visualizing an explicit function z = f(x,y) Adding contour curves g(x,y) = c 04/15/2003 15-462 Graphics I 7

Meshes Function is sampled (given) at x i, y i, 0 i, j n Assume equally spaced Generate quadrilateral or triangular mesh [Asst 1] 04/15/2003 15-462 Graphics I 8

Contour Curves Recall: implicit curve f(x,y) = 0 f(x,y) < 0 inside, f(x,y) > 0 outside Here: contour curve at f(x,y) = c Sample at regular intervals for x,y How can we draw the curve? 04/15/2003 15-462 Graphics I 9

Marching Squares Sample function f at every grid point x i, y j For every point f i j = f(x i, y j ) either f i j c or f i j > c Distinguish those cases for each corner x White: f i j c Black: f i j > c Now consider cases for curve Assume smooth Ignore f i j = 0 04/15/2003 15-462 Graphics I 10

Interpolating Intersections Approximate intersection Midpoint between x i, x i+1 and y j, y j+1 Better: interpolate If f i j = a is closer to c than b = f i+1 j then intersection is closer to (x i, y j ): Analogous calculation for y direction x i x i+1 x f i j = a < c c < b = f i+1 j 04/15/2003 15-462 Graphics I 11

Cases for Vertex Labels 16 cases for vertex labels 4 unique mod. symmetries 04/15/2003 15-462 Graphics I 12

Ambiguities of Labelings Ambiguous labels Different resulting contours Resolution by subdivision (where possible) 04/15/2003 15-462 Graphics I 13

Marching Squares Examples Ovals of Cassini, 50 50 grid Midpoint Interpolation Contour plot of Honolulu data 04/15/2003 15-462 Graphics I 14

Outline Height Fields and Contours Scalar Fields Volume Rendering Vector Fields 04/15/2003 15-462 Graphics I 15

Scalar Fields Volumetric data sets Example: tissue density Assume again regularly sampled Represent as voxels 04/15/2003 15-462 Graphics I 16

Isosurfaces f(x,y,z) represents volumetric data set Two rendering methods Isosurface rendering Direct volume rendering (use all values [next]) Isosurface given by f(x,y,z) = c Recall implicit surface g(x, y, z): g(x, y, z) < 0 inside g(x, y, z) = 0 surface g(x, y, z) > 0 outside Generalize right-hand side from 0 to c 04/15/2003 15-462 Graphics I 17

Marching Cubes Display technique for isosurfaces 3D version of marching squares 14 cube labelings (after elimination symmetries) 04/15/2003 15-462 Graphics I 18

Marching Cube Tessellations Generalize marching squares, just more cases Interpolate as in 2D Ambiguities similar to 2D 04/15/2003 15-462 Graphics I 19

Marching Cubes Demo 04/15/2003 15-462 Graphics I 20

Volume Rendering Sometimes isosurfaces are unnatural Use all voxels and transparency (α-values) Ray-traced isosurface Volume rendering 04/15/2003 15-462 Graphics I 21

Surface vs. Volume Rendering 3D model of surfaces Convert to triangles Draw primitives Lose or disguise data Good for opaque objects Scalar field in 3D Convert to RGBA values Render volume directly See data as given Good for complex objects 04/15/2003 15-462 Graphics I 22

Sample Applications Medical Computed Tomography (CT) Magnetic Resonance Imaging (MRI) Ultrasound Engineering and Science Computational Fluid Dynamic (CFD) Aerodynamic simulations Meteorology Astrophysics 04/15/2003 15-462 Graphics I 23

Volume Rendering Pipeline Transfer function: from data set to colors and opacities Example: 256 256 64 2 = 4 MB Example: use colormap (8 bit color, 8 bit opacity) Data sets Transfer function Sample Volume Rendering Image 04/15/2003 15-462 Graphics I 24

Transfer Functions Transform scalar data values to RGBA values Apply to every voxel in volume Highly application dependent Start from data histogram Opacity for emphasis 04/15/2003 15-462 Graphics I 25

Transfer Function Example Mantle Convection Scientific Computing and Imaging (SCI) University of Utah 04/15/2003 15-462 Graphics I 26

Volume Ray Casting Three volume rendering techniques Volume ray casting Splatting 3D texture mapping Ray Casting Integrate color and opacity along ray Consider lighting (surfaces?) Use regular x,y,z data grid when possible Finite elements when necessary (e.g., ultrasound) 3D-rasterize geometrical primitives 04/15/2003 15-462 Graphics I 27

Accumulating Opacity α = 1.0 is opaque Composity multiple layers according to opacity Use local gradient of opacity to detect surfaces for lighting 04/15/2003 15-462 Graphics I 28

Real-Time Ray Tracer (Utah) Implemented on SGI Origin 3000 ccnuma architecture - up to 256 processors (now working on a distrbuted version) Approximately linear speedup Load balancing and memory coherence are key to performance 04/15/2003 15-462 Graphics I 29

Trilinear Interpolation Interpolate to compute RGBA away from grid Nearest neighbor yields blocky images Use trilinear interpolation 3D generalization of bilinear interpolation Nearest neighbor Trilinear interpolation 04/15/2003 15-462 Graphics I 30

Wonderfully simple Splatting Working back-to-front (or front-to-back), draw a splat for each chunk of data Easy to implement, but not as accurate as ray casting Works reasonably for non-uniform data closeup of a splat 04/15/2003 15-462 Graphics I 31

Splatting Alternative to ray tracing Assign shape to each voxel (e.g., Gaussian) Project onto image plane (splat) Draw voxelsback-to-front Composite (α-blend) 04/15/2003 15-462 Graphics I 32

3D Textures Alternative to ray tracing, splatting Build a 3D texture (including opacity) Draw a stack of polygons, back-to-front Efficient if supported in graphics hardware Few polygons, much texture memory 3D RGBA texture Viewpoint Draw back to front 04/15/2003 15-462 Graphics I 33

Example: 3D Textures Emil Praun 01 04/15/2003 15-462 Graphics I 34

Example: 3D Textures Emil Praun 01 04/15/2003 15-462 Graphics I 35

Other Techniques CSG is Easy The transfer function can be used to mask a volume or merge volumes You are still confined to the grid, of course not head and or 04/15/2003 15-462 Graphics I 36

Another CSG example (VolVis again) 04/15/2003 15-462 Graphics I 37

Teaser: Explosion Rendering Smoke Simulation For Large Scale Phenomena, Nguyen et al., SIGGRAPH 2003. 04/15/2003 15-462 Graphics I 38

Acceleration of Volume Rendering Basic problem: Huge data sets Program for locality (cache) Divide into multiple blocks if necessary Example: marching cubes Use error measures to stop iteration Exploit parallelism 04/15/2003 15-462 Graphics I 39

Outline Height Fields and Contours Scalar Fields Volume Rendering Vector Fields 04/15/2003 15-462 Graphics I 40

Vector Fields Visualize vector at each (x,y,z) point Example: velocity field Example: hair Hedgehogs Use 3D directed line segments (sample field) Orientation and magnitude determined by vector Animation Use for still image Particle systems Blood flow in human carotid artery 04/15/2003 15-462 Graphics I 41

Using Glyphs and Streaks Glyphs for air flow University of Utah 04/15/2003 15-462 Graphics I 42

More Flow Examples Banks and Interrante 04/15/2003 15-462 Graphics I 43

Example: Jet Shockwave P. Sutton University of Utah http://www.sci.utah.edu/ 04/15/2003 15-462 Graphics I 44

Interaction: Data Probe SCI, Utah 04/15/2003 15-462 Graphics I 45

Jet shockwave!"#$ %&'%()*% + #,), * %($ SCI, Utah 04/15/2003 15-462 Graphics I 46

Summary Height Fields and Contours Scalar Fields Isosurfaces Marching cubes Volume Rendering Volume ray tracing Splatting 3D Textures Vector Fields Hedgehogs Animated and interactive visualization 04/15/2003 15-462 Graphics I 47

Top Visualization Research Issues Error and Uncertainty Visual Representation Perceptual Issues Quantify Effectiveness Time Dependent Visualization Pipeline Complexity Think About the Science Interesting Feature Detection Leverage both Hardware and Software Methods Multi-field Visualization From Chris Johnson, Utah 04/15/2003 15-462 Graphics I 48