TNM079 Modeling & Animation Lecture 6 (Implicit surfaces)

Size: px
Start display at page:

Download "TNM079 Modeling & Animation Lecture 6 (Implicit surfaces)"

Transcription

1 TNM079 Modeling & Animation Lecture 6 (Implicit surfaces) Mark Eric Dieckmann, Media and Information Technology, ITN Linköpings universitet Campus Norrköping SE Norrköping May 4, 2016

2 Content of the sixth lecture We have previously discussed explicit surface definitions: Polygonal meshes: represented by polygons. Subdivision surfaces: represented by polynomial patches. Here we discuss implicit surfaces and topics like: Boolean operations for implicit surfaces. Density functions. Quadric surfaces in local and world coordinate systems. Ray intersections for quadrics.

3 Implicit surfaces Consider a scalar field that is defined in a 3D cartesian space F (x, y, z). Every position vector x = (x, y, z) is connected to a scalar value, e.g. temperature, density etc. ( ) Left: F (x, y, z) = 1 8 (x 0.5) 2 + 2(y 0.5) 2 + (z 0.5) 2 /2 Implicit surfaces are defined by a constraint F ( x) = c. Right: c = 0.

4 Aspects of implicit surfaces In what follows we consider the zero-contour F ( x) = 0: The zero-contour separates the exterior with F ( x) > 0 from the interior with F ( x) < 0 (standard convention). Implicit surfaces are closed: they have no holes. Implicit surfaces are manifold surfaces (no (self-)intersections). Implicit surfaces can be defined straightforwardly only for relatively simple shapes (primitives). Implicit surfaces can be combined by boolean operations. Boolean operations are union, intersection and difference.

5 Normal and signed distance function The gradient F ( x) of the scalar function F ( x) at x F ( x) = e x x F ( x) + e y y F ( x) + e z z F ( x). points along the normal and along increasing values of F ( x). The surface normal is n = F ( x)/ F ( x). Eikonal equation: The gradient of the function F ( x) = 1 everywhere. F ( x) gives us in this case the distance of the point x from the implicit surface F ( x) = 0. The Eikonal equation will turn out to be important in particular when we start moving the zero-countour F ( x) = 0.

6 Quadric surfaces We have previously discussed polynomial (spline) surfaces. For now we don t need deformable surfaces and we don t use splines. Quadric surfaces are polynomials that are used for implicit surfaces. As the name says, they are built upon quadratic polynomials in x, y, z. These polynomials contain terms x, x 2, y, y 2 and z, z 2 and involve also mixed terms and one constant: F (x, y, z) = Ax 2 +2Bxy +2Cxz +2Dx +Ey 2 +2Fyz +2Gy +Hz 2 +2Iz +J. The implicit surface is the zero-contour F (x, y, z) = 0.

7 Examples of quadric surfaces Many quadric surfaces F ( x) = 0 exist with: F (x, y, z) = Ax 2 +2Bxy +2Cxz +2Dx +Ey 2 +2Fyz +2Gy +Hz 2 +2Iz +J A complete overview is given on: We discuss a few of them. We can model an infinite plane by setting A = B = C = E = F = H = 0. F (x, y, z) = 2Dx + 2Gy + 2Iz + J = 0 or (D, G, I )(x, y, z) t + J/2 = 0. This is the equation of a plane with the normal (D, G, I ) and where a point on the plane fulfills (D, G, I )(x 0, y 0, z 0 ) t = J/2.

8 Examples of quadric surfaces Infinite cylinder: B = C = D = F = G = H = I = 0. F (x, y, z) = Ax 2 + Ey 2 + J = 0 or Ax 2 + Ey 2 = J. You recover the equation for an axis-symmetric cylinder by setting A = E and by taking a radius r with J = Ar 2 : x 2 + y 2 = r 2. Ellipsoid: B = C = D = F = G = I = 0. F (x, y, z) = Ax 2 + Ey 2 + Hz 2 + J = 0. Special case: A = E = H and J = Ar 2 : Sphere: x 2 + y 2 + z 2 = r 2. Double cone: B = C = D = F = G = I = J = 0 F (x, y, z) = Ax 2 + Ey 2 Hz 2 = 0. Example: A = E = H: x 2 + y 2 = z 2 resembles the equation of the infinite cylinder but the radius is r = z.

9 Quadratic form The quadric surface is F (x, y, z) = Ax 2 + Bxy + Cxz + Dx + Bxy + Ey 2 + Fyz + Gy + Cxz + Fyz + Hz 2 + Iz + Dx + Gy + Iz + J which we transform with the vertex x = (x, y, z, 1) into the quadratic form A B C D x F (x, y, z) = (x, y, z, 1) B E F G y C F H I z D G I J 1

10 Normals of quadric surfaces The surface of a quadric can be expressed with F (x, y, z) = 0 as: A B C D x F (x, y, z) = (x, y, z, 1) B E F G y C F H I z D G I J 1 This is a quadratic form F (x, y, z) = xq x t. Ideally we would also like to express the gradient (normal) n = such a form. The gradient of the implicit surface F (x, y, z) is computed as F (x, y, z) = ( x F (x, y, z), y F (x, y, z), z F (x, y, z)). F F in

11 Normals of quadric surfaces The normal direction of an implicit surface is given by F (x, y, z) = ( x F (x, y, z), y F (x, y, z), z F (x, y, z)). The implicit surface is defined by F (x, y, z) = Ax 2 +2Bxy +2Cxz +2Dx +Ey 2 +2Fyz +2Gy +Hz 2 +2Iz +J. Ax + By + Cz + D F (x, y, z) = 2 Bx + Ey + Fz + G = Cx + Fy + Hz + I x A B C D = 2 B E F G y z C F H I 1

12 Affine transforms of quadric surfaces The implicit surface can be expressed in the quadratic form F (x, y, z) = xq x t = 0 in the local system. The quadric is defined in its local coordinate system. We can transform a vertex x into the world system through x t = M x t. The world coordinate is then related to the local one via x t = M 1 x t and the quadratic form becomes: F (x, y, z) = ( M 1 x t) t Q ( M 1 x t) = x ˆQ x t. The transformed matrix is ˆQ = M 1t Q M 1.

13 Ray intersections for quadrics The implicit surface is defined in in the world system is x ˆQ x t. Let a ray start at the vertex x 0 and go into the direction r. Its equation is x (t) = x 0 + t r with t 0. We convert x (t) into homogeneous coordinates and substitute it into the function x ˆQ x t. We get a quadratic equation for t. Three possibilities exist: No intersection: complex solutions for t. One (two) intersection(s): Two equal (different) real solutions for t.

14 Boolean operations One implicit surface F ( x) = 0 is not enough to model complicated objects. We can merge multiple surfaces or obtain new ones with the help of the Boolean operators union, intersection and difference. These operators combine the functions and the surface is defined by this new function. The symbols for these operations are: Union, Intersection and difference. The expression max(f 1, F 2 ) selects at each point x the larger value of F 1 ( x) or F 2 (x). The expression min(f 1, F 2 ) selects at each point x the smaller value of F 1 ( x) or F 2 (x).

15 Union operator We apply the union operator to the two objects A and B with perimeters defined by F A ( x) = 0 and F B ( x) = 0. F < 0 A F < 0 B A B The new function is defined by F A B = min(f A, F B ). The perimeter enwrapping F A B = 0 is drawn in black.

16 Intersection operator We apply the intersection operator to the two objects A and B with perimeters defined by F A ( x) = 0 and F B ( x) = 0. F < 0 A F < 0 B A B The new function is defined by F A B = max(f A, F B ). The perimeter F A B = 0 is drawn in black.

17 Difference operator We apply the difference operator to the two objects A and B with perimeters defined by F A ( x) = 0 and F B ( x) = 0. F < 0 A F < 0 B A B The new function is defined by F A B = max(f A, F B ). The perimeter F A B = 0 is drawn in black.

18 Problems with Boolean operations Consider the objects A and B (left) and the one from their union. The perimeters are defined by F A ( x) = 0, F B ( x) = 0 and F A B = 0. A A B B The perimeters are reproduced correctly, but F A B is no longer a signed distance function (gradient condition not fulfilled).

19 Problems with Boolean operations Typically implicit surfaces are smooth, for example because they are higher order polynomials. Shading A and B separately would give smooth shades. A B Cusp The surface defined by the union A B has a cusp. Typically the surface is only C 0 (continuous) along the intersection curve.

20 Density functions ( fuzzy objects) Pick a smooth density function D(F ( x)) with: D(F ( x)) > 1 if x is inside the surface. D(F ( x)) = 1 if x is on the surface. D(F ( x)) ɛ [0, 1[ if x is outside the surface. Negative inside convention A = { x ɛ R 3 F A ( x) 0 }. The signed distance function is mapped to a density function as D A (F A ( x)) = exp ( F A ( x)). We define an exact Boolean according to: D A B = max(d A, D B ) = lim p (D p A + Dp B )1/p. D A B = min(d A, D B ) = lim p (D p A + Dp B )1/p. At small p an approximate Boolean is obtained.

21 Super-elliptic blends The approximate Booleans permit us to obtain smooth connections between implicit surfaces. 0<D(x)<1 D(x) = 1 D(x) > 1 The contour D A B ( x) = (D p A + Dp B )1/p = 1 will smoothly connect both objects (blue curve). Problem: The visual appearance of the merged objects can not be controlled intuitively.

22 Summary Implicit surfaces have been presented as an alternative to polygonal meshes and subdivision surfaces. We have discussed the signed distance function as a means to define a surface. Quadric surfaces have been discussed, as well as how we can render and transform them. Complicated implicit surfaces can be generated by combining elementary ones with the help of Boolean operations. Problems appear related to the signed distance function and the surface smoothness. Smoothness can be achieved through density functions, e.g. super-elliptic blends.

Chapter 15: Functions of Several Variables

Chapter 15: Functions of Several Variables Chapter 15: Functions of Several Variables Section 15.1 Elementary Examples a. Notation: Two Variables b. Example c. Notation: Three Variables d. Functions of Several Variables e. Examples from the Sciences

More information

Surfaces. Ron Goldman Department of Computer Science Rice University

Surfaces. 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 information

Sung-Eui Yoon ( 윤성의 )

Sung-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 information

Geometric Queries for Ray Tracing

Geometric 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 information

Quadric Surfaces. Philippe B. Laval. Today KSU. Philippe B. Laval (KSU) Quadric Surfaces Today 1 / 24

Quadric Surfaces. Philippe B. Laval. Today KSU. Philippe B. Laval (KSU) Quadric Surfaces Today 1 / 24 Quadric Surfaces Philippe B. Laval KSU Today Philippe B. Laval (KSU) Quadric Surfaces Today 1 / 24 Introduction A quadric surface is the graph of a second degree equation in three variables. The general

More information

Quadric Surfaces. Philippe B. Laval. Spring 2012 KSU. Philippe B. Laval (KSU) Quadric Surfaces Spring /

Quadric 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 information

Multi-level Partition of Unity Implicits

Multi-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 information

Computer Graphics Ray Casting. Matthias Teschner

Computer 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 information

Ray Tracer I: Ray Casting Due date: 12:00pm December 3, 2001

Ray 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 information

Images from 3D Creative Magazine. 3D Modelling Systems

Images from 3D Creative Magazine. 3D Modelling Systems Images from 3D Creative Magazine 3D Modelling Systems Contents Reference & Accuracy 3D Primitives Transforms Move (Translate) Rotate Scale Mirror Align 3D Booleans Deforms Bend Taper Skew Twist Squash

More information

Intersecting Simple Surfaces. Dr. Scott Schaefer

Intersecting 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 information

8.1 Geometric Queries for Ray Tracing

8.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 information

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Homework #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 information

Lecture 11. More Ray Casting/Tracing

Lecture 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 information

4 = 1 which is an ellipse of major axis 2 and minor axis 2. Try the plane z = y2

4 = 1 which is an ellipse of major axis 2 and minor axis 2. Try the plane z = y2 12.6 Quadrics and Cylinder Surfaces: Example: What is y = x? More correctly what is {(x,y,z) R 3 : y = x}? It s a plane. What about y =? Its a cylinder surface. What about y z = Again a cylinder surface

More information

Geometric Representations. Stelian Coros

Geometric Representations. Stelian Coros Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric

More information

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

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

Implicit Surfaces & Solid Representations COS 426

Implicit 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 information

Section 12.2: Quadric Surfaces

Section 12.2: Quadric Surfaces Section 12.2: Quadric Surfaces Goals: 1. To recognize and write equations of quadric surfaces 2. To graph quadric surfaces by hand Definitions: 1. A quadric surface is the three-dimensional graph of an

More information

Fog and Cloud Effects. Karl Smeltzer Alice Cao John Comstock

Fog and Cloud Effects. Karl Smeltzer Alice Cao John Comstock Fog and Cloud Effects Karl Smeltzer Alice Cao John Comstock Goal Explore methods of rendering scenes containing fog or cloud-like effects through a variety of different techniques Atmospheric effects make

More information

Surface and Solid Geometry. 3D Polygons

Surface and Solid Geometry. 3D Polygons Surface and Solid Geometry D olygons Once we know our plane equation: Ax + By + Cz + D = 0, we still need to manage the truncation which leads to the polygon itself Functionally, we will need to do this

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves 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 information

Chapter 4-3D Modeling

Chapter 4-3D Modeling Chapter 4-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering

More information

Solid Modeling. Ron Goldman Department of Computer Science Rice University

Solid Modeling. Ron Goldman Department of Computer Science Rice University Solid Modeling Ron Goldman Department of Computer Science Rice University Solids Definition 1. A model which has a well defined inside and outside. 2. For each point, we can in principle determine whether

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Section 2.5. Functions and Surfaces

Section 2.5. Functions and Surfaces Section 2.5. Functions and Surfaces ² Brief review for one variable functions and curves: A (one variable) function is rule that assigns to each member x in a subset D in R 1 a unique real number denoted

More information

9. Three Dimensional Object Representations

9. 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 information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

IMAGE-BASED RENDERING

IMAGE-BASED RENDERING IMAGE-BASED RENDERING 1. What is Image-Based Rendering? - The synthesis of new views of a scene from pre-recorded pictures.!"$#% "'&( )*+,-/.). #0 1 ' 2"&43+5+, 2. Why? (1) We really enjoy visual magic!

More information

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

11/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 information

Ray casting. Ray casting/ray tracing

Ray 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 information

Polygon Meshes and Implicit Surfaces

Polygon 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 information

Polygon Meshes and Implicit Surfaces

Polygon 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 information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC 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 information

Algebra II Quadratic Functions

Algebra II Quadratic Functions 1 Algebra II Quadratic Functions 2014-10-14 www.njctl.org 2 Ta b le o f C o n te n t Key Terms click on the topic to go to that section Explain Characteristics of Quadratic Functions Combining Transformations

More information

Properties of Quadratic functions

Properties of Quadratic functions Name Today s Learning Goals: #1 How do we determine the axis of symmetry and vertex of a quadratic function? Properties of Quadratic functions Date 5-1 Properties of a Quadratic Function A quadratic equation

More information

12.6 Cylinders and Quadric Surfaces

12.6 Cylinders and Quadric Surfaces 12 Vectors and the Geometry of Space 12.6 and Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. and We have already looked at two special types of surfaces:

More information

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

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

UNIT 3 EXPRESSIONS AND EQUATIONS Lesson 3: Creating Quadratic Equations in Two or More Variables

UNIT 3 EXPRESSIONS AND EQUATIONS Lesson 3: Creating Quadratic Equations in Two or More Variables Guided Practice Example 1 Find the y-intercept and vertex of the function f(x) = 2x 2 + x + 3. Determine whether the vertex is a minimum or maximum point on the graph. 1. Determine the y-intercept. The

More information

CS770/870 Spring 2017 Ray Tracing Implementation

CS770/870 Spring 2017 Ray Tracing Implementation 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

More information

3D Rendering and Ray Casting

3D 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 information

Curves and Surface I. Angel Ch.10

Curves 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 information

Projective spaces and Bézout s theorem

Projective spaces and Bézout s theorem Projective spaces and Bézout s theorem êaû{0 Mijia Lai 5 \ laimijia@sjtu.edu.cn Outline 1. History 2. Projective spaces 3. Conics and cubics 4. Bézout s theorem and the resultant 5. Cayley-Bacharach theorem

More information

CSC418 / CSCD18 / CSC2504

CSC418 / 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 information

5.1 Introduction to the Graphs of Polynomials

5.1 Introduction to the Graphs of Polynomials Math 3201 5.1 Introduction to the Graphs of Polynomials In Math 1201/2201, we examined three types of polynomial functions: Constant Function - horizontal line such as y = 2 Linear Function - sloped line,

More information

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural Polygon Tables We specify a polygon surface with a set of vertex coordinates and associated attribute

More information

Geometric Primitives. Chapter 5

Geometric Primitives. Chapter 5 Chapter 5 Geometric Primitives In this chapter, we discuss the basic geometric primitives we will use to represent the world in which our graphic objects live. As discussed at the beginning of this class,

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations Multimedia Systems 03 Vector Graphics 2D and 3D Graphics, Transformations Imran Ihsan Assistant Professor, Department of Computer Science Air University, Islamabad, Pakistan www.imranihsan.com Lectures

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd Curves and Surfaces Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/11/2007 Final projects Surface representations Smooth curves Subdivision Todays Topics 2 Final Project Requirements

More information

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Ray Tracing. CS334 Fall Daniel G. Aliaga Department of Computer Science Purdue University Ray Tracing CS334 Fall 2013 Daniel G. Aliaga Department of Computer Science Purdue University Ray Casting and Ray Tracing Ray Casting Arthur Appel, started around 1968 Ray Tracing Turner Whitted, started

More information

Solid models and fractals

Solid models and fractals Solid models and fractals COM3404 Richard Everson School of Engineering, Computer Science and Mathematics University of Exeter R.M.Everson@exeter.ac.uk http://www.secamlocal.ex.ac.uk/studyres/com304 Richard

More information

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018 CS354 Computer Graphics Surface Representation IV Qixing Huang March 7th 2018 Today s Topic Subdivision surfaces Implicit surface representation Subdivision Surfaces Building complex models We can extend

More information

Projective geometry for Computer Vision

Projective geometry for Computer Vision Department of Computer Science and Engineering IIT Delhi NIT, Rourkela March 27, 2010 Overview Pin-hole camera Why projective geometry? Reconstruction Computer vision geometry: main problems Correspondence

More information

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

More information

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

3D Rendering and Ray Casting

3D 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 information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

CPSC GLOBAL ILLUMINATION

CPSC GLOBAL ILLUMINATION CPSC 314 21 GLOBAL ILLUMINATION Textbook: 20 UGRAD.CS.UBC.CA/~CS314 Mikhail Bessmeltsev ILLUMINATION MODELS/ALGORITHMS Local illumination - Fast Ignore real physics, approximate the look Interaction of

More information

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

Lecture overview. Visualisatie BMT. Vector algorithms. Vector algorithms. Time animation. Time animation Visualisatie BMT Lecture overview Vector algorithms Tensor algorithms Modeling algorithms Algorithms - 2 Arjan Kok a.j.f.kok@tue.nl 1 2 Vector algorithms Vector 2 or 3 dimensional representation of direction

More information

Central issues in modelling

Central 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 information

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Topic 12: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Cylinders and Quadric Surfaces A cylinder is a three dimensional shape that is determined by

Cylinders and Quadric Surfaces A cylinder is a three dimensional shape that is determined by Cylinders and Quadric Surfaces A cylinder is a three dimensional shape that is determined by a two dimensional (plane) curve C in three dimensional space a line L in a plane not parallel to the one in

More information

Object representation

Object representation Object representation Geri s Game Pixar 1997 Subdivision surfaces Polhemus 3d scan Over 700 controls 2 Computer Graphics Quick test #1 Describe the picture Graphical systems, visualization and multimedia

More information

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

The University of Calgary

The University of Calgary The University of Calgary Department of Computer Science Final Examination, Questions ENEL/CPSC 555 Computer Graphics Time: 2 Hours Closed Book, calculators are permitted. The questions carry equal weight.

More information

Curves, Tangent Planes, and Differentials ( ) Feb. 26, 2012 (Sun) Lecture 9. Partial Derivatives: Signs on Level Curves, Tangent

Curves, Tangent Planes, and Differentials ( ) Feb. 26, 2012 (Sun) Lecture 9. Partial Derivatives: Signs on Level Curves, Tangent Lecture 9. Partial Derivatives: Signs on Level Curves, Tangent Planes, and Differentials ( 11.3-11.4) Feb. 26, 2012 (Sun) Signs of Partial Derivatives on Level Curves Level curves are shown for a function

More information

form. We will see that the parametric form is the most common representation of the curve which is used in most of these cases.

form. We will see that the parametric form is the most common representation of the curve which is used in most of these cases. Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 36 Curve Representation Welcome everybody to the lectures on computer graphics.

More information

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

More information

3.2 THREE DIMENSIONAL OBJECT REPRESENTATIONS

3.2 THREE DIMENSIONAL OBJECT REPRESENTATIONS 3.1 THREE DIMENSIONAL CONCEPTS We can rotate an object about an axis with any spatial orientation in threedimensional space. Two-dimensional rotations, on the other hand, are always around an axis that

More information

Quadric Surfaces. Six basic types of quadric surfaces: ellipsoid. cone. elliptic paraboloid. hyperboloid of one sheet. hyperboloid of two sheets

Quadric Surfaces. Six basic types of quadric surfaces: ellipsoid. cone. elliptic paraboloid. hyperboloid of one sheet. hyperboloid of two sheets Quadric Surfaces Six basic types of quadric surfaces: ellipsoid cone elliptic paraboloid hyperboloid of one sheet hyperboloid of two sheets hyperbolic paraboloid (A) (B) (C) (D) (E) (F) 1. For each surface,

More information

Modeling 3D Objects: Part 2

Modeling 3D Objects: Part 2 Modeling 3D Objects: Part 2 Patches, NURBS, Solids Modeling, Spatial Subdivisioning, and Implicit Functions 3D Computer Graphics by Alan Watt Third Edition, Pearson Education Limited, 2000 General Modeling

More information

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Texture sources: Photographs Texture sources: Procedural Texture sources: Solid textures

More information

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri Curves and Surfaces CS475 / 675, Fall 26 Siddhartha Chaudhuri Klein bottle: surface, no edges (Möbius strip: Inductiveload@Wikipedia) Möbius strip: surface, edge Curves and Surfaces Curve: D set Surface:

More information

Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry. Computer Graphics CMU /15-662 Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

More information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources.

So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. 11 11.1 Basics So far, we have considered only local models of illumination; they only account for incident light coming directly from the light sources. Global models include incident light that arrives

More information

1999, Denis Zorin. Ray tracing

1999, 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 information

Contours & Implicit Modelling 4

Contours & Implicit Modelling 4 Brief Recap Contouring & Implicit Modelling Contouring Implicit Functions Visualisation Lecture 8 lecture 6 Marching Cubes lecture 3 visualisation of a Quadric toby.breckon@ed.ac.uk Computer Vision Lab.

More information

Trimmed Surfaces Maya 2013

Trimmed Surfaces Maya 2013 2000-2013 Michael O'Rourke Trimmed Surfaces Maya 2013 Concepts Trimming works only on patches (in Maya, this means NURBS patches) Does not work with polygonal models A trim can look similar to a Boolean

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

Curves and Surfaces Computer Graphics I Lecture 9

Curves 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 information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

Dgp _ lecture 2. Curves

Dgp _ lecture 2. Curves Dgp _ lecture 2 Curves Questions? This lecture will be asking questions about curves, their Relationship to surfaces, and how they are used and controlled. Topics of discussion will be: Free form Curves

More information

Shape 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 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 information

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural Topic 11: Texture Mapping Motivation Sources of texture Texture coordinates Bump mapping, mip mapping & env mapping Topic 11: Photographs Texture Mapping Motivation Sources of texture Texture coordinates

More information

Easy modeling generate new shapes by deforming existing ones

Easy modeling generate new shapes by deforming existing ones Deformation I Deformation Motivation Easy modeling generate new shapes by deforming existing ones Motivation Easy modeling generate new shapes by deforming existing ones Motivation Character posing for

More information

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips Image Morphing Image Morphing Image Morphing Image Morphing The user is responsible for defining correspondences between features Very popular technique since Michael Jackson s clips Morphing Coordinate

More information

The 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 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 information

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

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. Solid Modeling Michael Kazhdan (601.457/657) HB 10.15 10.17, 10.22 FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. 1987 Announcement OpenGL review session: When: Today @ 9:00 PM Where: Malone

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

Spatial Data Structures

Spatial 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 information

Computer Graphics and Image Processing Ray Tracing I

Computer Graphics and Image Processing Ray Tracing I Computer Graphics and Image Processing Ray Tracing I Part 1 Lecture 9 1 Today s Outline Introduction to Ray Tracing Ray Casting Intersecting Rays with Primitives Intersecting Rays with Transformed Primitives

More information

Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

Outline. Solid models and fractals. Constructive solid geometry. Constructive solid geometry COM3404. Richard Everson

Outline. Solid models and fractals. Constructive solid geometry. Constructive solid geometry COM3404. Richard Everson Outline Solid models and fractals COM School of Engineering, Computer Science and Mathematics University of Exeter Constructive solid geometry Fractals Dimension s Landscape generation L-systems R.M.Everson@exeter.ac.uk

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information