Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16.

Slides:



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

© University of Wisconsin, CS559 Spring 2004
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.
Lecture 10 Curves and Surfaces I
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
Rational Bezier Curves
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Cubic Bezier and B-Spline Curves
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
ENDS 375 Foundations of Visualization Geometric Representation 9/30/04.
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
Modelling: Curves Week 11, Wed Mar 23
RASTER CONVERSION ALGORITHMS FOR CURVES: 2D SPLINES 2D Splines - Bézier curves - Spline curves.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Splines III – Bézier Curves
Computer Graphics Lecture 13 Curves and Surfaces I.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
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.
Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
Cornell CS465 Fall 2004 Lecture 15© 2004 Steve Marschner 1 2D Spline Curves CS 465 Lecture 15.
Korea University Jung Lee, Computer Graphics Laboratory 3D Game Engine Design David H. Eberly 8.3 Special Surfaces 2001/11/13.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Chapter VI Parametric Curves and Surfaces
1 CS 430/536 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing.
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
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.
Geometric Modelling 2 INFO410 & INFO350 S Jack Pinches
Procedural Models How to easily generate complex data?
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.
In the name of God Computer Graphics Bastanfard. Curve Function(2) Other method is approximate it using a poly-line. Just locate a set of points along.
Review CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005.
Parametric Curves & Surfaces
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
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.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Introduction to Curves
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Kansas State University Department of Computing and Information Sciences CIS 736: Computer Graphics Lecture 13 of 42 Wednesday, 15 February 2006 William.
1 대상물체의 형상화를 위해 사용되는 기술  인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric.
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.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
Introduction to Parametric Curve and Surface Modeling.
Lecture 24: Surface Representation
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
© University of Wisconsin, CS559 Spring 2004
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
Chapter XVII Parametric Curves and Surfaces
Coons Patches and Gregory Patches
Three-Dimensional Object Representation
Introduction to Parametric Curve and Surface Modeling
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 2 From curves to surfaces So far have discussed spline curves in 2D –it turns out that this already provides of the mathematical machinery for several ways of building curved surfaces Building surfaces from 2D curves –extrusions and surfaces of revolution Building surfaces from 2D and 3D curves –generalized swept surfaces Building surfaces from spline patches –generalizing spline curves to spline patches Also to think about: generating triangles

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 3 Extrusions Given a spline curve, define by This produces a “tube” with the given cross section –Circle: cylinder; “L”: shelf bracket; “I”: I beam It is parameterized by the spline t and the interval [a, b]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 4 Surfaces of revolution Take a 2D curve and spin it around an axis Given curve c(t) in the plane, the surface is defined easily in cylindrical coordinates: –the torus is an example in which the curve c is a circle [Hearn & Baker]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 5 Swept surfaces Surface defined by a cross section moving along a spine Simple version: a single 3D curve for spine and a single 2D curve for the cross section [Ching-Kuang Shene ]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 6 More general surfaces Extrusions are fine but lack control In sketching, it’s common to draw several cross sections rather than just one –the understanding is that there is a smooth surface that interpolates the cross sections So suppose we have several cross sections given as splines: how to define parametric surface? –know t cross section at, say, s = 0, 1, 2 –define intermediate sections by interpolating control points –use more splines to interpolate smoothly!

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 7 Splines within splines For every s the t cross-section will be defined by a spline—say it’s a cubic (4-point) Bézier segment now suppose we choose the same type of spline to represent the functions p i (s) (a single curve) (a surface defined by making the curve a function of s)

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 8 Splines within splines Using a spline to define the control points of a spline –note that you can’t tell which spline is on the outside any more: s and t are not different (from prev. slide) (each p i is a spline in s) (substitute)

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 9 From curves to surface patches Curve was sum of weighted 1D basis functions Surface is sum of weighted 2D basis functions –construct them as separable products of 1D fns. –choice of different splines spline type order closed/open (B-spline)

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 10 Separable product construction

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 11 Bilinear patch Simplest case: 4 points, cross product of two linear segments –basis function is a 3D tent [Rogers]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 12 Bicubic Bézier patch Cross product of two cubic Bézier segments –properties that carry over interpolation at corners, edges tangency at corners, edges convex hull [Hearn & Baker] [Foley et al.]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 13 Biquadratic Bézier patch Cross product of quadratic Bézier curves [Hearn & Baker]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 14 3x5 Bézier patch Cross product of quadratic and quartic Béziers [Rogers]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 15 Cylindrical B-spline surfaces Cross product of closed and open cubic B-splines [Rogers]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 16 Joining spline patches Example: Bézier patches –conditions for C1 are similar to curve –conditions for G1 allow any coplanar structure… [Foley et al.]

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 17 Joining multiple patches Joining a 4-way corner is fairly simple –constraints from multiple joins are compatible –this makes patches tileable into large sheets Joining at irregular corners is quite messy –constraints become contradictory e.g. at 3-way corner –this is problematic for building anything with topology different from plane, cylinder, or torus it is possible, though—just messy

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 18 Approximating spline surfaces Similarly to curves, approximate with simple primitives –in surface case, triangles or quads –quads widely used because they fit in parameter space generally eventually rendered as pairs of triangles adaptive subdivision –basic approach: recursively test flatness if the patch is not flat enough, subdivide into four using curve subdivision twice, and recursively process each piece –as with curves, convex hull property is useful for termination testing (and is inherited from the curves)

Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 19 Approximating spline surfaces With adaptive subdivision, must take care with cracks –(at the boundaries between degrees of subdivision)