University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Virtual Trackball, Scientific.

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

Lecture 8 Transparency, Mirroring
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
3D Graphics Rendering and Terrain Modeling
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Direct Volume Rendering (DVR): Ray-casting
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Final Review Week 13,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Visualization Week 11,
University of British Columbia CPSC 314 Computer Graphics May-June 2005 Tamara Munzner Scientific Visualization,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Curves Week 12, Wed Apr.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Vision/Color II, Virtual.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
1 Scientific Visualization Melanie Tory Acknowledgments: Torsten Möller (Simon Fraser University) Raghu Machiraju (Ohio State University) Klaus Mueller.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Introduction to Volume Rendering Presented by Zvi Devir.
(conventional Cartesian reference system)
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Displays, Devices II Week 12, Wed 19 Nov 2003.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munzner Spatial/Scientific Visualization.
Modelling: Curves Week 11, Wed Mar 23
Volume Visualization Acknowledgements: Torsten Möller (SFU)
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Computer Graphics Lecture 13 Curves and Surfaces I.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
1 Perception and VR MONT 104S, Spring 2008 Lecture 22 Other Graphics Considerations Review.
COMP 175: Computer Graphics March 24, 2015
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Direct Volume Rendering
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
2/24/2016 A.Aruna/Assistant professor/IT/SNSCE 1.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Introduction to Parametric Curve and Surface Modeling.
CS 445 / 645 Introduction to Computer Graphics
Volume Visualization Chap. 10 November 20 , 2008 Jie Zhang Copyright ©
3D Graphics Rendering PPT By Ricardo Veguilla.
CSc4730/6730 Scientific Visualization
Scientific Visualization, Information Visualization I/II Week 5, Thu Jun 9
Volume Rendering Lecture 21.
Real-Time Volume Graphics [06] Local Volume Illumination
© University of Wisconsin, CS559 Spring 2004
Volume Rendering (2).
Volume Rendering Lecture 21.
Volume Rendering.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Virtual Trackball, Scientific Visualization Week 12, Wed Mar 30

2 News reminder: my office hours today 3:45 proposals: out to several of you midterm 2 solutions out

3 Review: Splines spline is parametric curve defined by control points knots: control points that lie on curve engineering drawing: spline was flexible wood, control points were physical weights A Duck (weight) Ducks trace out curve

4 Review: Hermite Spline user provides endpoints derivatives at endpoints

5 Review: Bézier Curves four control points, two of which are knots more intuitive definition than derivatives curve will always remain within convex hull (bounding region) defined by control points

6 Review: Basis Functions point on curve obtained by multiplying each control point by some basis function and summing

7 Review: Comparing Hermite and Bézier Bézier Hermite

8 Review: Sub-Dividing Bézier Curves find the midpoint of the line joining M 012, M 123. call it M 0123 P0P0 P1P1 P2P2 P3P3 M 01 M 12 M 23 M 012 M 123 M 0123

9 Review: de Casteljau’s Algorithm can find the point on Bézier curve for any parameter value t with similar algorithm for t=0.25, instead of taking midpoints take points 0.25 of the way P0P0 P1P1 P2P2 P3P3 M 01 M 12 M 23 t=0.25 demo:

10 Review: Continuity continuity definitions C 0 : share join point C 1 : share continuous derivatives C 2 : share continuous second derivatives piecewise Bézier: no continuity guarantees

11 Review: B-Spline C 0, C 1, and C 2 continuous piecewise: locality of control point influence

12 Virtual Trackball

13 Virtual Trackball interface for spinning objects around drag mouse to control rotation of view volume rolling glass trackball center at screen origin, surrounds world hemisphere “sticks up” in z, out of screen rotate ball = spin world

14 Virtual Trackball know screen click: (x, 0, z) want to infer point on trackball: (x,y,z) ball is unit sphere, so ||x, y, z|| = 1.0 solve for y eye image plane

15 Trackball Rotation correspondence: moving point on plane from (x, 0, z) to (a, 0, c) moving point on ball from p 1 =(x, y, z) to p 2 =(a, b, c) correspondence: translating mouse from p 1 (mouse down) to p 2 (mouse up) rotating about the axis n = p 1 x p 2

16 Trackball Computation user defines two points place where first clicked p 1 = (x, y, z) place where released p 2 = (a, b, c) create plane from vectors between points, origin axis of rotation is plane normal: cross product ( p o ) x ( p o ): p 1 x p 2 if origin = (0,0,0) amount of rotation depends on angle between lines p 1 p 2 = |p 1 | |p 2 | cos θ |p 1 x p 2 | = |p 1 | |p 2 | sin θ compute rotation matrix, use to rotate world

17 Scientific Visualization

18 Reading FCG Chapter 23

19 Surface Graphics objects explicitly defined by surface or boundary representation mesh of polygons 200 polys 1000 polys polys

20 Volume Graphics

21 Surface Graphics pros fast rendering algorithms available hardware acceleration cheap OpenGL API for programming use texture mapping for added realism cons discards interior of object, maintaining only the shell operations such cutting, slicing & dissection not possible no artificial viewing modes such as semi- transparencies, X-ray surface-less phenomena such as clouds, fog & gas are hard to model and represent

22 Volume Graphics for some data, difficult to create polygonal mesh voxels: discrete representation of 3D object volume rendering: create 2D image from 3D object translate raw densities into colors and transparencies different aspects of the dataset can be emphasized via changes in transfer functions

23 Volume Graphics pros formidable technique for data exploration cons rendering algorithm has high complexity! special purpose hardware costly (~$3K-$10K) volumetric human head (CT scan)

24 Isosurfaces 2D scalar fields: isolines contour plots, level sets topographic maps 3D scalar fields: isosurfaces

25 Volume Graphics: Examples anatomical atlas from visible human (CT & MRI) datasets industrial CT - structural failure, security applications flow around airplane wing shockwave visualization: simulation with Navier-Stokes PDEs

26 Isosurface Extraction array of discrete point samples at grid points 3D array: voxels find contours closed, continuous determined by iso-value several methods marching cubes is most common Iso-value = 5

27 MC 1: Create a Cube consider a cube defined by eight data values (i,j,k)(i+1,j,k) (i,j+1,k) (i,j,k+1) (i,j+1,k+1)(i+1,j+1,k+1) (i+1,j+1,k) (i+1,j,k+1)

28 MC 2: Classify Each Voxel classify each voxel according to whether lies outside the surface (value > iso-surface value) inside the surface (value <= iso-surface value) 8 Iso= Iso=9 =inside =outside

29 MC 3: Build An Index binary labeling of each voxel to create index v1v2 v6 v3 v4 v7 v8 v5 inside =1 outside= Index: v1v2 v3 v4 v5v6 v7v8

30 MC 4: Lookup Edge List use index to access array storing list of edges all 256 cases can be derived from 15 base cases

31 MC 4: Example index = triangle 1 = a, b, c a b c

32 MC 5: Interpolate Triangle Vertex for each triangle edge find vertex location along edge using linear interpolation of voxel values =10 =0 T=8 T=5 i i+1 x

33 MC 6: Compute Normals calculate the normal at each cube vertex use linear interpolation to compute the polygon vertex normal

34 MC 7: Render!

35 Direct Volume Rendering do not compute surface

36 Rendering Pipeline Classify

37 Classification data set has application-specific values temperature, velocity, proton density, etc. assign these to color/opacity values to make sense of data achieved through transfer functions

38 Transfer Functions map data value to color and opacity

39 Transfer Functions Human Tooth CT (f)(f) RGB(f)RGB(f) f RGBRGB shading, compositing…  Gordon Kindlmann

40 Setting Transfer Functions can be difficult, unintuitive, and slow f  f  f  f  Gordon Kindlmann

41 Rendering Pipeline Classify Shade

42 Light Effects usually only consider reflected part Light absorbed transmitted reflected Light=refl.+absorbed+trans. Light ambient specular diffuse Light=ambient+diffuse+specular

43 Rendering Pipeline Classify Shade Interpolate

44 Interpolation given: needed: 2D 1D given: needed: nearest neighbor linear

45 Rendering Pipeline Classify Shade Interpolate Composite

46 Volume Rendering Algorithms ray casting image order, forward viewing splatting object order, backward viewing texture mapping object order back-to-front compositing

47 Ray Traversal Schemes Depth Intensity Max Average Accumulate First

48 Ray Traversal - First first: extracts iso-surfaces (again!) Depth Intensity First

49 Ray Traversal - Average average: looks like X-ray Depth Intensity Average

50 Ray Traversal - MIP max: Maximum Intensity Projection used for Magnetic Resonance Angiogram Depth Intensity Max

51 Ray Traversal - Accumulate accumulate: make transparent layers visible Depth Intensity Accumulate

52 Splatting each voxel represented as fuzzy ball 3D gaussian function RGBa value depends on transfer function fuzzy balls projected on screen, leaving footprint called splat composite front to back, in object order

53 Texture Mapping 2D: axis aligned 2D textures back to front compositing commodity hardware support must calculate texture coordinates, warp to image plane 3D: image aligned 3D texture simple to generate texture coordinates