CS 563 Advanced Topics in Computer Graphics. by Emmanuel Agu
|
|
- Thomasine Norman
- 5 years ago
- Views:
Transcription
1 CS 563 Advanced Topics in Computer Graphics by Emmanuel Agu
2 Parsing: uses lex and yacc: core/pbrtlex.l and core/pbrtparse.y After parsing, a scene object is created (core/scene.*) Rendering: Scene::Render() is invoked. PBRT Flow (generates sample positions for eye rays and integrators)
3 PBRT Architecture
4 Geometric classes Chapter : Representation and operations for the basic math: points, vectors and rays. core/geometry.* and core/transform.* Chapter 3 (Shapes): Actual scene geometry such as triangles and spheres. Chapter 4: Acceleration structures (uniform grid, kd-tree, BVH, etc)
5 Coordinate system Points, vectors and normals: 3 floating-point coordinate values: x, y, z defined under a coordinate system. A coordinate system defined by: Origin + frame Handedness? y z PBRT uses right hand coordinate system Y OpenGL uses right hand coordinate system x +z x
6 Diff. b/w points = vector v = Q P Vector-Point Relationship Sum of point and vector = point v + P = Q P v Q
7 Vector Operations Define vectors a = ( a1, a, a3 ) b = b b, ) ( 1, b3 Then vector addition: a + b = ( a 1 + b1, a + b, a3 + b3 ) and scalar, s a a+b b
8 Vector Operations Scaling vector by a scalar as = ( a s, as, a3 1 s ) Note vector subtraction: a b = ( a1 + ( b1 ), a + ( b ), a3 + ( b3 )) a a-b a.5a b
9 Magnitude of a Vector Magnitude of a a = a 1 + a... + an Normalizing a vector (unit vector) â = a a = vector magnitude Note magnitude of normalized vector = 1. i.e a1 + a... + an = 1
10 Vectors class Vector { public: <Vector Public Methods> float x, y, z; } (no need to use selector and mutator)
11 Dot and cross product Dot(v, u) AbsDot(v, u) Cross(v, u) (v, u, v u) form a coordinate system cosθ u v u v = sinθ u v u v = v u? ( ) ( ) ( ) z y y x z z x x z y y z z y x u v u v u v u v u v u v u v u v u v = = =
12 Normalization PBRT vector methods Length(v)- returns length of vector, v LengthSquared(v) (returns length of v) Normalize(v) returns a vector, does not normalize in place
13 Coordinate system from a vector Construct a local coordinate system from a vector. inline void CoordinateSystem(const Vector &v1, Vector *v, Vector *v3) V1 normalized already. Construct v: perpendicular vector of v1 by Zero out 1 component of v1 Swap other components V1 x v = v3: 3 rd vector
14 Points are different from vectors explicit Vector(const Point &p); You have to convert a point to a vector explicitly (no accidents, know what you are doing). Vector v=p; Vector v=vector(p); Points
15 Vector v; Point p, q, r; float a; q q=p+v; q=p-v; v=q-p; v Operations for points r=p+q; a*p; p/a; p (This is only for the operationa p+ß q.) PBRT supports: Distance(p,q); DistanceSquared(p,q);
16 Normals A surface normal (or just normal) is a vector that is perpendicular to a surface at a particular position.
17 Different than vectors sometimes Particularly when applying transformations. Implementation similar to Vector, except Normal cannot be added to a point Cannot take the cross product of two normals. Normal is not necessarily normalized. Conversion between Vector and Normal must be explicit Normals
18 o class Ray { public: <Ray Public Methods> Point o; Vector d; mutable float mint, maxt; float time; }; d (for motion blur) mint maxt r( t) = o + td t Rays (They may be changed even if Ray is const.) Initialized as RAY_EPSILON to avoid self intersection. Ray r(o, d); Point p=r(t);
19 Ray differentials Used to estimate projected area for a small part of a scene Used for texture antialiasing. class RayDifferential : public Ray { public: <RayDifferential Methods> bool hasdifferentials; Ray rx, ry; };
20 Bounding boxes Avoid intersection tests inside a volume if ray doesn t hit bounding volume. Benefits depends on: Expense of testing volume vs objects inside Tightness of the bounding volume. Popular bounding volumes: sphere, axis-aligned bounding box (AABB), oriented bounding box (OBB). y z x
21 Bounding boxes class BBox { public: <BBox Public Methods> Point pmin, pmax; } BBox::pMax Point p,q; BBox b; float delta; BBox(p,q) // no order for p, q BBox::pMin Union(b,p) Given point & Bbox, return new larger bounding box containing point (bbox) and Bbox. Union(b, b)
22 Point p,q; BBox b; b.expand(delta): Expand old bounding box by factor delta Bounding boxes pmax + delta pmin - delta
23 Point p,q; BBox b; Bounding boxes b.overlaps(b): do two bounding boxes overlap each other in x,y,z Returns boolean. True (overlaps) or false (does not overlap) b b
24 Point p,q; BBox b; Bounding boxes b.inside(p): Is point p inside bounding box? Returns boolean (true or false) Volume(b): Returns volume of bounding volume (x * y * z) pmax pmin
25 Point p,q; BBox b; Bounding boxes b.maximumextent()(which bounding box axis is the longest; useful for building kd-tree) b.boundingsphere(c, r) (returns center and radius of bounding sphere) Example: generate random ray which intersects scene geometry pmax pmin
26 class Transform {... private: Reference<Matrix4x4> m, minv; } save space, but can t be modified after construction Transformations Transform stores element of 4x4 matrix Also computes and stores matrix inverse, minv (avoid repeatedly computing inverse)
27 Transformations Translate(Vector(dx,dy,dz)) Scale(sx,sy,sz) RotateX(a) = ),, ( dz dy dx dz dy dx T = 1 ),, ( sy sy sx sz sy sx S = 1 cos sin sin cos 1 ) ( θ θ θ θ θ R x T 1 ) ( ) ( θ θ x x R R = Question: How does x-roll matrix above differ based on axes handedness?
28 Rotate(a, Vector(1,1,1)) Rotation around an arbitrary axis a? v v
29 Rotate(a, Vector(1,1,1)) Rotation around an arbitrary axis a v p = a(v a) v p? v 1 v 1 = v p = 1 v = v1 v v a v v = p + v 1 cosθ + v sinθ '
30 Caller specifies: camera (eye position), Look at point Up vector LookAt Transformation Want to compute 4x4 transform matrix that converts from world space to eye space y P v u n world x z
31 LookAt(Point &pos, Point look, Vector &up) up look dir Look-at pos Vector dir=normalize(look-pos); Vector right=cross(dir, Normalize(up)); Vector newup=cross(right,dir); pos 1
32 Point: q=t(p), T(p,&q) Applying transformations use homogeneous coordinates implicitly Vector: u=t(v), T(u, &v) Normal: treated differently than vectors because of anisotropic transformations n t = n T t = Transform should keep its inverse For orthonormal matrix, S=M ( n' ) T t' = ( ) T Sn Mt = n T Point: (p, 1) Vector: (v, ) T S Mt = T S M = I T S = M
33 Transform Bbox? Applying transformations transform its 8 corners and expand to include all 8 points.
34 Differential geometry DifferentialGeometry: a self-contained representation for a particular point on a surface so that all the other operations in pbrt can be executed without referring to the original shape. Contains Position Surface normal Parameterization Parametric derivatives Derivatives of normals Pointer to shape
35 Ray-Surface Intersection
36 Ray: Ray-Plane Intersection r r r t r P = O+t D O v D t < N r P r Plane: r r r ( P P ) N = ax+ by+ cz+ d = P r Solve for intersection Substitute ray equation into plane equation r r r r r r r ( P P ) N= ( O+ td P ) N = r r r ( O P ) N t = r r D N
37 Sphere A sphere of radius r at the origin Implicit: x +y +z -r = Parametric: f(?,? ) x=rsin? cos? y=rsin? sin? z=rcos?
38 Sphere
39 Algebraic solution Perform in object space, WorldToObject(r, &ray) Assume that ray is normalized for a while r z y x = + + ( ) ( ) ( ) r td o td o td o z z y y x x = = + + C Bt At z y x d d d A + + = ) ( z z y y x x o d o d o d B + + = r o o o C z y x + + = Step 1
40 Algebraic solution t = B B A 4AC t 1 = B + B A 4AC Step If (B -4AC<) then the ray misses the sphere. B -4AC=? Step 3 Calculate t and test if t < Step 4 Calculate t 1 and test if t 1 <
41 Cylinder φ = uφ max x = r cosφ y = r sinφ z = z + v min ( zmax zmin ) First consider sides Later consider cap/base
42 Cylinder Implicit equation for cylinder x + y r = Substituting in ray equation Giving ( ) ( ) ox + td x + oy + td y = At + Bt + C A = + d x d y = B = ( d xox + d yoy ) C = ox + oy r Solve for t r
43 Cylinder
44 References/Shamelessly stolen Pat Hanrahan, CS 348B, Spring 5 class slides Yung-Yu Chuang, Image Synthesis, class slides, National Taiwan University, Fall 5 Kutulakos K, CSC 53H: Visual Modeling, course slides UIUC CS 319, Advanced Computer Graphics Course slides
Ray Tracing I: Basics
Ray Tracing I: Basics Today Basic algorithms Overview of pbrt Ray-surface intersection Next lecture Techniques to accelerate ray tracing of large numbers of geometric primitives Light Rays Three ideas
More informationCS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu
CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer by Emmanuel Agu Ray Casting (Appel, 1968) direct illumination Recursive ray tracing (Whitted, 1980) Pseudocode for Ray Tracer
More information3D Rendering and Ray Casting
3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)
More informationCS 563 Advanced Topics in Computer Graphics Monte Carlo Integration: Basic Concepts. by Emmanuel Agu
CS 563 Advanced Topics in Computer Graphics Monte Carlo Integration: Basic Concepts by Emmanuel Agu Introduction The integral equations generally don t have analytic solutions, so we must turn to numerical
More information3D Rendering and Ray Casting
3D Rendering and Ray Casting Michael Kazhdan (601.457/657) HB Ch. 13.7, 14.6 FvDFH 15.5, 15.10 Rendering Generate an image from geometric primitives Rendering Geometric Primitives (3D) Raster Image (2D)
More informationComputer Science 426 Midterm 3/11/04, 1:30PM-2:50PM
NAME: Login name: Computer Science 46 Midterm 3//4, :3PM-:5PM This test is 5 questions, of equal weight. Do all of your work on these pages (use the back for scratch space), giving the answer in the space
More informationBasic Elements. Geometry is the study of the relationships among objects in an n-dimensional space
Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space In computer graphics, we are interested in objects that exist in three dimensions We want a minimum set
More informationRay Tracing Acceleration. CS 4620 Lecture 22
Ray Tracing Acceleration CS 4620 Lecture 22 2014 Steve Marschner 1 Topics Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes
More informationRay Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)
CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic
More informationComputer Graphics Ray Casting. Matthias Teschner
Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg
More informationCOMP 175 COMPUTER GRAPHICS. Ray Casting. COMP 175: Computer Graphics April 26, Erik Anderson 09 Ray Casting
Ray Casting COMP 175: Computer Graphics April 26, 2018 1/41 Admin } Assignment 4 posted } Picking new partners today for rest of the assignments } Demo in the works } Mac demo may require a new dylib I
More informationRay Tracing Acceleration. CS 4620 Lecture 20
Ray Tracing Acceleration CS 4620 Lecture 20 2013 Steve Marschner 1 Will this be on the exam? or, Prelim 2 syllabus You can expect emphasis on topics related to the assignment (Shaders 1&2) and homework
More informationVector Algebra Transformations. Lecture 4
Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures
More informationTransforms. COMP 575/770 Spring 2013
Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms
More informationCS348B Lecture 2 Pat Hanrahan, Spring Greeks: Do light rays proceed from the eye to the light, or from the light to the eye?
Page 1 Ray Tracing Today Basic algorithms Overview of pbrt Ray-surface intersection for single surface Next lecture Acceleration techniques for ray tracing large numbers of geometric primitives Classic
More informationComputer Graphics 7: Viewing in 3-D
Computer Graphics 7: Viewing in 3-D In today s lecture we are going to have a look at: Transformations in 3-D How do transformations in 3-D work? Contents 3-D homogeneous coordinates and matrix based transformations
More informationRay Tracer I: Ray Casting Due date: 12:00pm December 3, 2001
Computer graphics Assignment 5 1 Overview Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001 In this assignment you will implement the camera and several primitive objects for a ray tracer. We
More informationTopics. Ray Tracing II. Intersecting transformed objects. Transforming objects
Topics Ray Tracing II CS 4620 Lecture 16 Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies
More informationAccelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016
Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?
More informationAffine Transformation. Edith Law & Mike Terry
Affine Transformation Edith Law & Mike Terry Graphic Models vs. Images Computer Graphics: the creation, storage and manipulation of images and their models Model: a mathematical representation of an image
More informationTopics. Ray Tracing II. Transforming objects. Intersecting transformed objects
Topics Ray Tracing II CS 4620 ations in ray tracing ing objects ation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies Uniform spatial subdivision Adaptive spatial
More informationGraphics and Interaction Transformation geometry and homogeneous coordinates
433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationRay Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University
Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,
More informationCOMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates
COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation
More informationIntro to Ray-Tracing & Ray-Surface Acceleration
Lecture 12 & 13: Intro to Ray-Tracing & Ray-Surface Acceleration Computer Graphics and Imaging UC Berkeley Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric
More informationRay Tracing Basics I. Computer Graphics as Virtual Photography. camera (captures light) real scene. photo. Photographic print. Photography: processing
Ray Tracing Basics I Computer Graphics as Virtual Photography Photography: real scene camera (captures light) photo processing Photographic print processing Computer Graphics: 3D models camera model (focuses
More informationTransformations. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico
Transformations Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Angel: Interactive Computer Graphics 4E Addison-Wesley 25 1 Objectives
More informationScene Modeling for a Single View
Scene Modeling for a Single View René MAGRITTE Portrait d'edward James with a lot of slides stolen from Steve Seitz and David Brogan, 15-463: Computational Photography Alexei Efros, CMU, Fall 2005 Classes
More informationJUST THE MATHS SLIDES NUMBER 5.2. GEOMETRY 2 (The straight line) A.J.Hobson
JUST THE MATHS SLIDES NUMBER 5.2 GEOMETRY 2 (The straight line) by A.J.Hobson 5.2.1 Preamble 5.2.2 Standard equations of a straight line 5.2.3 Perpendicular straight lines 5.2.4 Change of origin UNIT 5.2
More informationComputer Graphics Geometric Transformations
Computer Graphics 2016 6. Geometric Transformations Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-10-31 Contents Transformations Homogeneous Co-ordinates Matrix Representations of Transformations
More informationComputer Graphics: Viewing in 3-D. Course Website:
Computer Graphics: Viewing in 3-D Course Website: http://www.comp.dit.ie/bmacnamee 2 Contents Transformations in 3-D How do transformations in 3-D work? 3-D homogeneous coordinates and matrix based transformations
More informationGEOMETRIC TRANSFORMATIONS AND VIEWING
GEOMETRIC TRANSFORMATIONS AND VIEWING 2D and 3D 1/44 2D TRANSFORMATIONS HOMOGENIZED Transformation Scaling Rotation Translation Matrix s x s y cosθ sinθ sinθ cosθ 1 dx 1 dy These 3 transformations are
More informationMath background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6
Math background 2D Geometric Transformations CS 4620 Lecture 6 Read: Chapter 2: Miscellaneous Math Chapter 5: Linear Algebra Notation for sets, functions, mappings Linear transformations Matrices Matrix-vector
More informationPBRT core. Digital Image Synthesis Yung-Yu Chuang. with slides by Pat Hanrahan
PBRT core Digital Image Synthesis Yung-Yu Chuang with slides by Pat Hanrahan This course Study of how state-of-art ray tracers work Ray casting Rendering equation (Kajiya 1986) L i ( i p,ω ) ω i ω o L
More informationScene Modeling for a Single View
on to 3D Scene Modeling for a Single View We want real 3D scene walk-throughs: rotation translation Can we do it from a single photograph? Reading: A. Criminisi, I. Reid and A. Zisserman, Single View Metrology
More informationComputer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics (CS 543) Lecture 13b Ray Tracing (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Raytracing Global illumination-based rendering method Simulates
More informationScene Modeling for a Single View
Scene Modeling for a Single View René MAGRITTE Portrait d'edward James CS194: Image Manipulation & Computational Photography with a lot of slides stolen from Alexei Efros, UC Berkeley, Fall 2014 Steve
More information2D and 3D Coordinate Systems and Transformations
Graphics & Visualization Chapter 3 2D and 3D Coordinate Systems and Transformations Graphics & Visualization: Principles & Algorithms Introduction In computer graphics is often necessary to change: the
More information2D Image Transforms Computer Vision (Kris Kitani) Carnegie Mellon University
2D Image Transforms 16-385 Computer Vision (Kris Kitani) Carnegie Mellon University Extract features from an image what do we do next? Feature matching (object recognition, 3D reconstruction, augmented
More informationMore Mosaic Madness. CS194: Image Manipulation & Computational Photography. Steve Seitz and Rick Szeliski. Jeffrey Martin (jeffrey-martin.
More Mosaic Madness Jeffrey Martin (jeffrey-martin.com) CS194: Image Manipulation & Computational Photography with a lot of slides stolen from Alexei Efros, UC Berkeley, Fall 2018 Steve Seitz and Rick
More informationLast week. Machiraju/Zhang/Möller
Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:
More informationRecall: Inside Triangle Test
1/45 Recall: Inside Triangle Test 2D Bounding Boxes rasterize( vert v[3] ) { bbox b; bound3(v, b); line l0, l1, l2; makeline(v[0],v[1],l2); makeline(v[1],v[2],l0); makeline(v[2],v[0],l1); for( y=b.ymin;
More information3D Mathematics. Co-ordinate systems, 3D primitives and affine transformations
3D Mathematics Co-ordinate systems, 3D primitives and affine transformations Coordinate Systems 2 3 Primitive Types and Topologies Primitives Primitive Types and Topologies 4 A primitive is the most basic
More informationRay Intersection Acceleration
Ray Intersection Acceleration CMPT 461/761 Image Synthesis Torsten Möller Reading Chapter 2, 3, 4 of Physically Based Rendering by Pharr&Humphreys An Introduction to Ray tracing by Glassner Topics today
More informationRay Tracing I. History
History Ray Tracing came from the Physics of lens making. The process was that of drawing lines or rays through a glass shape to determine it s lens properties. It is also related to early perspective
More informationContent. Coordinate systems Orthographic projection. (Engineering Drawings)
Projection Views Content Coordinate systems Orthographic projection (Engineering Drawings) Graphical Coordinator Systems A coordinate system is needed to input, store and display model geometry and graphics.
More information3D Rendering. Course Syllabus. Where Are We Now? Rendering. 3D Rendering Example. Overview. Rendering. I. Image processing II. Rendering III.
Course Syllabus I. Image processing II. Rendering III. Modeling 3D Rendering Rendering I. Animation (Michael Bostock, CS426, Fall99) Image Processing Adam Finkelstein Princeton University COS 426, Spring
More informationTransformations: 2D Transforms
1. Translation Transformations: 2D Transforms Relocation of point WRT frame Given P = (x, y), translation T (dx, dy) Then P (x, y ) = T (dx, dy) P, where x = x + dx, y = y + dy Using matrix representation
More informationFirst of all, we need to know what it means for a parameterize curve to be differentiable. FACT:
CALCULUS WITH PARAMETERIZED CURVES In calculus I we learned how to differentiate and integrate functions. In the chapter covering the applications of the integral, we learned how to find the length of
More informationAcceleration Structures. CS 6965 Fall 2011
Acceleration Structures Run Program 1 in simhwrt Lab time? Program 2 Also run Program 2 and include that output Inheritance probably doesn t work 2 Boxes Axis aligned boxes Parallelepiped 12 triangles?
More informationRendering. Generate an image from geometric primitives II. Rendering III. Modeling IV. Animation. (Michael Bostock, CS426, Fall99)
1 Course Syllabus 2 I. Image processing 3D Adam Finkelstein Princeton University C0S 426, Fall 2001 II. III. Modeling IV. Animation Image Processing (Rusty Coleman, CS426, Fall99) (Michael Bostock, CS426,
More informationAcceleration Data Structures
CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection
More informationLecture 11. More Ray Casting/Tracing
Lecture 11 More Ray Casting/Tracing Basic Algorithm For each pixel { } Shoot a ray from camera to pixel for all objects in scene Compute intersection with ray Find object with closest intersection Display
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie
More informationToday. Today. Introduction. Matrices. Matrices. Computergrafik. Transformations & matrices Introduction Matrices
Computergrafik Matthias Zwicker Universität Bern Herbst 2008 Today Transformations & matrices Introduction Matrices Homogeneous Affine transformations Concatenating transformations Change of Common coordinate
More informationCV: 3D sensing and calibration
CV: 3D sensing and calibration Coordinate system changes; perspective transformation; Stereo and structured light MSU CSE 803 1 roadmap using multiple cameras using structured light projector 3D transformations
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer
More informationEquation of tangent plane: for explicitly defined surfaces
Equation of tangent plane: for explicitly defined surfaces Suppose that the surface z = f(x,y) has a non-vertical tangent plane at a point (a, b, f(a,b)). The plane y = b intersects the surface at a curve
More information2D/3D Geometric Transformations and Scene Graphs
2D/3D Geometric Transformations and Scene Graphs Week 4 Acknowledgement: The course slides are adapted from the slides prepared by Steve Marschner of Cornell University 1 A little quick math background
More informationLast week. Machiraju/Zhang/Möller/Fuhrmann
Last week Machiraju/Zhang/Möller/Fuhrmann 1 Geometry basics Scalar, point, and vector Vector space and affine space Basic point and vector operations Sided-ness test Lines, planes, and triangles Linear
More informationCS452/552; EE465/505. Geometry Transformations
CS452/552; EE465/505 Geometry Transformations 1-26-15 Outline! Geometry: scalars, points & vectors! Transformations Read: Angel, Chapter 4 (study cube.html/cube.js example) Appendix B: Spaces (vector,
More informationAccelerating Ray-Tracing
Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling
More informationSpatial Data Structures
15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationENGI Parametric & Polar Curves Page 2-01
ENGI 3425 2. Parametric & Polar Curves Page 2-01 2. Parametric and Polar Curves Contents: 2.1 Parametric Vector Functions 2.2 Parametric Curve Sketching 2.3 Polar Coordinates r f 2.4 Polar Curve Sketching
More informationOverview. Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections
Overview Affine Transformations (2D and 3D) Coordinate System Transformations Vectors Rays and Intersections ITCS 4120/5120 1 Mathematical Fundamentals Geometric Transformations A set of tools that aid
More informationCSC418 / CSCD18 / CSC2504
5 5.1 Surface Representations As with 2D objects, we can represent 3D objects in parametric and implicit forms. (There are also explicit forms for 3D surfaces sometimes called height fields but we will
More informationMath (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines
Math 18.02 (Spring 2009): Lecture 5 Planes. Parametric equations of curves and lines February 12 Reading Material: From Simmons: 17.1 and 17.2. Last time: Square Systems. Word problem. How many solutions?
More informationRay Tracer Due date: April 27, 2011
Computer graphics Assignment 4 1 Overview Ray Tracer Due date: April 27, 2011 In this assignment you will implement the camera and several primitive objects for a ray tracer, and a basic ray tracing algorithm.
More informationLecture 4: Transformations and Matrices. CSE Computer Graphics (Fall 2010)
Lecture 4: Transformations and Matrices CSE 40166 Computer Graphics (Fall 2010) Overall Objective Define object in object frame Move object to world/scene frame Bring object into camera/eye frame Instancing!
More informationSUMMARY. CS380: Introduction to Computer Graphics Ray tracing Chapter 20. Min H. Kim KAIST School of Computing 18/05/29. Modeling
CS380: Introduction to Computer Graphics Ray tracing Chapter 20 Min H. Kim KAIST School of Computing Modeling SUMMARY 2 1 Types of coordinate function Explicit function: Line example: Implicit function:
More informationRay Tracing I. Internet Raytracing Competition
History Ray Tracing came from the Physics of lens making. The process was that of drawing lines or rays through a glass shape to determine it s lens properties. It is also related to early perspective
More information521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)
5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?
More informationSpatial Data Structures
Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster
More informationThe diagram above shows a sketch of the curve C with parametric equations
1. The diagram above shows a sketch of the curve C with parametric equations x = 5t 4, y = t(9 t ) The curve C cuts the x-axis at the points A and B. (a) Find the x-coordinate at the point A and the x-coordinate
More informationC O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics I. Guoying Zhao 1 / 52
Computer Graphics Three-Dimensional Graphics I Guoying Zhao 1 / 52 Geometry Guoying Zhao 2 / 52 Objectives Introduce the elements of geometry Scalars Vectors Points Develop mathematical operations among
More information1 Transformations. Chapter 1. Transformations. Department of Computer Science and Engineering 1-1
Transformations 1-1 Transformations are used within the entire viewing pipeline: Projection from world to view coordinate system View modifications: Panning Zooming Rotation 1-2 Transformations can also
More informationCS 130 Exam I. Fall 2015
S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More information2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into
2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel
More informationUsing Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects
Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection
More information2D Object Definition (1/3)
2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself
More informationSurfaces. Ron Goldman Department of Computer Science Rice University
Surfaces Ron Goldman Department of Computer Science Rice University Representations 1. Parametric Plane, Sphere, Tensor Product x = f (s,t) y = g(s,t) z = h(s,t) 2. Algebraic Plane, Sphere, Torus F(x,
More informationGeometric Transformations
Geometric Transformations CS 4620 Lecture 9 2017 Steve Marschner 1 A little quick math background Notation for sets, functions, mappings Linear and affine transformations Matrices Matrix-vector multiplication
More information2D and 3D Transformations AUI Course Denbigh Starkey
2D and 3D Transformations AUI Course Denbigh Starkey. Introduction 2 2. 2D transformations using Cartesian coordinates 3 2. Translation 3 2.2 Rotation 4 2.3 Scaling 6 3. Introduction to homogeneous coordinates
More informationCurves and Surfaces Computer Graphics I Lecture 10
15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie
More informationCSC 305 The Graphics Pipeline-1
C. O. P. d y! "#"" (-1, -1) (1, 1) x z CSC 305 The Graphics Pipeline-1 by Brian Wyvill The University of Victoria Graphics Group Perspective Viewing Transformation l l l Tools for creating and manipulating
More informationIntersection Acceleration
Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees
More informationINFOGR Computer Graphics. Jacco Bikker - April-July Lecture 3: Ray Tracing (Introduction) Welcome!
INFOGR Computer Graphics Jacco Bikker - April-July 2016 - Lecture 3: Ray Tracing (Introduction) Welcome! Today s Agenda: Primitives (contd.) Ray Tracing Intersections Assignment 2 Textures INFOGR Lecture
More informationTrue/False. MATH 1C: SAMPLE EXAM 1 c Jeffrey A. Anderson ANSWER KEY
MATH 1C: SAMPLE EXAM 1 c Jeffrey A. Anderson ANSWER KEY True/False 10 points: points each) For the problems below, circle T if the answer is true and circle F is the answer is false. After you ve chosen
More informationOutcomes List for Math Multivariable Calculus (9 th edition of text) Spring
Outcomes List for Math 200-200935 Multivariable Calculus (9 th edition of text) Spring 2009-2010 The purpose of the Outcomes List is to give you a concrete summary of the material you should know, and
More informationIntroduction Ray tracing basics Advanced topics (shading) Advanced topics (geometry) Graphics 2010/2011, 4th quarter. Lecture 11: Ray tracing
Lecture 11 Ray tracing Introduction Projection vs. ray tracing Projection Ray tracing Rendering Projection vs. ray tracing Projection Ray tracing Basic methods for image generation Major areas of computer
More informationCALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES
CALCULATING TRANSFORMATIONS OF KINEMATIC CHAINS USING HOMOGENEOUS COORDINATES YINGYING REN Abstract. In this paper, the applications of homogeneous coordinates are discussed to obtain an efficient model
More informationTopics and things to know about them:
Practice Final CMSC 427 Distributed Tuesday, December 11, 2007 Review Session, Monday, December 17, 5:00pm, 4424 AV Williams Final: 10:30 AM Wednesday, December 19, 2007 General Guidelines: The final will
More informationRay Tracing Part 1. CSC418/2504 Introduction to Computer Graphics. TA: Muhammed Anwar & Kevin Gibson
Ray Tracing Part 1 CSC418/2504 Introduction to Computer Graphics TA: Muhammed Anwar & Kevin Gibson Email: manwar@cs.toronto.edu Overview Introduction / Motivation Rasterization vs Ray Tracing Basic Pseudocode
More informationMath 209, Fall 2009 Homework 3
Math 209, Fall 2009 Homework 3 () Find equations of the tangent plane and the normal line to the given surface at the specified point: x 2 + 2y 2 3z 2 = 3, P (2,, ). Solution Using implicit differentiation
More informationRay scene intersections
Ray scene intersections 1996-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 26 Ray scene intersection
More informationLecture 11: Ray tracing (cont.)
Interactive Computer Graphics Ray tracing - Summary Lecture 11: Ray tracing (cont.) Graphics Lecture 10: Slide 1 Some slides adopted from H. Pfister, Harvard Graphics Lecture 10: Slide 2 Ray tracing -
More informationInteractive Computer Graphics. Hearn & Baker, chapter D transforms Hearn & Baker, chapter 5. Aliasing and Anti-Aliasing
Interactive Computer Graphics Aliasing and Anti-Aliasing Hearn & Baker, chapter 4-7 D transforms Hearn & Baker, chapter 5 Aliasing and Anti-Aliasing Problem: jaggies Also known as aliasing. It results
More informationIntegration using Transformations in Polar, Cylindrical, and Spherical Coordinates
ections 15.4 Integration using Transformations in Polar, Cylindrical, and pherical Coordinates Cylindrical Coordinates pherical Coordinates MATH 127 (ection 15.5) Applications of Multiple Integrals The
More informationObjectives. transformation. General Transformations. Affine Transformations. Notation. Pipeline Implementation. Introduce standard transformations
Objectives Transformations CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Introduce standard transformations - Rotation - Translation - Scaling - Shear Derive homogeneous
More informationCS Computer Graphics: Introduction to Ray Tracing
CS 543 - Computer Graphics: Introduction to Ray Tracing by Robert W. Lindeman gogo@wpi.edu (with help from Peter Lohrmann ;-) View Volume View volume similar to gluperspective Angle Aspect Near? Far? But
More information