CS-184: Computer Graphics. Today

Similar documents
CS-184: Computer Graphics

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

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

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 10

Sung-Eui Yoon ( 윤성의 )

Computer Graphics Curves and Surfaces. Matthias Teschner

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Design considerations

Curves and Surfaces 1

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

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

2D Spline Curves. CS 4620 Lecture 18

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

Central issues in modelling

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

Curves D.A. Forsyth, with slides from John Hart

2D Spline Curves. CS 4620 Lecture 13

Rational Bezier Curves

Parametric curves. Brian Curless CSE 457 Spring 2016

Computer Graphics Splines and Curves

Fundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu.

Intro to Curves Week 1, Lecture 2

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Information Coding / Computer Graphics, ISY, LiTH. Splines

Introduction to Computer Graphics

Geometric Modeling of Curves

Curve and Surface Basics

Computer Graphics I Lecture 11

08 - Designing Approximating Curves

Intro to Curves Week 4, Lecture 7

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Intro to Modeling Modeling in 3D

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

Bezier Curves, B-Splines, NURBS

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

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

Lecture IV Bézier Curves

Representing Curves Part II. Foley & Van Dam, Chapter 11

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

The Essentials of CAGD

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Need for Parametric Equations

3D Modeling techniques

An introduction to interpolation and splines

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves, Surfaces and Recursive Subdivision

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

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Splines. Connecting the Dots

(Refer Slide Time: 00:02:24 min)

Rational Bezier Surface

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Overview of 3D Object Representations

Dgp _ lecture 2. Curves

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Overview of 3D Object Representations

Properties of Blending Functions

Advanced Computer Graphics

CS 450 Numerical Analysis. Chapter 7: Interpolation

CHAPTER 1 Graphics Systems and Models 3

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

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

Object representation

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

Introduction to Geometry. Computer Graphics CMU /15-662

Computer Graphics Spline and Surfaces

INF3320 Computer Graphics and Discrete Geometry

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation

MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches

Curves and Surface I. Angel Ch.10

Derivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation

Computational Physics PHYS 420

Subdivision Surfaces

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

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

MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves

Spline Surfaces, Subdivision Surfaces

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

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

Subdivision Surfaces

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

Freeform Curves on Spheres of Arbitrary Dimension

Modeling 3D Objects: Part 2

Final Exam CS 184: Foundations of Computer Graphics! page 1 of 12!

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Curves. Computer Graphics CSE 167 Lecture 11

Transcription:

CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases 2

Geometry Representations Constructive Solid Geometry (CSG) Parametric Polygons Subdivision surfaces Implicit Surfaces Point-based Surface Not always clear distinctions i.e. CSG done with implicits 3 Geometry Representations Object made by CSG Converted to polygons 4

Geometry Representations Object made by CSG Converted to polygons Converted to implicit surface 5 Geometry Representations CSG on implicit surfaces 6

Geometry Representations Point-based surface descriptions Ohtake, et al., SIGGRAPH 23 7 Geometry Representations Subdivision surface (different levels of refinement) Images from Subdivision.org 8

Geometry Representations Various strengths and weaknesses Ease of use for design Ease/speed for rendering Simplicity Smoothness Collision detection Flexibility (in more than one sense) Suitability for simulation many others... 9 Curves: Parametric Representations x = x(u) x R n u R Surfaces: x = x(u, v) x R n u, v R x = x(u) u R 2 Volumes: and so on... x = x(u, v, w) x = x(u) x R n u, v, w R u R 3 Note: a vector function is really n scalar functions

Parametric Rep. Non-unique Same curve/surface may have multiple formulae 3 3 2 2 - - 2 3 - - 2 3 x(u) = [u, u] x(u) = [u 3, u 3 ] Simple Differential Geometry Tangent to curve t(u) = x u Tangents to surface Normal of surface u tu(u, v) = x u u,v tv(u, v) = x v u,v ˆn = t u tv tu tv Also: curvature, curve normals, curve bi-normal, others... Degeneracies: x/ u = or tu tv = 2

Discretization Arbitrary curves have an uncountable number of parameters 3 2 - - 2 3 i.e. specify function value at all points on real number line 3 Discretization Arbitrary curves have an uncountable number of parameters Pick complete set of basis functions Polynomials, Fourier series, etc. Truncate set at some reasonable point x(u) = i= c i φ i (u) 3 3 x(u) = c i φ i (u) = c i u i i= i= Function represented by the vector (list) of The c i may themselves be vectors x(u) = c i 3 c i φ i (u) i= 4

Power Basis Polynomial Basis d x(u) = c i u i i= x(u) = C P d C = [c, c, c 2,..., c d ] P d = [, u, u 2,..., u d ] The elements of P d are linearly independant! i.e. no good approximation u k c i u i i k Skipping something would lead to bad results... odd stiffness 5 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? tu(u ) For now, assume u = u = x(u ) x(u ) tu(u ) u u 6

7 Specifying a Curve tu(u ) tu(u ) x(u ) x(u ) Given desired values (constraints) how do we determine the coefficients for cubic power basis? x() = c = x x() = c i = x x ()= c = x x ()= i c i = x 8 Specifying a Curve tu(u ) tu(u ) x(u ) x(u ) Given desired values (constraints) how do we determine the coefficients for cubic power basis? x x x x = 2 3 c c c 2 c 3 p = B c

9 Specifying a Curve tu(u ) tu(u ) x(u ) x(u ) Given desired values (constraints) how do we determine the coefficients for cubic power basis? c = β H p β H = B = 3 3 2 2 2 2 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? c = β H p β H = B = 3 3 2 2 2 tu(u ) tu(u ) x(u ) x(u ) x(u) = P 3 c = P 3 β H p = + u 3u 2 + 2u 3 + u + 3u 2 2u 3 + u 2u 2 + u 3 + u u 2 + u 3 p

Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? c = β H p x(u) = + u 3u 2 + 2u 3 + u + 3u 2 2u 3 + u 2u 2 + u 3 + u u 2 + u 3 p Hermite basis functions x(u) = 3 tu(u ) x(u x(u ) ) tu(u ) i= p i b i (u) 2 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? tu(u ) Probably not to scale. x(u ) x(u ) tu(u ) Hermite basis functions x(u) = 3 i= p i b i (u) 22

Hermite Basis Specify curve by Endpoint values Endpoint tangents (derivatives) Parameter interval is arbitrary (most times) Don t need to recompute basis functions These are cubic Hermite Could do construction for any odd degree (d )/2 derivatives at end points 23 Cubic Bézier Similar to Hermite, but specify tangents indirectly x = p x = p 3 x = 3(p p ) x = 3(p 3 p 2 ) Note: all the control points are points in space, no tangents. 24

Cubic Bézier Similar to Hermite, but specify tangents indirectly 2 3 c = 3 3 3 3 p x = p x = p 3 x = 3(p p ) x = 3(p 3 p 2 ) c = 3 3 3 6 3 3 3 p c = β Z p 25 Cubic Bézier Plot of Bézier basis functions.8.6.4.2.2.4.6.8 26

Changing Bases Power basis, Hermite, and Bézier all are still just cubic polynomials The three basis sets all span the same space Like different axes in R 3 R 4 Changing basis c = β Z p Z c = β H p H p Z = β Z β H p H 27 Useful Properties of a Basis Convex Hull All points on curve inside convex hull of control points i b i (u) = b i (u) u Ω Bézier basis has convex hull property 28

Useful Properties of a Basis Invariance under class of transforms Transforming curve is same as transforming control points x(u) = p i b i (u) T x(u) = (T p i )b i (u) i i Bézier basis invariant for affine transforms Bézier basis NOT invariant for perspective transforms NURBS are though... 29 Useful Properties of a Basis Local support Changing one control point has limited impact on entire curve Nice subdivision rules Orthogonality ( ) Fast evaluation scheme Interpolation -vs- approximation Ω b i(u)b j (u)du = δ ij 3

DeCasteljau Evaluation A geometric evaluation scheme for Bézier u = u =.25 u =.5 u =.75 u = 3 Joining a C b = b C b a = c b b G b a b a = c b c b c If you change a, b, or c you must change the others But if you change a, b, or c you do not have to change beyond those three. *Local Support* 32

Hump Functions Constraints at joining can be built in to make new basis 33 Tensor-Product Surfaces Surface is a curve swept through space Replace control points of curve with other curves x(u, v) = i p i b i (u) i q i (v) b i (u) q i (v) = j p ji b j (v) x(u, v) = ij p ij b i (u)b j (v) b ij (u, v) = b i (u)b j (v) x(u, v) = ij p ij b ij (u, v) 34

Hermite Surface Bases.75.5.25.2.4.4.6.8.6.8.2.5..5.2.4.4.6.8.6.8.2 Plus symmetries....2.5..5.2.4.6.8.2.4.6.8 35 Hermite Surface Hump Functions.75.5.25.2.4.8.6.4.75.5.25 - -.5.5 - -.5.5 Plus symmetries.... -. -.6.2.8 -.5.5 -.5..5 -.5.2.4.5.6.8.2.4.6.2. -. -.2 - -.5.8.5.2.5..5.2.4 -.6.8 -.5.2.5.4.6.8 36