University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Final Review Week 13,

Slides:



Advertisements
Similar presentations
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Advertisements

Lecture Notes #11 Curves and Surfaces II
Intersection Testing Chapter 13 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
3D Graphics Rendering and Terrain Modeling
1 Computer Graphics Chapter 7 3D Object Modeling.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Visualization Week 11,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Virtual Trackball, Scientific.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner CG in Movies Week 13,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Introduction Week 1, Wed Jan 5.
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 2005 Tamara Munzner Information Visualization.
HCI 530 : Seminar (HCI) Damian Schofield.
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
Introduction to Volume Rendering Presented by Zvi Devir.
1/12/09 1 Introduction Computer Graphics COMP 770 (236) Spring 2009 Instructor: Dinesh Manocha.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munzner Spatial/Scientific Visualization.
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Collision Detection David Johnson Cs6360 – Virtual Reality.
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 Shadows
Computer Graphics Lecture 13 Curves and Surfaces I.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
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.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munzner Spatial/Scientific Visualization.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
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.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
Collision/Acceleration University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Collaborative Visual Computing Lab Department of Computer Science University of Cape Town Graphics Topics in VR By Shaun Nirenstein.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
CS 445/645 Fall 2001 Splines/Film/Animation. Final Exam Thursday, December 13 th from 7 – 10 p.m. –Room Olsson 011 You may use one sheet of notes (8.5.
Binary Space Partitioning Trees Ray Casting Depth Buffering
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
CS 445 / 645 Introduction to Computer Graphics Lecture 24 Final Exam Prep Lecture 24 Final Exam Prep.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
CS 445 / 645: Introductory Computer Graphics Review.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Introduction to Parametric Curve and Surface Modeling.
- Introduction - Graphics Pipeline
Computer Graphics.
CS 445 / 645 Introduction to Computer Graphics
CS679 - Fall Copyright Univ. of Wisconsin
The Graphics Rendering Pipeline
© University of Wisconsin, CS559 Spring 2004
Introduction to Computer Graphics
Introduction to Computer Graphics
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Final Review Week 13, Fri Apr 8

2 Final Logistics 8:30-11:00am Tue Apr 19 in MCML 166 notes: both sides 8.5”x11” handwritten page calculator OK if you want have photo ID face up on desk bags at front/side/back of room

3 Extra Sessions extra lab coverage for project 3 questions Thursday 4/ instead of pre-final Q&A session day before the final: Mon Apr 18, 1-3pm TA Dan Julius in CICSR 011 lab reminder: my office hours Wed 3:45 in lab today 4/6 next week 4/13

4 Reading from OpenGL Red Book 1: Introduction to OpenGL 2: State Management and Drawing Geometric Objects 3: Viewing 4: Display Lists 6: Lighting 9: Texture Mapping 12: Selection and Feedback 13: Now That You Know only section Object Selection Using the Back Buffer Appendix: Basics of GLUT (Aux in v 1.1) Appendix: Homogeneous Coordinates and Transformation Matrices

5 Reading from Shirley: Foundations of CG 2: Misc Math 3: Raster Algs except for 3.8 4: Linear Algebra only : Transforms except : Viewing 7: Hidden Surfaces 8: Surface Shading 9: Ray Tracing only : Texture Mapping 11: Graphics Pipeline only : Data Structures only : Curves and Surfaces 17: Human Vision 18: Color only : Image-Based Rendering 23: Visualization

6 Final Topics Breakdown midterm 1 topics: first five weeks midterm 2 topics: second five weeks topics covered since then: last three weeks posted slides lecture – more than just slides! readings also animation guest lecture

7 Midterm 1 Topics Covered transformations viewing projections coordinate systems of rendering pipeline lighting shading review was Wed Feb 9

8 Midterm 2 Topics Covered color rasterization/scan conversion clipping visibility / hidden surfaces texturing procedural approaches advanced rendering sampling/antialiasing animation picking review was Fri Mar 18

9 Latest Topics Covered collision detection modelling virtual trackballs scientific visualization information visualization graphics in movies

10 Collision Detection

11 Review: Collision Detection Algorithms naive very expensive: O(n 2 ) primary factor: geometry of colliding objects secondary factor: way in which objects move other factors: speed, simplicity, robustness optimizations if more than one test available, with different costs: how do you combine them? how do you avoid unnecessary tests? how do you make tests cheaper?

12 Review: Fundamental Design Principles fast simple tests first, eliminate many potential collisions exploit locality, eliminate many potential collisions use as much information as possible about geometry exploit coherence between successive tests specific techniques collision proxies spatial data structures to localize finding precise collision times responding to collisions

13 Review: Collision Proxies collision proxy (bounding volume) is piece of geometry used to represent complex object for purposes of finding collision good proxy: cheap to compute collisions for, tight fit to the real geometry proxies exploit facts about human perception we are extraordinarily bad at determining correctness of collision between two complex objects the more stuff is happening, and the faster it happens, the more problems we have detecting errors

14 Review: Trade-off in Choosing Proxies increasing complexity & tightness of fit decreasing cost of (overlap tests + proxy update) AABB OBB Sphere Convex Hull 6-dop

15 Review: Spatial Data Structures uniform grids bounding volume hierarchies octrees BSP trees kd-trees k-dops

16 Review: Exploiting Coherence player normally doesn’t move far between frames track incremental changes, using previous results instead of doing full search each time keep track of entry and exit into cells through portals probably the same cells they intersect now or at least they are close

17 Review: Precise Collisions t=0 t=1 t=0.5 t=1 t=0.5 t=0.75 t=0.5 t=0.625 t= hacked clean up simply move position so that objects just touch, leave time the same interval halving binary search through time to find exact collision point and time

18 Review: Temporal Sampling temporal sampling aliasing: can miss collision completely!

19 Review: Managing Fast Moving Objects several ways to do it, with increasing costs movement line: test line segment representing motion of object center pros: works for large obstacles, cheap cons: may still miss collisions. how? conservative prediction: only move objects as far as you can be sure to catch collision increase temporal sampling rate pros: will find all collisions cons: may be expensive, how to pick step size space-time bounds: bound the object in space and time, check bound pros: will find all collisions cons: expensive, must bound motion

20 Modelling

21 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

22 Review: Hermite Spline user provides endpoints derivatives at endpoints

23 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

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

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

26 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

27 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:

28 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

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

30 Virtual Trackball

31 Review: 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 axis n = p 1 x p 2 by arccos(p 1 p 2 / |p 1 | |p 2 |)

32 Scientific Visualization

33 Review: 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

34 Review: 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)

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

36 Review: 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

37 Review: Marching Cubes create cube classify each voxel binary labeling of each voxel to create index use in array storing edge list all 256 cases can be derived from 15 base cases interpolate triangle vertex calculate the normal at each cube vertex render by standard methods

38 Review: Direct Volume Rendering Pipeline Classify Shade Interpolate Composite do not compute surface

39 Review: Transfer Functions To Classify map data value to color and opacity can be difficult, unintuitive, and slow f  f  f  f  Gordon Kindlmann

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

41 Review: Ray Casting Traversal Schemes Depth Intensity Max Average Accumulate First

42 Information Visualization

43 Review: Information Visualization interactive visual representation of abstract data help human perform some task more effectively bridging many fields graphics: interacting in realtime cognitive psych: finding appropriate representations HCI: using task to guide design and evaluation external representation reduces load on working memory offload cognition familiar example: multiplication with pen/paper infovis example: topic graphs

44 Review: Overviews mantra overview, zoom and filter, details-on-demand

45 Review: Overviews - SeeSoft colored lines of code: lines one pixel high

46 Review: Focus+Context integrate overview and details into single view H3: 3D fisheye TreeJuxtaposer: stretch and squish SpaceTree: collapse/expand

47 Review: Preattentive Visual Channels: Popout single channel processed in parallel for popout visual attentional system not invoked speed independent of distractor count hue, shape, texture, length, width, size, orientation, curvature, intersection, intensity, flicker, direction of motion, stereoscopic depth, lighting direction,... multiple channels not parallel search linear in number of distractor objects [Chris Healey, Preattentive Processing,

48 Review: Data Type Affects Channel Ranking spatial position best for all types accuracy at judging magnitudes, from best to worst [Mackinlay, Automating the Design of Graphical Presentations of Relational Information, ACM TOG 5:2, 1986] [Card, Mackinlay, and Shneiderman. Readings in Information Visualization: Using Vision to Think. Morgan Kaufmann Chapter 1]

49 Review: Coloring Categorical Data discrete small patches separated in space limited distinguishability: around 8-14 channel dynamic range: low choose bins explicitly for maximum mileage maximally discriminable colors from Ware maximal saturation for small areas vs. minimal saturation for large areas [Colin Ware, Information Visualization: Perception for Design. Morgan Kaufmann Figure 4.21]

50 Review: Rainbow Colormap Disadvantages perceptually nonlinear segmentation, hue unordered (partial) solution perceptually isolinear map [Kindlmann, Reinhard, and Creem. Face-based Luminance Matching for Perceptual Colormap Generation. Proc. Vis 02 [Rogowitz and Treinish, How NOT to Lie with Visualization,

51 Review: Color Deficiency – vischeck.com 10% of males have red/green deficit

52 Review: Space vs. Time: Showing Change

53 Review: Space vs. Time: Showing Change