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

Similar documents
Geometric Modelling & Curves

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

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

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

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

Figure 2.1: Center of mass of four points.

BEZIER CURVES AND SURFACES

CHAPTER 1 Splines and B-splines an Introduction

Modeling Curves and Surfaces

Essential Mathematics for Computer Graphics fast

(Refer Slide Time: 1:42)

How To Use Design Mentor

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

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

Finite Element Formulation for Plates - Handout 3 -

Computer Animation: Art, Science and Criticism

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality

The Essentials of CAGD

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

the points are called control points approximating curve

Math 241, Exam 1 Information.

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

Part-Based Recognition

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

A Geometric Characterization of Parametric Cubic Curves

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Algorithms for Real-Time Tool Path Generation

Dhiren Bhatia Carnegie Mellon University

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

Planar Curve Intersection

Degree Reduction of Interval SB Curves

Geodesic Lines, Local Gauss-Bonnet Theorem

Largest Fixed-Aspect, Axis-Aligned Rectangle

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

Computer Aided Systems

GAME ENGINE DESIGN. A Practical Approach to Real-Time Computer Graphics. ahhb. DAVID H. EBERLY Geometrie Tools, Inc.

H.Calculating Normal Vectors

Solving Simultaneous Equations and Matrices

Section 1.1. Introduction to R n

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

A QUICK GUIDE TO THE FORMULAS OF MULTIVARIABLE CALCULUS

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.

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

DRAFT. Algebra 1 EOC Item Specifications

A Mathematica Package for CAGD and Computer Graphics

CATIA Wireframe & Surfaces TABLE OF CONTENTS

Max-Min Representation of Piecewise Linear Functions

New York State Student Learning Objective: Regents Geometry

Subdivision for Modeling and Animation

Pre-Algebra Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

North Carolina Math 2

Introduction to Computer Graphics

Numerical algorithms for curve approximation and novel user oriented interactive tools

GEOMETRY COMMON CORE STANDARDS

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., July Derive 5: The Easiest... Just Got Better!

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

A matrix method for degree-raising of B-spline curves *

DIEF, Department of Engineering Enzo Ferrari University of Modena e Reggio Emilia Italy Online Trajectory Planning for robotic systems

Equations of Lines and Planes

Mathematics 31 Pre-calculus and Limits

Selective Degree Elevation for Multi-Sided Bézier Patches

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

Estimated Pre Calculus Pacing Timeline

Geometry Course Summary Department: Math. Semester 1

Number Sense and Operations

Computational Geometry. Lecture 1: Introduction and Convex Hulls

GRADES 7, 8, AND 9 BIG IDEAS

State of Stress at Point

Computer Aided Design (CAD)

Algebra Unpacked Content For the new Common Core standards that will be effective in all North Carolina schools in the school year.

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

Piecewise Cubic Splines

Generative Shape Design

Mean Value Coordinates

Jim Lambers MAT 169 Fall Semester Lecture 25 Notes

(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,

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

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

Higher Education Math Placement

Chapter 4 One Dimensional Kinematics

Linear Programming I

animation animation shape specification as a function of time

How To Write An Isgeometric Finite Element Analysis

Volumes of Revolution

Modelling with Implicit Surfaces that Interpolate

Geometric description of the cross product of the vectors u and v. The cross product of two vectors is a vector! u x v is perpendicular to u and v

Mathematics Georgia Performance Standards

2013 MBA Jump Start Program

South Carolina College- and Career-Ready (SCCCR) Pre-Calculus

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

096 Professional Readiness Examination (Mathematics)

An Introduction to Applied Mathematics: An Iterative Process

Derive 5: The Easiest... Just Got Better!

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

Topology. Shapefile versus Coverage Views

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

A Short Introduction to Computer Graphics

Curriculum Map by Block Geometry Mapping for Math Block Testing August 20 to August 24 Review concepts from previous grades.

Transcription:

An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points and edges (a graph) containing topological information. Used for fast display in interactive systems. Can be ambiguous: " Wire-frame representations " Boundary representations " Volumetric representations 5 6 Page 1

Volumetric Representation Voxel based (voxel = 3D pixels). Advantages: simple and robust Boolean operations, in/ out tests, can represent and model the interior of the object. Disadvantages: memory consuming, non-smooth, difficult to manipulate. Constructive Solid Geometry Use set of volumetric primitives " Box, sphere, cylinder, cone, etc For constructing complex objects use Boolean operations " Union " Intersection " Subtraction " Complement 7 8 Operations performed recursively Final object stored as sequence (tree) of operations on primitives Common in CAD packages " mechanical parts fit well into primitive based framework Can be extended with free-form primitives CSG Trees 9 Freeform Representation Explicit form: z = z(x, y) Explicit is a special case of Implicit form: f(x, y, z) = 0 implicit and parametric form Parametric form: S(u, v) = [x(u, v), y(u, v), z(u, v)] Example origin centered sphere of radius R: 10 Parametric Curves Analogous to trajectory of particle in space. Single parameter t [T 1,T 2 ] like time. position = p(t) = (x(t),y(t)), velocity = v(t) = (x (t),y (t)) Mathematical Continuity C 1 (t) & C 2 (t), t [0,1] - parametric curves Level of continuity of the curves at C 1 (1) and C 2 (0) is: " C -1 :C 1 (1) C 2 (0) (discontinuous) " C 0 : C 1 (1) = C 2 (0) (positional continuity) " C k, k > 0 : continuous up to k th derivative Circle: " x(t) = cos(t), y(t) = sin(t) t [0,2π) v(t) 1 " x(t) = cos(2t), y(t) = sin(2t) t [0,π) v(t) 2 " x(t) = (1-t 2 )/(1+t 2 ), y(t) = 2t/(1+t 2 ) t (-,+ ) 11 Continuity of single curve inside its parameter domain is similarly defined - for polynomial bases it is C 12 Page 2

Geometric Continuity Mathematical continuity is sometimes too strong May be relaxed to geometric continuity " G k, k 0 : Same as C k " G k, k =1 : C' 1 (1) =α C' 2 (0) " G k, k 0 : There is a reparameterization of C 1 (t) & C 2 (t), where the two are C k E.g. " C 1 (t)=[cos(t),sin(t)], t [-π/2,0] C C 2 (t)=[cos(t),sin(t)], t [0,π/2] 2, C 3 C 3 (t)=[cos(2t),sin(2t)], t [0,π/4] " C 1 (t) & C 2 (t) are C 1 (& G 1 ) continuous " C 1 (t) & C 3 (t) are G 1 continuous (not C 1 C ) 1 13 Polynomial Bases Monomial basis {1, x, x 2, x 3, } " Coefficients are geometrically meaningless " Manipulation is not robust Number of coefficients = polynomial rank We seek coefficients with geometrically intuitive meanings Polynomials are easy to analyze, derivatives remain polynomial, etc. Other polynomial bases (with better geometric intuition): " Lagrange (Interpolation scheme) " Hermite (Interpolation scheme) " Bezier (Approximation scheme) " B-Spline (Approximation scheme) 14 Cubic Hermite Basis Set of polynomials of degree k is linear vector space of degree k+1 The canonical, monomial basis for polynomials is {1, x, x 2, x 3, } Define geometrically-oriented basis for cubic polynomials h i,j (t): i, j = 0,1, t [0,1] Has to satisfy: Hermite Cubic Basis The four cubics which satisfy these conditions are Obtained by solving four linear equations in four unknowns for each basis function Prove: Hermite cubic polynomials are linearly independent and form a basis for cubics 15 16 Hermite Cubic Basis (cont d) Lets solve for h 00 (t) as an example. h 00 (t) = a t 3 + b t 2 + c t + d must satisfy the following four constraints: Hermite Cubic Basis (cont d) Let C(t) be a cubic polynomial defined as the linear combination: Then C(0) = P 0, C(1) = P 1, C (0) = T 0, C (1) = T 1 Four linear equations in four unknowns. To generate a curve through P 0 & P 1 with slopes T 0 & T 1, use " 17 18 Page 3

Parametric Splines Fit spline independently for x(t) and y(t) to obtain C(t) Cubic Splines Standard spline input set of points {P i } i=0, n " No derivatives specified as input Interpolate by n cubic segments (4n DOF): " Derive {T i } i=0,..,n from C 2 continuity constraints " Solve 4n linear equations in 4n unknowns 19 20 Cubic Splines Have two degrees of freedom left (to reach 4n DOF) Options " Natural end conditions: C 1 ''(0) = 0, C n ''(1) = 0 " Complete end conditions: C 1 '(0) = 0, C n '(1) = 0 " Prescribed end conditions (derivatives available at the ends): C 1 '(0) = T 0, C n '(1) = T n " Periodic end conditions C 1 '(0) = C n '(1), C 1 ''(0) = C n ''(1), Bezier curve is an approximation of given control points Denote by γ (t): t [0,1] Bezier curve of degree n is defined over n+1 control points {P i } i=0, n Bezier Curves Question: What parts of C(t) are affected as a result of a change in P i? 21 22 De Casteljau Construction Select t [0,1] value. Then, γ (1/3) 23 Page 4

Algebraic Form of Bezier Curves Bezier curve for set of control points {P i } i=0, n : Algebraic Form of Bezier Curves where {B in (t)} i=0, n Bernstein basis of polynomial of degree n " why? Curve is linear combination of basis functions Curve is affine combination of control points Cubic case: 25 26 Properties of Bezier Curves γ (t) is polynomial of degree n γ (t) CH(P 0,,P n ) (contained inside the convex hull) γ (0) = P 0 and γ (1) = P n γ '(0) = n(p 1 -P 0 ) and γ '(1) = n(p n -P n-1 ) γ (t) is intuitive to control via P i and it follows the general shape of the control polygon γ '(t) is a Bezier curve of one degree less Questions: " What is the shape of Bezier curves whose control points lie on one line? " How can one connect two Bezier curves with C 0 continuity? C 1? C 2? 27 B-Spline Curves Idea: Generate basis where functions are continuous across the domains with local support For each parameter value only a finite set of basis functions is non-zero The parametric domain is subdivided into sections at parameter values called knots, {τ i }. The B-spline functions are then defined over the knots The knots are called uniform knots if τ i - τ i-1 = c, constant. WLOG, assume c = 1. 28 Uniform Cubic B-Spline Curves Definition (uniform knot sequence, τ i - τ i-1 = 1): Uniform Cubic B-Spline Curves For any t [3, n]: (prove it!) For any t [3, n] at most four basis functions are non zero Any point on a cubic B-Spline is a convex combination of at most four control points 29 30 Page 5

Boundary Conditions for Cubic B-Spline Curves B-Splines do not interpolate control points " in particular, the uniform cubic B-spline curves do not interpolate the end points of the curve. " Why is the end points interpolation important? Two ways are common to force endpoint interpolation: " Let P 0 = P 1 = P 2 (same for other end) " Add a new control point (same for other end) P -1 = 2P 0 P 1 and a new basis function N -13 (t). Question: " What is the shape of the curve at the end points if the first method is used? " What is the derivative vector of the curve at the end points if the first method is used? 31 Local Control of B-spline Curves Control point P i affects γ (t) only for t (τ i, τ i+4 ) 32 Properties of B-Spline Curves For n control points, γ (t) is a piecewise polynomial of degree 3, defined over t [3, n) γ(t) is affine invariant γ(t) follows the general shape of the control polygon and it is intuitive and ease to control its shape Questions: " What is γ (τ i ) equal to? " What is γ '(τ i ) equal to? " What is the continuity of γ (t)? Prove! 33 From Curves to Surfaces A curve is expressed as inner product of coefficients P i and basis functions Treat surface as a curves of curves. Also known as tensor product surfaces Assume P i is not constant, but are functions of a second, new parameter v: 34 From Curves to Surfaces (cont d) Then or Surface Constructors Construction of the geometry is a first stage in any image synthesis process Use a set of high level, simple and intuitive, surface constructors: " Bilinear patch " Ruled surface " Boolean sum " Surface of Revolution " Extrusion surface " Surface from curves (skinning) " Swept surface 36 Page 6

Bilinear Patches Bilinear interpolation of 4 3D points - 2D analog of 1D linear interpolation between 2 points in the plane Given P 00, P 01, P 10, P 11 the bilinear surface for u,v [0,1] is: Questions: " What does an isoparametric curve of a bilinear patch look like? " When is a bilinear patch planar? 37 38 Ruled Surfaces Given two curves a(t) and b(t), the corresponding ruled surface between them is: S(u,v) = v a(u) + (1-v)b(u) a(u) b(u) " The corresponding points on a(u) and b(u) are connected by straight lines Questions: " When is a ruled surface a bilinear patch? " When is a bilinear patch a ruled surface? 39 40 Boolean Sum Given four connected curves α i i=1,2,3,4, Boolean sum S(u, v) fills the interior. Boolean Sum (cont d) S(u,v) interpolates the four α i along its boundaries. For example, consider the u = 0 boundary: Then 41 Question: Must α i be coplanar? 42 Page 7

Surface of Revolution Rotate a, usually planar, curve around an axis Consider curve β(t) = (β x (t), 0, β z (t)) and let Z be the axis of revolution. Then, Extrusion of a, usually planar, curve along a linear segment. D Consider curve β(t) and vector Extrusion Then S(u,v) = β(u) + v D 43 44 Sweep Surface Rigid motion of one (cross section) curve along another (axis) curve: The cross section may change as it is swept Question: Is an extrusion a special case of a sweep? a surface of revolution? 45 Page 8