Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?



Similar documents
Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Geometric Modelling & Curves

(Refer Slide Time: 1:42)

H.Calculating Normal Vectors

CHAPTER 1 Splines and B-splines an Introduction

Essential Mathematics for Computer Graphics fast

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

the points are called control points approximating curve

Section 12.6: Directional Derivatives and the Gradient Vector

BEZIER CURVES AND SURFACES

Computer Aided Design (CAD)

The Essentials of CAGD

(a) We have x = 3 + 2t, y = 2 t, z = 6 so solving for t we get the symmetric equations. x 3 2. = 2 y, z = 6. t 2 2t + 1 = 0,

Introduction to Algebraic Geometry. Bézout s Theorem and Inflection Points

Figure 2.1: Center of mass of four points.

Dhiren Bhatia Carnegie Mellon University

Math 241, Exam 1 Information.

How To Use Design Mentor

Computer Aided Design (CAD)

42 CHAPTER 1. VECTORS AND THE GEOMETRY OF SPACE. Figure 1.18: Parabola y = 2x Brief review of Conic Sections

Two vectors are equal if they have the same length and direction. They do not

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS

Computer Animation: Art, Science and Criticism

Modeling Curves and Surfaces

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

Solutions to old Exam 1 problems

FINAL EXAM SOLUTIONS Math 21a, Spring 03

Exam 1 Sample Question SOLUTIONS. y = 2x

Solving Simultaneous Equations and Matrices

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

GRADES 7, 8, AND 9 BIG IDEAS

DERIVATIVES AS MATRICES; CHAIN RULE

Name Class. Date Section. Test Form A Chapter 11. Chapter 11 Test Bank 155

Topics in Computer Graphics Chap 14: Tensor Product Patches

A vector is a directed line segment used to represent a vector quantity.

TEXTURE AND BUMP MAPPING

Solutions for Review Problems

4.3 Lagrange Approximation

Indicator 2: Use a variety of algebraic concepts and methods to solve equations and inequalities.

Fundamental Theorems of Vector Calculus

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

2013 MBA Jump Start Program

1. Abstract 2. Introduction 3. Algorithms and Techniques

Equations of Lines and Planes

Intersection of a Line and a Convex. Hull of Points Cloud

MATH 304 Linear Algebra Lecture 9: Subspaces of vector spaces (continued). Span. Spanning set.

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Microeconomic Theory: Basic Math Concepts

Volumes of Revolution

Section 13.5 Equations of Lines and Planes

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Practical Grid Generation Tools with Applications to Ship Hydrodynamics

Solution of Linear Systems

Finite Element Formulation for Plates - Handout 3 -

8. Linear least-squares

Introduction to Computer Graphics

Chapter 13. Curves and Surfaces

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Section 1.1. Introduction to R n

Surface Normals and Tangent Planes

Dual Marching Cubes: Primal Contouring of Dual Grids

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

GeoGebra. 10 lessons. Gerrit Stols

An Overview of the Finite Element Analysis

13.4 THE CROSS PRODUCT

Abstract. These two vectors define a plane tangent to the surface at that point. Their cross product is Recent work in computer graphics has been

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

Algebra Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

What are the place values to the left of the decimal point and their associated powers of ten?

If Σ is an oriented surface bounded by a curve C, then the orientation of Σ induces an orientation for C, based on the Right-Hand-Rule.

Parametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 8, 2015

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

A Short Introduction to Computer Graphics

Activity Set 4. Trainer Guide

In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.

Biggar High School Mathematics Department. National 5 Learning Intentions & Success Criteria: Assessing My Progress

FURTHER VECTORS (MEI)

Lecture 2: Homogeneous Coordinates, Lines and Conics

Selective Degree Elevation for Multi-Sided Bézier Patches

Planar Curve Intersection

Systems of Linear Equations

Section 3.2 Polynomial Functions and Their Graphs

A Geometric Characterization of Parametric Cubic Curves

Determine whether the following lines intersect, are parallel, or skew. L 1 : x = 6t y = 1 + 9t z = 3t. x = 1 + 2s y = 4 3s z = s

Level Set Framework, Signed Distance Function, and Various Tools

Largest Fixed-Aspect, Axis-Aligned Rectangle

Review Sheet for Test 1

Review of Fundamental Mathematics

discuss how to describe points, lines and planes in 3 space.

1 VECTOR SPACES AND SUBSPACES

How To Model Surfaces With Rp

Linear Programming Problems

MATH2210 Notebook 1 Fall Semester 2016/ MATH2210 Notebook Solving Systems of Linear Equations... 3

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Slope and Rate of Change

Mechanics 1: Conservation of Energy and Momentum

Geometry Notes PERIMETER AND AREA

Transcription:

Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons How do we specify a surface? Explicit, implicit, parametric How do we approximate a surface? Interpolation (use only points) Hermite (use points and tangents) Bezier (use points, and more points for tangents) 1

Explicit Representation Curve in 2D: y = f(x) Curve in 3D: y = f(x), z = g(x) Surface in 3D: z = f(x,y) Problems: How about a vertical line x = c as y = f(x)? Circle y = f (r 2 x 2 ) 1/2 two or zero values for x Too dependent on coordinate system Rarely used in computer graphics Implicit Representation Curve in 2D: f(x,y) = 0 Line: ax + by + c = 0 Circle: x 2 + y 2 r 2 = 0 Surface in 3d: f(x,y,z) = 0 Plane: ax + by + cz + d = 0 Sphere: x 2 + y 2 + z 2 r 2 = 0 f(x,y,z) can describe 3D object: Inside: f(x,y,z) < 0 Surface: f(x,y,z) = 0 Outside: f(x,y,z) > 0 2

What Implicit Functions are Good For X + kv F < 0? F = 0? F > 0? X F(X + kv) = 0 Ray - Surface Intersection Test Inside/Outside Test Isosurfaces of Simulated Tornado 3

Constructive Solid Geometry (CSG) Generate complex shapes with basic building blocks machine an object - saw parts off, drill holes glue pieces together This is sensible for objects that are actually made that way (human-made, particularly machined objects) A CSG Train Brian Wyvill & students, Univ. of Calgary 4

CSG: Negative Objects Use point-by-point boolean functions remove a volume by using a negative object e.g. drill a hole by subtracting a cylinder Subtract From To get Inside(BLOCK-CYL) = Inside(BLOCK) And Not(Inside(CYL)) CSG 5

CSG The Utah Teapot 6

The Utah Teapot The Six Platonic Solids (by Jim Arvo and Dave Kirk, from their 87 SIGGRAPH paper Fast Ray Tracing by Ray Classification.) See http://www.sjbaker.org/teapot/ for more history. The Utah Teapot 7

The teapot is just cubic Bezier patches! 8

Algebraic Surfaces Special case of implicit representation f(x,y,z) is polynomial in x, y, z Quadrics: degree of polynomial w 2 Render more efficiently than arbitrary surfaces Implicit form often used in computer graphics How do we represent curves implicitly? Parametric Form for Curves Curves: single parameter u (e.g. time) x = x(u), y = y(u), z = z(u) Circle: x = cos(u), y = sin(u), z = 0 Tangent described by derivative Magnitude is velocity 9

Parametric Form for Surfaces Use parameters u and v x = x(u,v), y = y(u,v), z = z(u,v) Describes surface as both u and v vary Partial derivatives describe tangent plane at each point p(u,v) = [x(u,v) y(u,v) z(u,v)] T Assessment of Parametric Forms Parameters often have natural meaning Easy to define and calculate Tangent and normal Curves segments (for example, 0 w u w 1) Surface patches (for example, 0 w u,v w 1) 10

Parametric Polynomial Curves Restrict x(u), y(u), z(u) to be polynomial in u Fix degree n Each c k is a column vector Parametric Polynomial Surfaces Restrict x(u,v), y(u,v), z(u,v) to be polynomial of fixed degree n Each c ik is a 3-element column vector Restrict to simple case where 0 w u,v w 1 11

Approximating Surfaces Use parametric polynomial surfaces Important concepts: Join points for segments and patches Control points to interpolate Tangents and smoothness Blending functions to describe interpolation First curves, then surfaces Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 12

Cubic Polynomial Form Degree 3 appears to be a useful compromise Curves: Each c k is a column vector [c kx c ky c kz ] T From control information (points, tangents) derive 12 values c kx, c ky, c kz for 0 w k w 3 These determine cubic polynomial form Interpolation by Cubic Polynomials Simplest case, although rarely used Curves: Given 4 control points p 0, p 1, p 2, p 3 All should lie on curve: 12 conditions, 12 unknowns Space 0 w u w 1 evenly p 0 = p(0), p 1 = p(1/3), p 2 = p(2/3), p 3 = p(1) 13

Equations to Determine c k Plug in values for u = 0, 1/3, 2/3, 1 Note: p k and c k are vectors! Interpolating Geometry Matrix Invert A to obtain interpolating geometry matrix 14

Joining Interpolating Segments Do not solve degree n for n points Divide into overlap sequences of 4 points p 0, p 1, p 2, p 3 then p 3, p 4, p 5, p 6, etc. At join points Will be continuous (C 0 continuity) Derivatives will usually not match (no C 1 continuity) Blending Functions Make explicit, how control points contribute Simplest example: straight line with control points p 0 and p 3 p(u) = (1 u) p 0 + u p 3 b 0 (u) = 1 u, b 3 (u) = u 1 b 0 (u) b 3 (u) 1 u 15

Blending Polynomials for Interpolation Each blending polynomial is a cubic Solve (see [Angel, p. 427]): Cubic Interpolation Patch Bicubic surface patch with 4 e 4 control points Note: each c ik is 3 column vector (48 unknowns) [Angel, Ch. 10.4.2] 16

Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces Hermite Curves Another cubic polynomial curve Specify two endpoints and their tangents 17

Deriving the Hermite Form As before Calculate derivative Yields Summary of Hermite Equations Write in matrix form Remember p k and p k and c k are vectors! Let q = [p 0 p 3 p 0 p 3 ] T and invert to find Hermite geometry matrix M H satisfying 18

Blending Functions Explicit Hermite geometry matrix Blending functions for u = [1 u u 2 u 3 ] T Join Points for Hermite Curves Match points and tangents (derivatives) Much smoother than point interpolation How to obtain the tangents? Skip Hermite surface patch More widely used: Bezier curves and surfaces 19

Parametric Continuity Matching endpoints (C 0 parametric continuity) Matching derivatives (C 1 parametric continuity) Geometric Continuity For matching tangents, less is required G 1 geometric continuity Extends to higher derivatives 20

Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces Bezier Curves Widely used in computer graphics Approximate tangents by using control points 21

Equations for Bezier Curves Set up equations for cubic parametric curve Recall: Solve for c k Bezier Geometry Matrix Calculate Bezier geometry matrix M B Have C 0 continuity, not C 1 continuity Have C 1 continuity with additional condition 22

Blending Polynomials Determine contribution of each control point Smooth blending polynomials Convex Hull Property Bezier curve contained entirely in convex hull of control points Determined choice of tangent coefficient (?) 23

Bezier Surface Patches Specify Bezier patch with 4 e 4 control points Bezier curves along the boundary Twist Inner points determine twist at corner Flat means p 00, p 10, p 01, p 11 in one plane (w 2 p/wuwv)(0,0) = 0 24

Summary Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 25