Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Similar documents
Curve and Surface Basics

Parametric curves. Brian Curless CSE 457 Spring 2016

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

Curves and Surface I. Angel Ch.10

Curves and Surfaces Computer Graphics I Lecture 9

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

Geometric Modeling of Curves

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

3D Modeling Parametric Curves & Surfaces

Computergrafik. Matthias Zwicker. Herbst 2010

3D Modeling techniques

Design considerations

Curves and Surfaces Computer Graphics I Lecture 10

Sung-Eui Yoon ( 윤성의 )

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

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

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

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

Intro to Curves Week 1, Lecture 2

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

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

Intro to Curves Week 4, Lecture 7

Spline Surfaces, Subdivision Surfaces

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

Rational Bezier Surface

Goals: Course Unit: Describing Moving Objects Different Ways of Representing Functions Vector-valued Functions, or Parametric Curves

CS770/870 Spring 2017 Ray Tracing Implementation

CGT 581 G Geometric Modeling Curves

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

Part II: OUTLINE. Visualizing Quaternions. Part II: Visualizing Quaternion Geometry. The Spherical Projection Trick: Visualizing unit vectors.

Need for Parametric Equations

Flank Millable Surface Design with Conical and Barrel Tools

On an approach for cubic Bézier interpolation

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

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

Graphics Pipeline 2D Geometric Transformations

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

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

Graphics and Interaction Transformation geometry and homogeneous coordinates

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

Dgp _ lecture 2. Curves

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Equation of tangent plane: for explicitly defined surfaces

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

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

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

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

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

Central issues in modelling

Curves. Computer Graphics CSE 167 Lecture 11

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

Bezier Curves, B-Splines, NURBS

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

Animation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala

Design, Computation and Computer Controlled Devices

16.6. Parametric Surfaces. Parametric Surfaces. Parametric Surfaces. Vector Calculus. Parametric Surfaces and Their Areas

Quadric surface. Ellipsoid

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

S206E Lecture 17, 5/1/2018, Rhino & Grasshopper, Tower modeling

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

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

Review 1. Richard Koch. April 23, 2005

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Spline Morphing. CG software practical course in the IWR. Carl Friedrich Bolz. Carl Friedrich Bolz

Introduction to Computer Graphics

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

Transformations Week 9, Lecture 18

Objects 2: Curves & Splines Christian Miller CS Fall 2011

2D Spline Curves. CS 4620 Lecture 13

E-learning solutions in curve and surface design Corina DanaSimian

Polygon Meshes and Implicit Surfaces

Almost Curvature Continuous Fitting of B-Spline Surfaces

Polygon Meshes and Implicit Surfaces

A story about Non Uniform Rational B-Splines. E. Shcherbakov

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Splines. Connecting the Dots

Interpolating/approximating pp gcurves

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

B-spline Curves. Smoother than other curve forms

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

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

Curves and Surfaces for Computer-Aided Geometric Design

2D/3D Geometric Transformations and Scene Graphs

The Essentials of CAGD

An Introduction to Bezier Curves, B-Splines, and Tensor Product Surfaces with History and Applications

Information Coding / Computer Graphics, ISY, LiTH. Splines

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:

Essential Mathematics for Computational Design

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

ECE 600, Dr. Farag, Summer 09

Implicit Generalized Cylinders using Profile Curves

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

CS3621 Midterm Solution (Fall 2005) 150 points

Computer Graphics Spline and Surfaces

8 Project # 2: Bézier curves

Transcription:

Reading Required: Angel readings for Parametric Curves lecture, with emphasis on 11.1.2, 11.1.3, 11.1.5, 11.6.2, 11.7.3, 11.9.4. Parametric surfaces Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric Modeling, 1987. 1 2 Mathematical surface representations Surfaces of revolution Explicit z=f(x,y) (a.k.a., a height field ) what if the curve isn t a function, like a sphere? Implicit g(x,y,z) = 0 Idea: rotate a 2D profile curve around an axis. What kinds of shapes can you model this way? Parametric S(u,v)=(x(u,v),y(u,v),z(u,v)) For the sphere: x(u,v) = r cos 2πv sin πu y(u,v) = r sin 2πv sin πu z(u,v) = r cos πu As with curves, we ll focus on parametric surfaces. 3 4

Constructing surfaces of revolution General sweep surfaces he surface of revolution is a special case of a swept surface. Idea: race out surface S(u,v) by moving a profile curve C(u) along a trajectory curve (v). Given: A curve C(u) in the xy-plane: cx ( u) c y ( u) Cu ( ) = 0 1 Let R x (θ) be a rotation about the x-axis. Find: A surface S(u,v) which is C(u) rotated about the x-axis. Solution: More specifically: Suppose that C(u) lies in an (x c,y c ) coordinate system with origin O c. For every point along (v), lay C(u) so that O c coincides with (v). 5 6 Orientation he big issue: How to orient C(u) as it moves along (v)? Frenet frames Motivation: Given a curve (v), we want to attach a smoothly varying coordinate system. Here are two options: 1. Fixed (or static): Just translate O c along (v). o get a 3D coordinate system, we need 3 independent direction vectors. 2. Moving. Use the Frenet frame of (v). Allows smoothly varying orientation. Permits surfaces of revolution, for example. angent: t( v) = normalize[ ( v)] Binormal: b( v) = normalize[ ( v) ( v)] Normal: n( v) = b( v) t( v) As we move along (v), the Frenet frame (t,b,n) varies smoothly. 7 8

Frenet swept surfaces Orient the profile curve C(u) using the Frenet frame of the trajectory (v): Put C(u) in the normal plane. Place O c on (v). Align x c for C(u) with b. Align y c for C(u) with -n. Variations Several variations are possible: Scale C(u) as it moves, possibly using length of (v) as a scale factor. Morph C(u) into some other curve Cu ( ) as it moves along (v). If (v) is a circle, you get a surface of revolution exactly! Where might these frames be ambiguous or undetermined? 9 10 ensor product Bézier surfaces ensor product Bézier surfaces, cont. Let s walk through the steps: Given a grid of control points V ij, forming a control net, contruct a surface S(u,v) by: treating rows of V (the matrix consisting of the V ij ) as control points for curves V 0 (u),, V n (u). treating V 0 (u),, V n (u) as control points for a curve parameterized by v. Which control points are interpolated by the surface? 11 12

Matrix form of Bézier curves and surfaces ensor product B-spline surfaces Recall that Bézier curves can be written in terms of the Bernstein polynomials: Qu ( ) = Vb i i( u) i= 0 hey can also be written in a matrix form: n As with spline curves, we can piece together a sequence of Bézier surfaces to make a spline surface. If we enforce C 2 continuity and local control, we get B-spline curves: -1 3-3 1 V0 3-6 3 0 3 2 V1 Q ( u) = u u u 1-3 3 0 0 V 2 1 0 0 0 V 3 3 2 = u u u 1 M V Bezier curve ensor product surfaces can be written out similarly: n n S( u,v ) = V b ( u) b ( v) i=0 j=0 ij i j 3 v 2 3 2 v = u u u 1 MBézierVsurfaceMBézier v 1 13 treat rows of B as control points to generate Bézier control points in u. treat Bézier control points in u as B-spline control points in v. treat B-spline control points in v to generate Bézier control points in u. 14 ensor product B-spline surfaces, cont. Matrix form of B-spline surfaces For curves, we can write a matrix that generates Bezier control points from B-spline control points: V0 1/ 6 2 / 3 1/ 6 0 B0 0 2/3 1/3 0 V1 B1 = V 0 1/3 2/3 0 2 B 2 V 0 1/6 2/3 1/6 3 B3 V =M B curve B-spline curve We can arrive at a similar form for tensor product B-spline surfaces: V = M B M surface B-spline surface B-spline Which B-spline control points are interpolated by the surface? 15 16

ensor product B-splines, cont. Another example: rimmed NURBS surfaces Uniform B-spline surfaces are a special case of NURBS surfaces. Sometimes, we want to have control over which parts of a NURBS surface get drawn. For example: B 03 B 33 B 00 B 30 17 We can do this by trimming the u-v domain. Define a closed curve in the u-v domain (a trim curve) Do not draw the surface points inside of this curve. It s really hard to maintain continuity in these regions, especially while animating. 18 Summary What to take home: How to construct swept surfaces from a profile and trajectory curve: with a fixed frame with a Frenet frame How to construct tensor product Bézier surfaces How to construct tensor product B-spline surfaces 19