Bspline/NURBS and Subdivision Surface Computer Graphics Lecture 15 Taku Komura.

Slides:



Advertisements
Similar presentations
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advertisements

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Classic Subdivision Schemes. Schemes Catmull-Clark (1978) Doo-Sabin (1978) Loop (1987) Butterfly (1990) Kobbelt (1996) Mid-edge (1996 / 1997)
Subdivision Surfaces Computational Geometry Presentation Adam Lake.
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Surfaces Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
CS Peter Schröder Subdivision I: The Basic Ideas.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Subdivision Surfaces in Character Animation Tony DeRose - Michael Kass - Tien Truong - Pixar Animation Studios - Pierce Groover March 4 th, 2003.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Cubic Bezier and B-Spline Curves
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Subdivision Overview Subdivision is a two part process Control Mesh
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
11/08/00 Dinesh Manocha, COMP258 Subdivision Curves & Surfaces Work of G. de Rham on Corner Cutting in 40’s and 50’s Work of Catmull/Clark and Doo/Sabin.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Curve Modeling Bézier Curves
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
Curve Modeling B-Spline Curves
Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.
Creating & Processing 3D Geometry Marie-Paule Cani
(Spline, Bezier, B-Spline)
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
1 Surface Applications Fitting Manifold Surfaces To 3D Point Clouds, Cindy Grimm, David Laidlaw and Joseph Crisco. Journal of Biomechanical Engineering,
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Subdivision Surfaces Ref: Subdivision Surfaces in Character Animation, DeRose et. al, SIGGRAPH98.
Lee Byung-Gook Dongseo Univ.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Subdivision Surfaces Greg Humphreys University of Virginia CS 445, Fall 2003.
11/26/02(C) University of Wisconsin Last Time BSplines.
Subdivision Surfaces Dr. Scott Schaefer.
(c) 2002 University of Wisconsin
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
CS 318 Intro to Computer Graphics John C. Hart
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
Advanced Computer Graphics
© University of Wisconsin, CS559 Fall 2004
The Variety of Subdivision Schemes
Jeff Ballard Nick Rasmussen
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Jeff Ballard Nick Rasmussen
Presentation transcript:

Bspline/NURBS and Subdivision Surface Computer Graphics Lecture 15 Taku Komura

Today –More about Bspline –NURBS –Subdivision Surface

3 a Bspline of order k (polynomial of degree k-1) is a parametric curve composed of a linear combination of basis B-splines B i,n P i (i=0,…,m) are called the control points Knots: - the knots subdivide the domain of the B-spline curve into a set of knot spans [t i, t i+1 ) The B-splines can be defined by B-Spline : from the last lecture

Domain of the function Order k, Degree k-1 (the basis functions are polynomials of degree k-1) Control points P i (i=0, …,m) Knots : t j, (j=0, …, n) An important rule : n – m = k The domain of the function t k-1 ≦ t ≦ t m+1 –Below, k = 4, m = 9, domain, t 3 ≦ t ≦ t 10 3 t m+1 0

Clamped Bsplines The first and last knot values are repeated with multiplicity equal to the order (degree + 1) The end points pass the control point For cubic bsplines, the multiplicity of the first / last knots must be 4 (repeated four times)

Controlling the shape of B-splines Moving the control points is the most obvious way to control bspline curves Changing the position of control point Pi only affects the interval [ti, ti+k), where k is the order of a B-spline curve –Editing the shape through the knot vector is not very intuitive

Knot insertion We may want to increase the resolution of the curve when editing the curve We can do this by knot Insertion New knots can be added without changing the shape of the curve Because of the basic rule n-m = k (n+1: number of kntos, m+1 : the number control points, k : order) the control points also increase

Knot insertion If the new knot t is inserted into the span [t j, t j+1 ), the new control points can be computed by where Qi is the new control point and a i is computed by Pj-k+1, Pj-k+2,..., Pj-1, Pj is replaced with Pj-k+1, Qj-k+2,..., Qj-1, Qj,Pj.

Example A bspline curve of degree 3 (k=4) having the following knots t=0.5 inserted t 0 to t 3 t4t4 t5t5 t6t6 t7t7 t 8 to t t 0 to t 3 t4t4 t5t5 t6t6 t7t7 t8t8 t 9 to t plugin/curves.html

NURBS (Non-uniform rational B-spline) Standard curves/surface representation in computer aided design Pi : control points B i,k : Bspline basis of order k wi : weights

Benefits of using NURBS More degrees of freedom to control the curve (can control the weights) Invariant under perspective transformation –Can project the control points onto the screen and interpolate on the screen –Don’t need to apply the perspective transformation to all the points on the curve Can model conic sections such as circles, ellipses and hyperbolas

Example of changing weights Increasing the weight will bring the curve closer to the corresponding control point l

Bspline Surfaces Given the following information: a set of m+1 rows and n+1 control points pi,j, where 0 <= i <= m and 0 <= j <= n; Corresponding knot vectors in the u and v direction,

Clamped, Closed and Open B- spline Surfaces Since a B-spline curve can be clamped, closed or open, a B-spline surface can also have three types in each direction. That is, we could ask to have a B-spline surface clamped in the u- direction and closed in the v-direction. If a B-spline is clamped in both directions, then this surface passes though control points p 0,0, p m,0, p 0,n and p m,n If a B-spline surface is closed in one direction, then the surface becomes a tube. Closed in two direction : torus –Problems handling objects of arbitrary topology, such as a ball, double torus

10/10/2008 Lecture 5 15 Other spline curves: Catmull-Rom Spline Interpolates control points. The gradient at each control point is parallel to the vector between adjacent control points. Used in computer games for interpolating the camera movements

Subdivision Surface A method to model smooth surfaces

A Primer: Chaiken’s Algorithm Apply Iterated Function System Limit Curve Surface P0P0 P1P1 P2P2 P3P3 Q0Q0 Q1Q1 Q2Q2 Q3Q3 Q4Q4 Q5Q5 /java/chaikin.htm

3D subdivision surface Giving a rough shape first and subdivide it recursively Stop when the shape is smooth enough Used for modeling smooth surfaces

Motivation Shape modelingShape modeling –Topological restrictions of NURBS surfaces Plane, Cylinder, and TorusPlane, Cylinder, and Torus It is difficult to maintain smoothness at seams of patchwork.It is difficult to maintain smoothness at seams of patchwork. –Example: hiding seams in Woody (Toy Story) [DeRose98] –NURBS also require the control nets consist of a regular rectangular grid of control points LOD in a sceneLOD in a scene –A coarse shape when far away, a smooth dense surface when closer to the camera

Subdivision surface Can handle arbitrary topology Different Schemes Doo-Sabin ‘78 Catmull-Clark ‘78 Etc (Loop, Butterfly, and many others)‏

Doo-Sabin Subdivision An edge point is formed from the midpoint of each edge A face point is formed as the centroid of each polygon of the mesh. Finally, each vertex in the new mesh is formed as the average of –a vertex in the old mesh, –a face point for a polygon that touches that old vertex, and –the edge points for the two edges that belong to that polygon and touch that old vertex.

Doo-Sabin Subdivision The new mesh, therefore, will –create quadrilaterals for each edge in the old mesh, –create a smaller n-sided polygon for each n-sided polygon in the old mesh, and –create an n-sided polygon for each n-valence vertex (Valence being the number of edges that touch the vertex).

Catmull-Clark Subdivision A face with n edges are subdivided into n quadrilateralsA face with n edges are subdivided into n quadrilaterals Quads are better than triangles at capturing the symmetries of natural and man-made objects. Tube like surfaces (arms, legs, fingers) are easier to model.Quads are better than triangles at capturing the symmetries of natural and man-made objects. Tube like surfaces (arms, legs, fingers) are easier to model.

Catmull-Clark Subdivision FACE EDGE VERTEX

Modeling with Catmull-Clark Subdivision produces smooth continuous surfaces. How can “sharpness” and creases be controlled in a modeling environment? ANSWER: Define new subdivision rules for “creased” edges and vertices. 1.Tag Edges sharp edges. 2.If an edge is sharp, apply new sharp subdivision rules. 3.Otherwise subdivide with normal rules.

Sharp Edges… Tag Edges as “sharp” or “not-sharp” n = 0 – “not sharp” n > 0 – sharp During Subdivision, if an edge is “sharp”, use sharp subdivision rules. Newly created edges, are assigned a sharpness of n-1. If an edge is “not-sharp”, use normal smooth subdivision rules. IDEA: Edges with a sharpness of “n” do not get subdivided smoothly for “n” iterations of the algorithm. In the picture on the right, the control mesh is a unit cube Different sharpness applied

Sharp Rules FACE (unchanged)‏ EDGE VERTEX crease corner >2 2 # adj. Sharp edges

Another example of creases

Non-Integer Sharpness Density of newly generated mesh increases rapidly. In practice, 2 or 3 iterations of subdivision is sufficient. Need better “control”. IDEA: Interpolate between smooth and sharp rules for non-integer sharpness values of n.

Subdivision Surfaces in character animation [DeRose98] Used for first time in Geri’s game to overcome topological restriction of NURBSUsed for first time in Geri’s game to overcome topological restriction of NURBS Modeled Geri’s head, hands, jacket, pants, shirt, tie, and shoesModeled Geri’s head, hands, jacket, pants, shirt, tie, and shoes Developed cloth simulation methodsDeveloped cloth simulation methods

Demo movie [Geri’s Game] Academy Award winning movie by Pixar Demo of Catmull-Clark subdivision surface

Adaptive Subdivision Not all regions of a model need to be subdivided. Idea: Use some criteria and adaptively subdivide mesh where needed. –Curvature –Screen size ( make triangles < size of pixel ) –View dependence Distance from viewer Silhouettes In view frustum –Careful! Must ensure that “cracks” aren’t made crack subdivide View-dependent refinement of progressive meshes Hugues Hoppe. (SIGGRAPH ’97)

Subdivision Surface Summary Advantages –Simple method for describing complex surfaces –Relatively easy to implement –Arbitrary topology –Local support –Guaranteed continuity –Multi-resolution Difficulties –Intuitive specification –Parameterization –Intersections

Edwin Catmull Utah – NYIT – Lucas Films – Pixar - present: President of Disney Animation Studios and Pixar Animation Studios Jim Clark Utah – UCSC - Stanford – Silicon Graphics - Netscape - … He also co-produced the movie The Cove.The Cove

Readings A very good website for parametric curves / surfaces DeRose, Tony, Michael Kass, and Tien Truong. Subdivision Surfaces in Character Animation. SIGGRAPH 98. Clark, E., and J. Clark. Recursively generated B-spline surfaces on arbitrary topological meshes. Computer Aided Geometric Design, Vol. 10, No. 6, Doo, D. and M. Sabin. Behavior of Recursive Division Surfaces Near Extraordinary Points. Computer-Aided Design. Vol. 10, No. 6, 1978.