ECS 178 Course Notes REFINEMENT

Similar documents
On-Line Geometric Modeling Notes REFINEMENT

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT

CHAIKIN S ALGORITHMS FOR CURVES

A DIVIDE AND CONQUER METHOD FOR CURVE DRAWING

SPLITTING THE CUBIC UNIFORM B-SPLINE CURVE

A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE

Subdivision Curves and Surfaces: An Introduction

BIQUADRATIC UNIFORM B-SPLINE SURFACE REFINEMENT

Recursive Subdivision Surfaces for Geometric Modeling

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

Curve Corner Cutting

BICUBIC UNIFORM B-SPLINE SURFACE REFINEMENT

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Subdivision Surfaces

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

Introduction to the Mathematical Concepts of CATIA V5

Subdivision Surfaces

Curves and Surfaces 1

THE CAMERA TRANSFORM

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

CSC 305 More Modelling

INF3320 Computer Graphics and Discrete Geometry

Subdivision Curves and Surfaces

Freeform Curves on Spheres of Arbitrary Dimension

08 - Designing Approximating Curves

Information Coding / Computer Graphics, ISY, LiTH. Splines

Dgp _ lecture 2. Curves

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Advanced Geometric Modeling CPSC789

Subdivision overview

RASTERIZING POLYGONS IN IMAGE SPACE

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

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Interactive Graphics Using Parametric Equations (Day 2)

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

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

Subdivision of Curves and Surfaces: An Overview

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces

Subdivision Surfaces

Curves and Surfaces Computer Graphics I Lecture 9

An interpolating 4-point C 2 ternary stationary subdivision scheme

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Lecture 9: Introduction to Spline Curves

THE VIEWING TRANSFORMATION

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

The transition: Each student passes half his store of candies to the right. students with an odd number of candies eat one.

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

(Spline, Bezier, B-Spline)

Modified Catmull-Clark Methods for Modelling, Reparameterization and Grid Generation

Curves. Computer Graphics CSE 167 Lecture 11

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Lecture IV Bézier Curves

CS354 Computer Graphics Surface Representation III. Qixing Huang March 5th 2018

Curves and Surfaces 2

Curves, Surfaces and Recursive Subdivision

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

An introduction to interpolation and splines

Using Isosurface Methods for Visualizing the Envelope of a Swept Trivariate Solid

Computergrafik. Matthias Zwicker. Herbst 2010

Subdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Stationary and Non-Stationary Univariate Subdivision Schemes

Introduction to Computer Graphics

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Sung-Eui Yoon ( 윤성의 )

ECE 600, Dr. Farag, Summer 09

Radiosity. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

Spline Surfaces, Subdivision Surfaces

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision curves. University of Texas at Austin CS384G - Computer Graphics

3D Modeling techniques

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

B-spline Curves. Smoother than other curve forms

Computer Graphics. Unit VI: Curves And Fractals. By Vaishali Kolhe

Grid Generation and Grid Conversion by Subdivision Schemes

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

Central issues in modelling

COMP3421. Global Lighting Part 2: Radiosity

Design considerations

Need for Parametric Equations

Non-Uniform Recursive Doo-Sabin Surfaces

2D Spline Curves. CS 4620 Lecture 18

Interpolatory 3-Subdivision

u 0+u 2 new boundary vertex

Computer Graphics Hands-on

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Lahore University of Management Sciences. CS 452 Computer Graphics

Normals of subdivision surfaces and their control polyhedra

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Splines. Connecting the Dots

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Know it. Control points. B Spline surfaces. Implicit surfaces

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Curves and Surfaces Computer Graphics I Lecture 10

Transcription:

ECS 78 Course Notes REFINEMENT Kenneth I Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview Bézier curves, B-spline curves and subdivision curves are all based upon the input of a control polygon and the specification of an algorithmic method that contructs a curve from this sequence of points Fundamental to these methods is the concept of a refinement These refinement methods, as defined mathematically, can be quite complex However, in practice they are quite simple and usually easy to implement In these notes, we discuss the mathematical notion of refinement What is a Refinement Scheme A refinement process is a scheme which defines a sequence of control polygons P 0, P,, P n P 0, P,, P n P 0, P,, P n P k 0, Pk,, Pk n k where for any k > 0, each P k j can be written as P k j = n k i=0 α i,j,k P k i

{ } That is, any element P k j can be written as a linear combination of the control points P k 0, P k,, P k n k from the control polygon generated in the prior step For each fixed j and k the sequence α i,j,k is frequently called a mask This is a very general scheme, and quite complex to manage and analyze It covers the cases where the number of control points in each successive polygon is allowed to increase Chaikin s Curves and Doo-Sabin s subdivision surfaces are examples of this), or must decrease (de Casteljau s algorithm for generating Bézier Curves is an example of this) It would be incredibly rare to use the entire set of control points from the k st sequence to calculate each new control point in the kth sequence as there may be thousands of points to consider and so in general we assume that most of the α i,j,k s are zero To simplify things further, we frequently limit this to a uniform scheme, where the αs are independent of the level of refinement (k) refinement process This implies that the scheme is basically the same at each iteration of the A further simplification, where the mask is the same for every point of a control polygon, is called a stationary scheme If all points that result from a refinement process lie on the lines joining the points of a control polygon, the process is typically called a corner cutting scheme An example of such a scheme is the Chaikin s Curve A Matrix Method for Refinement The equation can be written in matrix form as P k j = [ P k j = n k i=0 α i,j,k P k i α 0,j,k α,j,k α nk,j,k ] P k 0 P k P k n k

and overall P k 0 P k P nk k = S k P k 0 P k P k n k where S k is the refinement matrix S k = α 0,0,k α,0,k α nk,0,k α 0,,k α,,k α nk,,k α 0,nk,k α,nk,k α nk,n k,k and is an (n k + ) (n k + ) matrix In general it is best to think of this matrix as being sparse (ie most of the entries being zero) with non-zero entries clustered along the diagonal Example A Stationary Uniform Refinement Scheme Suppose we are given the control polygon {P 0, P,, P n } Define the refinement scheme by the following equation P k j = ( P k j ) + P k j+ where 0 j n k and k = 0,,,, n In other words, each successive point in the refinement is taken to be the midpoint of the line segment joining the two corresponding points in the previous control polygon P k j P k j+ P k j+ P k j+ P k+ j P k+ j+ P k+ j+ Note here that two of the αs are and the remainder are zero

In this case, the refinement process stops after n steps as the control polygon for each step of the refinement has one fewer points than does the control polygon in the previous step the final control polygon having one point To represent this refinement process via matrices, the refinement matrix S k is where the matrix is k (k + ) S k = 0 0 0 0 0 0 0 0 0 0 0 0 0 If this refinement is taken to completion, we have just calculated a point on the nth degree Bézier curve defined by this control polygon Example A Non-Stationary Uniform Subdivision Scheme Suppose we are given the control polygon {P 0, P,, P n } Define a refinement scheme by the following and for j = 0,,,, P k j = Pk j + Pk j+ P k j+ = Pk j + Pk j+ P k j P k j+ P k j+ P k+ j P k+ j+ P k+ j+ P k+ j+

Notice that this gives us a new control polygon P 0 = P 0 + P P = P 0 + P P = P + P P = P + P P = P + P P 5 = P + P Applying this refinement process to a control polygon of length n + gives a new control polygon of length n This is just Chaikin s Algorithm for curve generation As the algorithm proceeds the number of control points gets arbitrarily large, but converges to a unique curve Refinement Schemes for Meshes Similar methods (with much more notationally complex mathematics) exist for control meshes that result in surface generation algorithms In general, the idea is the same the refinement operation generates new control points from the control points of the previous mesh Summary Refinement schemes generate an important class of curve and surface drawing algorithms that are useful in geometric modeling The schemes generate a sequence of control polygons in the two-dimensional case, or control meshes in the three dimensional case that can be used for curve generation The methods are useful in the case of Bézier curves and Bézier patches as well as in the generation of subdivision curves and surfaces 5

All contents copyright (c) 997-0 Computer Science Department, University of California, Davis All rights reserved 6