CS770/870 Spring 2017 Ray Tracing Implementation
|
|
- Louisa Chambers
- 5 years ago
- Views:
Transcription
1 Useful ector Information S770/870 Spring 07 Ray Tracing Implementation Related material:angel 6e: h.3 Ray-Object intersections Spheres Plane/Polygon Box/Slab/Polyhedron Quadric surfaces Other implicit/explicit surfaces ector calculus is helpful notation in ray tracing dot product (also called inner product) Let U = (u x, u y, u z ) and = (v x, v y, v z ) U U = a x * b x a y * b y a z * b z U = U cos α, where α is angle between U and where U is the length of U U / scalar (orthogonal) projection of U onto U cos α = U / scalar (orthogonal) projection of onto U cos α = U / U α U / U 03/0/7 Ray-Sphere Definitions Ray/Sphere Intersection Equation Implicit representation of a sphere of radius, r, and center = ( x c, y c, z c ): ( x - x c ) ( y - y c ) ( z - z c Parametric representation of a ray R(t) = t for t > 0 where = ( x o, y o, z o ) is the ray origin and = ( x v, y v, z v ) is the ray direction as a unit vector This is really 3 equations: x(t) = x o t x v y(t) = y o t y v z(t) = z o t z v Start with sphere equation, with center at origin x y z = r Replace x, y, and z with x(t), y(t), z(t) of ray (x o tx v ) (y o ty v ) (z o tz v Expand the square terms (x v t x v x 0 t x 0 ) (y v t y v y 0 t y 0 ) (z v t z v z 0 t z 0 ) = r ollect like terms (powers of t): at bt c = 0 a = x v y v z v = ( is a unit vector) This simplifies calculations! b = (x o )x v (y o )y v (z o )z v c = (x o ) (y o ) (z o ) r 3 4
2 Solve quadratic equation Get 0, or solutions: b -4c <0 : 0 intersections t = b b -4c =0 : intersection, ray is tangent to sphere; ignore b 4c t < 0 and t < 0 : on wrong side of ray, ignore t < 0 and t >0 : use t t >0 and t >0 : use t ; it has to be smaller Remember the quadratic equation?, t = b b 4c a= in this case Ray/Arbitrary Sphere Intersection Start with sphere equation for center at (x c, y c, z c ) (x ) (y ) (z Replace x, y, and z with x(t), y(t), z(t) of ray ((x o tx v ) ) ((y o ty v ) ) ((z o tz v ) Simplify terms by collecting constant expressions (tx v x o ) (ty v y o ) (tz v z o (tx v x d ) (ty v y d ) (tz v z d t where x d = x o, y d = y o and z d = z o b - 4c <= 0 t t t t t < 0, t > 0 t < 0, t < 0 t t > 0, t > 0 5 This is the same equation as sphere at origin with (x d, y d, z d ) replacing (x o, y o, z o ) 6 Efficiency Improvement Efficiency Improvement (cont) an we find miss cases more efficiently First find if is inside or outside the sphere if distance from to < r, then is inside sphere distance(, ) = ( ) ( ) But, no need to compute the square root is inside sphere if ( ) ( ) r < 0 But, ( ) ( ) = (x c x o ) (y c y o ) (z c z o ) r = c So is inside sphere if c < 0, for the c term of the quadratic equation. If is inside sphere, we know we have exactly intersection and it is t - If outside, find t c = closest point on ray to Project (- ) onto : (- ) = t c (- ) = -b/ the b from quadratic equation! t=0 If t c > 0, find d, distance from to ray L = t c d where L = R 0 = ( ) ( ) so, d = L t c = ( ) ( ) t c and d r > 0 means ray misses sphere or ( ) ( ) t c r > 0 means miss But c = ( ) ( ) r and t c = b ( ) for b and c from quadratic equation : so condition is c ( b ) > 0 c 4 b > 0 4c b > 0 b 4c 0 t c t c L t=0 - d 7 8
3 Efficiency Improvement (cont) Ray/Plane Intersections How does this help?. alculate c = (- ) (- )-r. alculate t c = (- ) 3. If c >0 and t c < 0, done; ray is outside and points away 4. alculate h = t c c = 4 b c 5. if h < 0, done, no int. 6. alculate h=sqrt(h ) 7. if c >0, outside: t = t c - h else if c <0, inside: t = t c h 8. Use t to get x,y,z If =(0,0,0), even simpler t c h L h d Ray: R(t) = t for t > 0 Plane (implicit) ax by cz d = 0 where a b c = ote: = ( a, b, c ) is unit normal to plane Substitute ray equations into plane equation a(x o tx v ) b(y o ty v ) c(z o tz v ) d = 0 Solve for t t = (ax o by o cz o d) ax v by v cz v = d ( ) - - t 9 0 Ray/Plane Intersections Steps Ray/Polygon Intersection. alculate v d =(-), == v d == 0 means ray is parallel to plane; no int. v d < 0 normal in opposite direction from ray; if have -sided polygons and back-face culling, done: polygon not visible!. alculate v o = (- )d 3. alculate t = v o / v d t < 0 : intersection behind ray, no int. 4. alculate (x,y,z) from ray equations. - - t. Find Ray/Plane intersection. Project polygon and point along one of major axes onto D plane. 3. Do D point-in-polygon test to determine if intersection point is inside polygon project
4 Point-in-Polygon Test Ray/Box Intersection. Project 3D polygon along one coordinate axis to xy or yz or xz plane. Which is best? want to avoid a thin projected polygon to maximize projected area, project along axis with maximum coefficient in plane equation: see D analogy on the right. D point-in-polygon draw horiz (or vert) line from projected intersection point to infinity; y=y int intersect y=y int with each edge (pretty simple!) count intersections with edges: odd inside be careful with vertex intersections D analogy x y - 4 = 0 x 3y - 6 = 0 Transform ray back to object space where box is oriented along major axes to origin and even to unit cube Intersect transformed ray with planes: x=0, x=, y=0, y=, z=0, z= Line/plane intersections are trivial; intersection of ray with x=0: x(t) = x o tx v // ray equation for x t 0 = (0 - x o ) / x v = -x o / x v // intersection with x=0 The t for x = is just one more addition t = ( - x o ) / x v = /x v - x o / x v = /x v t Ray/Slab Intersection onvex Polyhedra Slabs are pairs of parallel planes; they are good for creating tighter bounding volumes Just two sides of a box and once get t for one slab, the t for parallel one is just one addition A polyhedron is a 3D object whose faces are planar Polyhedra can be defined by: the polygons that make up their faces the space defined by the intersection of the negative sides of all the planes that define the faces Polygon representation natural for polygon-based rendering hard to validate correctness: are there gaps between polygons? do any polygons intersect? etc. Planar representation relatively easy correctness computation hard to render (except with ray tracing) 5 6
5 Ray/Polyhedron Intersection Given a convex polyhedron defined by intersection of half-planes, find intersection of a ray with polyhedron: for each plane, H i P i = intersection of ray with H i if P i on - side of all other planes if is on side of H i return P i return null P 0 doesn t exist P is on side of other planes and R 0, is on side of H Good! P is on side of H, P 3 is on side of H 4, P 4 is on side of all, but R 0 is on side of H 4 H H 3 D analogy P P H 0 H H 4 P 4 P 3 7 Ray/Polyhedron Intersection - Basic algorithm has some weaknesses: If ray starts inside the polyhedron, it fails/ Easily fixed by first testing R0 against all planes; if it is on the side of all planes and changing innermost if test to: if ( is on side of H i ) or ( in polyhedron) return P i eeds extra code to recognize intersections with/near vertices, where the inside test for the other planes could be wrong due to round-off error Only works for convex polyhedra ote that the correctness of the polyhedron specification is not a problem for the rendering since a polyhedron with null volume just won t ever appear 8 Ray v. Quadric Surface Any quadric surface can be represented implicitly by " a b c d% " x% $ ' $ ' e f g h [ x y z ] $ ' $ y ' = 0 $ i j k l' $ z' $ ' $ ' # m n o p& # & Ray v. Generic Implicit Surfaces Ray intersections with implicit surfaces of degree > or non-polynomial surfaces are normally solved with numerical techniques Substitute the parametric equations for the ray into implicit equation and solve for t using the quadratic formula Just like a sphere, but much more algebra! 9 0
6 Ray vs. Explicit Surfaces SG Surfaces Suppose the surface is defined parametrically (in parameters): S(u,v) = [x(u,v), y(u,v), z(u,v)] an make some progress by representing the ray as the intersection of any two planes that share it: a x b y c z d = 0 a x b y c z d = 0 Intersection of planes an surface yields curves in D: (u,v) = a x(u,v) b y(u,v) c z(u,v) d = 0 (u,v) = a x(u,v) b y(u,v) c z(u,v) d = 0 Use numerical techniques in D to solve intersection in (u,v) space v u onstructive Solid Geometry Define objects as union, intersection or set difference between basic shapes, like parallelopiped and cylinders = Effective representation for analysis validity of representation, many physical properties are easily computed, and much more ot very efficient for rendering purposes, except with ray tracing Ray v. SG Other Kinds of Surfaces Given a SG tree Do a postfix tree walk: for each leaf compute ray/solid intersection in t // each primitive has 0 or ints t t for each operator combine ray classification of its children and simplify by merging B D E left child right child L R L R L R Sweep surfaces specialized algorithms exist for some specific kinds of swept objects and paths. Procedural objects parametric surfaces can be treated as procedural using subdivision techniques Fractal surfaces some can be handled by subdivision techniques but, bounding volume test can be difficult Particle systems and other true procedural surfaces have very specialized intersections olume data based on voxels: not very hard olume data based on octrees: also not hard 3 4
1.5 Equations of Lines and Planes in 3-D
1.5. EQUATIONS OF LINES AND PLANES IN 3-D 55 Figure 1.16: Line through P 0 parallel to v 1.5 Equations of Lines and Planes in 3-D Recall that given a point P = (a, b, c), one can draw a vector from the
More informationGeometric Queries for Ray Tracing
CSCI 420 Computer Graphics Lecture 16 Geometric Queries for Ray Tracing Ray-Surface Intersection Barycentric Coordinates [Angel Ch. 11] Jernej Barbic University of Southern California 1 Ray-Surface Intersections
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 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 informationIntro to Modeling Modeling in 3D
Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2
More information1.5 Equations of Lines and Planes in 3-D
56 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE Figure 1.16: Line through P 0 parallel to v 1.5 Equations of Lines and Planes in 3-D Recall that given a point P = (a, b, c), one can draw a vector from
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 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 informationHomework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves
Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30
More informationCurve and Surface Basics
Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric
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 informationBackground for Surface Integration
Background for urface Integration 1 urface Integrals We have seen in previous work how to define and compute line integrals in R 2. You should remember the basic surface integrals that we will need to
More information1999, Denis Zorin. Ray tracing
Ray tracing Ray tracing shadow rays normal reflected ray pixel ray camera normal Ray casting/ray tracing Iterate over pixels, not objects. Effects that are difficult with Z-buffer, are easy with ray tracing:
More informationLines and Planes in 3D
Lines and Planes in 3D Philippe B. Laval KSU January 28, 2013 Philippe B. Laval (KSU) Lines and Planes in 3D January 28, 2013 1 / 20 Introduction Recall that given a point P = (a, b, c), one can draw a
More informationLecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees
Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public
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 informationVectors and the Geometry of Space
Vectors and the Geometry of Space In Figure 11.43, consider the line L through the point P(x 1, y 1, z 1 ) and parallel to the vector. The vector v is a direction vector for the line L, and a, b, and c
More informationFunctions of Several Variables
Jim Lambers MAT 280 Spring Semester 2009-10 Lecture 2 Notes These notes correspond to Section 11.1 in Stewart and Section 2.1 in Marsden and Tromba. Functions of Several Variables Multi-variable calculus
More information9. Three Dimensional Object Representations
9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle
More informationCurves and Surfaces Computer Graphics I Lecture 9
15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie
More informationThe Three Dimensional Coordinate System
The Three-Dimensional Coordinate System The Three Dimensional Coordinate System You can construct a three-dimensional coordinate system by passing a z-axis perpendicular to both the x- and y-axes at the
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 informationRay Tracing. Shandong University
Ray Tracing Shandong University Introduction OpenGL is based on a pipeline model in which primitives are rendered one at time - No shadows (except by tricks or multiple renderings) - No multiple reflections
More informationMAT175 Overview and Sample Problems
MAT175 Overview and Sample Problems The course begins with a quick review/overview of one-variable integration including the Fundamental Theorem of Calculus, u-substitutions, integration by parts, and
More informationSupplement to Lecture 16
Supplement to Lecture 16 Global Illumination: View Dependent CS 354 Computer Graphics http://www.cs.utexas.edu/~bajaj/ Notes and figures from Ed Angel: Interactive Computer Graphics, 6 th Ed., 2012 Addison
More informationCOMPUTER AIDED ENGINEERING DESIGN (BFF2612)
COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT
More informationGEOMETRIC TOOLS FOR COMPUTER GRAPHICS
GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W
More informationDirectional Derivatives. Directional Derivatives. Directional Derivatives. Directional Derivatives. Directional Derivatives. Directional Derivatives
Recall that if z = f(x, y), then the partial derivatives f x and f y are defined as and represent the rates of change of z in the x- and y-directions, that is, in the directions of the unit vectors i and
More informationRay casting. Ray casting/ray tracing
Ray casting Ray casting/ray tracing Iterate over pixels, not objects Effects that are difficult with Z-buffer, are easy with ray tracing: shadows, reflections, transparency, procedural textures and objects
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 informationPractice problems from old exams for math 233 William H. Meeks III December 21, 2009
Practice problems from old exams for math 233 William H. Meeks III December 21, 2009 Disclaimer: Your instructor covers far more materials that we can possibly fit into a four/five questions exams. These
More information8.1 Geometric Queries for Ray Tracing
Fall 2017 CSCI 420: Computer Graphics 8.1 Geometric Queries for Ray Tracing Hao Li http://cs420.hao-li.com 1 Outline Ray-Surface Intersections Special cases: sphere, polygon Barycentric coordinates 2 Outline
More information14.6 Directional Derivatives and the Gradient Vector
14 Partial Derivatives 14.6 and the Gradient Vector Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. and the Gradient Vector In this section we introduce
More informationMidterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer
Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You
More informationLagrange Multipliers. Lagrange Multipliers. Lagrange Multipliers. Lagrange Multipliers. Lagrange Multipliers. Lagrange Multipliers
In this section we present Lagrange s method for maximizing or minimizing a general function f(x, y, z) subject to a constraint (or side condition) of the form g(x, y, z) = k. Figure 1 shows this curve
More informationImplicit Surfaces & Solid Representations COS 426
Implicit Surfaces & Solid Representations COS 426 3D Object Representations Desirable properties of an object representation Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient
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 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 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 informationIntersecting Simple Surfaces. Dr. Scott Schaefer
Intersecting Simple Surfaces Dr. Scott Schaefer 1 Types of Surfaces Infinite Planes Polygons Convex Ray Shooting Winding Number Spheres Cylinders 2/66 Infinite Planes Defined by a unit normal n and a point
More informationSecond degree equations - quadratics. nonparametric: x 2 + y 2 + z 2 = r 2
walters@buffalo.edu CSE 480/580 Lecture 20 Slide 1 Three Dimensional Representations Quadric Surfaces Superquadrics Sweep Representations Constructive Solid Geometry Octrees Quadric Surfaces Second degree
More information1 EquationsofLinesandPlanesin 3-D
1 EquationsofLinesandPlanesin 3-D Recall that given a point P (a, b, c), one can draw a vector from the origin to P. Such a vector is called the position vector of the point P and its coordinates are a,
More information9. Visible-Surface Detection Methods
9. Visible-Surface Detection Methods More information about Modelling and Perspective Viewing: Before going to visible surface detection, we first review and discuss the followings: 1. Modelling Transformation:
More informationAnswer Key: Three-Dimensional Cross Sections
Geometry A Unit Answer Key: Three-Dimensional Cross Sections Name Date Objectives In this lesson, you will: visualize three-dimensional objects from different perspectives be able to create a projection
More informationIntro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves
More informationIllumination Models III: Ray Tracing (View Dependent Global Illumination)
Illumination Models III: Ray Tracing (View Dependent Global Illumination) The University of Texas at Austin 1 Basic Definitions Ray Tracing/Casting: Setting: eyepoint, virtual screen (an array of virtual
More informationHomework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves
Computer Graphics Instructor: Brian Curless CSE 457 Spring 2013 Homework #2 Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves Assigned: Sunday, May 12 th Due: Thursday,
More informationPolygon Meshes and Implicit Surfaces
CSCI 420 Computer Graphics Lecture 9 Polygon Meshes and Implicit Surfaces Polygon Meshes Implicit Surfaces Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California 1 Modeling
More informationPolygon Meshes and Implicit Surfaces
CSCI 420 Computer Graphics Lecture 9 and Constructive Solid Geometry [Angel Ch. 10] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible, but how
More informationSung-Eui Yoon ( 윤성의 )
CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and
More informationds dt ds 1 dt 1 dt v v v dt ds and the normal vector is given by N
Normal Vectors and Curvature In the last section, we stated that reparameterization by arc length would help us analyze the twisting and turning of a curve. In this section, we ll see precisely how to
More informationAdvanced 3D-Data Structures
Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different
More informationwhile its direction is given by the right hand rule: point fingers of the right hand in a 1 a 2 a 3 b 1 b 2 b 3 A B = det i j k
I.f Tangent Planes and Normal Lines Again we begin by: Recall: (1) Given two vectors A = a 1 i + a 2 j + a 3 k, B = b 1 i + b 2 j + b 3 k then A B is a vector perpendicular to both A and B. Then length
More informationQuestions??? Announcements Assignment 3 due today
Announcements Assignment 3 due today Questions??? Remember that you have late days (if you haven t used them yet ) Problem set 3 out at the end of the day Movie for Assignment 2 at the end of class 1 Ray
More informationRay Tracing. Foley & Van Dam, Chapters 15 and 16
Ray Tracing Foley & Van Dam, Chapters 15 and 16 Ray Tracing Visible Surface Ray Tracing (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Ray Tracing Determine visibility
More informationRay Tracing Foley & Van Dam, Chapters 15 and 16
Foley & Van Dam, Chapters 15 and 16 (Ray Casting) Examples Efficiency Issues Computing Boolean Set Operations Recursive Determine visibility of a surface by tracing rays of light from the viewer s eye
More informationImplicit Generalized Cylinders using Profile Curves
Implicit Generalized Cylinders using Profile Curves Cindy M. Grimm Presentation by: Miranda Steed Previous Work Traditional definitions using cross sections most suited to CAD/CAM modeling Profile curve
More informationCurves and Surface I. Angel Ch.10
Curves and Surface I Angel Ch.10 Representation of Curves and Surfaces Piece-wise linear representation is inefficient - line segments to approximate curve - polygon mesh to approximate surfaces - can
More information11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 7 and Constructive Solid Geometry [Angel Ch. 12.1-12.3] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible,
More informationShape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include
Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and
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 informationRay Casting. 3D Rendering. Ray Casting. Ray Casting. Ray Casting. Ray Casting
Rendering Ray asting The color of each pixel on the view plane depends on the radiance emanating from visible surfaces dam inkelstein rinceton University OS 6, Spring 00 Simplest method is ray casting
More informationCS 536 Computer Graphics Intro to Curves Week 1, Lecture 2
CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves
More informationThe goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a
The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with
More informationAn introduction to interpolation and splines
An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve
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 informationRay tracing idea. Ray Tracing. Ray tracing algorithm. Plane projection in drawing. CS 465 Lecture 3
Ray tracing idea Ray Tracing CS 465 Lecture 3 2007 Doug James 1 2007 Doug James 2 Ray tracing algorithm Plane projection in drawing for each pixel { compute viewing ray intersect ray with scene compute
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 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 informationCentral issues in modelling
Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to
More informationFrom Vertices To Fragments-1
From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
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 informationEquation of tangent plane: for implicitly defined surfaces section 12.9
Equation of tangent plane: for implicitly defined surfaces section 12.9 Some surfaces are defined implicitly, such as the sphere x 2 + y 2 + z 2 = 1. In general an implicitly defined surface has the equation
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 informationRay Tracing COMP575/COMP770
Ray Tracing COMP575/COMP770 1 Ray tracing idea 2 Ray Tracing: Example (from [Whitted80]) Ray Tracing: Example Ray Tracing for Highly Realistic Images Volkswagen Beetle with correct shadows and (multi-)reflections
More informationReading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:
Reading Required: Angel readings for Parametric Curves lecture, with emphasis on 11.1.2, 11.1.3, 11.1.5, 11.6.2, 11.7.3, 11.9.4. Parametric surfaces Optional Bartels, Beatty, and Barsky. An Introduction
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 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 informationMath 366 Lecture Notes Section 11.4 Geometry in Three Dimensions
Math 366 Lecture Notes Section 11.4 Geometry in Three Dimensions Simple Closed Surfaces A simple closed surface has exactly one interior, no holes, and is hollow. A sphere is the set of all points at a
More informationCMSC427 Final Practice v2 Fall 2017
CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions
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 informationHidden Surface Elimination: BSP trees
Hidden Surface Elimination: BSP trees Outline Binary space partition (BSP) trees Polygon-aligned 1 BSP Trees Basic idea: Preprocess geometric primitives in scene to build a spatial data structure such
More informationCS 4620 Final Exam. (a) Is a circle C 0 continuous?
CS 4620 Final Exam Wednesday 9, December 2009 2 1 2 hours Prof. Doug James Explain your reasoning for full credit. You are permitted a double-sided sheet of notes. Calculators are allowed but unnecessary.
More informationGeometric Modeling Mortenson Chapter 11. Complex Model Construction
Geometric Modeling 91.580.201 Mortenson Chapter 11 Complex Model Construction Topics Topology of Models Connectivity and other intrinsic properties Graph-Based Models Emphasize topological structure Boolean
More informationMulti-level Partition of Unity Implicits
Multi-level Partition of Unity Implicits Diego Salume October 23 rd, 2013 Author: Ohtake, et.al. Overview Goal: Use multi-level partition of unity (MPU) implicit surface to construct surface models. 3
More informationMeasuring Lengths The First Fundamental Form
Differential Geometry Lia Vas Measuring Lengths The First Fundamental Form Patching up the Coordinate Patches. Recall that a proper coordinate patch of a surface is given by parametric equations x = (x(u,
More informationWhat you will learn today
What you will learn today Tangent Planes and Linear Approximation and the Gradient Vector Vector Functions 1/21 Recall in one-variable calculus, as we zoom in toward a point on a curve, the graph becomes
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) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie
More informationTNM079 Modeling & Animation Lecture 6 (Implicit surfaces)
TNM079 Modeling & Animation Lecture 6 (Implicit surfaces) Mark Eric Dieckmann, Media and Information Technology, ITN Linköpings universitet Campus Norrköping SE-60174 Norrköping May 4, 2016 Content of
More informationClipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling
Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,
More informationQuadric Surfaces. Philippe B. Laval. Spring 2012 KSU. Philippe B. Laval (KSU) Quadric Surfaces Spring /
.... Quadric Surfaces Philippe B. Laval KSU Spring 2012 Philippe B. Laval (KSU) Quadric Surfaces Spring 2012 1 / 15 Introduction A quadric surface is the graph of a second degree equation in three variables.
More informationCulling. Computer Graphics CSE 167 Lecture 12
Culling Computer Graphics CSE 167 Lecture 12 CSE 167: Computer graphics Culling Definition: selecting from a large quantity In computer graphics: selecting primitives (or batches of primitives) that are
More informationWerner Purgathofer
Einführung in Visual Computing 186.822 Visible Surface Detection Werner Purgathofer Visibility in the Rendering Pipeline scene objects in object space object capture/creation ti modeling viewing projection
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 informationPractice problems from old exams for math 233
Practice problems from old exams for math 233 William H. Meeks III October 26, 2012 Disclaimer: Your instructor covers far more materials that we can possibly fit into a four/five questions exams. These
More informationCS3621 Midterm Solution (Fall 2005) 150 points
CS362 Midterm Solution Fall 25. Geometric Transformation CS362 Midterm Solution (Fall 25) 5 points (a) [5 points] Find the 2D transformation matrix for the reflection about the y-axis transformation (i.e.,
More informationPoint Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology
Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,
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 informationNotes on Spherical Geometry
Notes on Spherical Geometry Abhijit Champanerkar College of Staten Island & The Graduate Center, CUNY Spring 2018 1. Vectors and planes in R 3 To review vector, dot and cross products, lines and planes
More information