Visualization Computer Graphics I Lecture 20

Similar documents
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 Computer Graphics I Lecture 20

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

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

Data Visualization (DSC 530/CIS )

Scientific Visualization. CSC 7443: Scientific Information Visualization

Data Visualization (DSC 530/CIS )

Volume Illumination & Vector Field Visualisation

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

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

Data Visualization (CIS/DSC 468)

CIS 467/602-01: Data Visualization

Volume Visualization

Geometric Representations. Stelian Coros

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

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Data Visualization (CIS/DSC 468)

Volume Rendering. Lecture 21

Curves and Surfaces Computer Graphics I Lecture 9

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

Scalar Algorithms: Contouring

Computer Graphics I Lecture 11

5. Volume Visualization

Previously... contour or image rendering in 2D

Data Representation in Visualisation

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

Curves and Surfaces Computer Graphics I Lecture 10

Volume Illumination, Contouring

CIS 467/602-01: Data Visualization

Spatial Data Structures

Indirect Volume Rendering

Level of Details in Computer Rendering

Clipping and Scan Conversion

Spatial Data Structures

Volume Illumination and Segmentation

Scalar Field Visualization I

CSC Computer Graphics

Scalar Visualization

Clipping. CSC 7443: Scientific Information Visualization

Scalar Data. Alark Joshi

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

Scalar Field Visualization I

Introduction to Geometry. Computer Graphics CMU /15-662

Direct Volume Rendering

Lecture notes: Object modeling

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ]

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

A Survey of Volumetric Visualization Techniques for Medical Images

CHAPTER 1 Graphics Systems and Models 3

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

2.11 Particle Systems

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Scalar Visualization

Computer Graphics Ray Casting. Matthias Teschner

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

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

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

ACGV 2008, Lecture 1 Tuesday January 22, 2008

Marching Cubes Robert Hunt CS 525. Introduction

Vector Field Visualisation

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

8. Tensor Field Visualization

Implicit Surfaces & Solid Representations COS 426

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

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

Particle-Based Volume Rendering of Unstructured Volume Data

Review Computer Graphics I Lecture 23

Physically-Based Modeling and Animation. University of Missouri at Columbia

Medical Visualization - Illustrative Visualization 2 (Summary) J.-Prof. Dr. Kai Lawonn

DirectX10 Effects. Sarah Tariq

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

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

Spatial Data Structures

Contours & Implicit Modelling 4

Surface Rendering. Surface Rendering

Contours & Implicit Modelling 1

Course Review. Computer Animation and Visualisation. Taku Komura

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Applications of Explicit Early-Z Culling

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

Review of Tuesday. ECS 175 Chapter 3: Object Representation

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

Fundamental Algorithms

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

3D Modeling: Surfaces

Geometric Queries for Ray Tracing

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

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

3D Modeling techniques

DirectX10 Effects and Performance. Bryan Dudash

Polygonization of Implicit Surfaces

4. Basic Mapping Techniques

MODELING AND HIERARCHY

Transcription:

15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

Scientific Visualization Generally do not start with a 3D model Must deal with very large data sets MRI, e.g. 512 512 200 u 50MB points Visible Human 512 512 1734 u 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

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

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 5

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 6

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 7

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 8

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

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

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

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

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

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 14

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

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

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

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 18

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 19

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 20

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 21

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

Transfer Function Example G. Kindlmann 04/15/2003 15-462 Graphics I 23

Volume Ray Casting Three volume rendering techniques Volume ray casting Splatting 3D texture mapping Ray Casting Integrate color through volume 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 24

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 25

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 26

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 27

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 28

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

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

Other Techniques Use CSG for cut-away 04/15/2003 15-462 Graphics I 31

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 32

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

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 34

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

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

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

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 38

Preview Thursday Non-photo-realistic rendering (NPR) 4:00-5:00 Distinguished Lecture Ed Catmull, Pixar, WeH 7500 Assignment 7 (Ray Tracing) due Thu 4/24 Assignment 8 (written) out Thu (early!) Note: no late hand-in on assignment 8! 04/15/2003 15-462 Graphics I 39