Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section 11.11 Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, 3.4-3.5, 3D Computer.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

© University of Wisconsin, CS559 Spring 2004
#8: Curves and Curved Surfaces CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
B-Spline Blending Functions
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
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 Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
1 Computer Graphics Chapter 7 3D Object Modeling.
Graphics Graphics Korea University cgvr.korea.ac.kr 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실.
Computer Graphics - Class 14
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Curves Locus of a point moving with one degree of freedom
Normal based subdivision scheme for curve and surface design 杨勋年
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
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Splines III – Bézier Curves
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
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
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
Korea University Jung Lee, Computer Graphics Laboratory 3D Game Engine Design David H. Eberly 8.3 Special Surfaces 2001/11/13.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Curves and Surfaces Chapter 10. CS 480/680 2Chapter 9 -- Hierarchical Models Introduction: Introduction: Until now we have worked with flat entities such.
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 Curve (and its relations to wavelets) Jyun-Ming Chen Spring 2001.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
Procedural Models How to easily generate complex data?
Lee Byung-Gook Dongseo Univ.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Parametric Curves & Surfaces
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
11/26/02(C) University of Wisconsin Last Time BSplines.
A Note on Subdivision Kwan Pyo Ko Dongseo University
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.
Surface Modeling Parametric Surfaces Dr. S.M. Malaek Assistant: M. Younesi.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
© University of Wisconsin, CS559 Spring 2004
Subdivision curves.
© University of Wisconsin, CS559 Fall 2004
Subdivision curves.
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Course 13 Curves and Surfaces
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Surfaces Chiew-Lan Tai

Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer Graphics, Watt

Surfaces 3 Mathematical surface representations Explicit z = f(x,y) (a.k.a. “height field”) What if the surface isn’t a function? Implicit g(x,y,z) = 0 x 2 + y 2 + z 2 = 1 Parametric S(u,v) = (x(u,v), y(u,v), z(u,v)) x(u,v) = r cos 2  v sin  u y(u,v) = r sin 2  v sin  u z(u,v) = r cos  u 0≤u≤1, 0≤v≤1

Surfaces 4 Tensor product Bézier surfaces Given a grid of control point V ij, forming a control net, construct a surface S(u,v) by: Each row in u-direction is control points of a curve V i (u). V 0 (u), …, V n (u) at a specific u are the control points of a curve parameterized by v (i.e. S(u,.v))

Surfaces 5 Tensor product Bezier surfaces, cont. Let’s walk through the steps: Which points are interpolated by the surface? V 0 (u) and V 3 (u)

Surfaces 6 Tensor product Bezier surfaces, cont. Writing it out explicitly: Linear Bezier surface: Quadratic Bezier surface?

Surfaces 7 Matrix form For the case of cubic Bezier surface:

Surfaces 8 Tensor product B-spline surfaces Like spline curves, we can piece together a sequence of Bezier surfaces to make a spline surface. If we enforce C 2 continuity and local control, we get B-spline curves:

Surfaces 9 Tensor product B-spline surfaces Use each row of B control points in u to generate Bezier control points in u. Treat each row of Bezier control points in v direction as B-spline control points to generate Bezier control points in v direction. u

Surfaces 10 Tangent plane and surface normal S S

Surfaces 11 Partial Derivatives

Surfaces 12 Surface normal S SS S

Surfaces 13 Other construction methods

Surfaces 14 Rotational surfaces (surface of revolution) Rotate a 2D profile curve about an axis

Surfaces 15 Profile curve, C(u) Constructing surfaces of revolution Given a curve C(u) in the yz-plane: Let R y (  ) be a rotation about the y-axis Find: A surface S(u,v) obtained by applying R y (  ) on C(u) S(u,v) = R y (v) [0, C y (u), C z (u), 1] t y xz

Surfaces 16 Surface of revolution S(u,v) = ( C z (u) sin(v), C y (u), C z (u) cos(v)) y z x

Surfaces 17 General sweep surface Given a planar profile curve C(u) and a general space curve T(v) as the trajectory, sweep C(u) along the trajectory How to orient C(u) as it moves along T(v)?

Surfaces 18 Orientating C(u) Define a local coordinate frame at any point along the trajectory The Frenet frame (t,n,b) is the natural choice As we move along T(v), the Frenet frame (t,b,n) varies smoothly (inflection points where curvature goes to zero needs special treatment)

Surfaces 19 Sweep Surfaces Orient the profile curve C(u) using the Frenet frame of the trajectory T(v): Put C(u) in the normal plane. Place O c at T(v). Align x c of C(u) with b. Align y c of C(u) with n. Sweep surface S(u,v) = T(v) + n(v)C x (u) + b(v) C y (u)

Surfaces 20 Variations Several variations are possible: Scale C(u) as it moves, possibly using length of T(v) as a scale factor. Morph C(u) into some other curve C’(u) as it moves along T(v)

Surfaces 21 Summary What to take home: How to construct tensor product Bezier surfaces How to construct tensor product B-spline surfaces How to construct surfaces of revolution How to construct sweep surfaces from a profile and a trajectory curve with a Frenet frame

Surfaces 22 Subdivision Surfaces What’s wrong with B-spline/NURBS surfaces?

Surfaces 23 Subdivision curves Idea: repeatedly refine the control polygon curve is the limit of an infinite process.

Surfaces 24 Subdivision curves

Surfaces 25 Chaikin’s algorithm In 1974, Chaikin introduced the following “corner- cutting” scheme: Start with a piecewise linear curve Repeat Insert new vertices at the midpoints (the splitting step) Average two neighboring vertices (the average step) Averaging mask (0.5, 0.5) With this averaging mask, in the limit, the resulting curve is a quadratic B- spline curve.

Surfaces 26 Local subdivision mask Subdivision mask: ¼ (1, 2, 1) Splitting and averaging: Applying the step recursively, each vertex converges to a specific point With this mask, in the limit, the resulting curve is a cubic B-spline curve.

Surfaces 27 General subdivision process After each split-average step, we are closer to the limit surface. Can we push a vertex to its limit position without infinite subdivision? Yes! We can determine the final position of a vertex by applying the evaluation mask. The evaluation mask for cubic B-spline is 1/6 (1,4, 1)

Surfaces 28 DLG interpolating scheme (1987) Algorithm: splitting step introduces midpoints, and averaging step only changes these midpoints Dyn-Levin-Gregory scheme:

Surfaces 29 Building Complex Models This simple idea can be extended to build subdivision surfaces.

Surfaces 30 Subdivision surfaces Iteratively refine a control polyhedron (or control mesh) to produce the limit surface using splitting and averaging step: There are two types of splitting schemes: vertex schemes face schemes

Surfaces 31 Vertex schemes A vertex surrounded by n faces is split into n subvertices, one for each face: Doo-Sabin subdivision:

Surfaces 32 Face schemes Each quadrilateral face is split into four subfaces: Catmull-Clark subdivision:

Surfaces 33 Face scheme, cont. Each triangular face is split into four subfaces: Loop subdivision:

Surfaces 34 Averaging step Averaging masks:

Surfaces 35 Adding creases Sometimes, a particular feature such as a crease should be preserved. we just modify the subdivision mask. This gives rise to G 0 continuous surfaces.

Surfaces 36 Creases Here’s an example using Catmull-Clark surfaces: