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

Size: px
Start display at page:

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

Transcription

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

2 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface Patches 1

3 Curves: Summary Use a few control points to describe a curve in space Construct a function x(t) moves a point from start to end of curve as t goes from 0 to 1 tangent to the curve is given by derivative x (t) We looked at: Linear -- trivial case, just to get oriented Bézier curves -- in particular, cubic p 1 p 2 p 1 p 1 p 3 p 0 p 0 Linear Quadratic Cubic p 0 p 2 2

4 Linear Interpolation: Summary Given two points p 0 and p 1 Curve is line segment between them p 0. 0<t<1 t=0. p 1 t=1 Three ways of writing expression: x(t) (1 t)p 0 (t)p 1 Weighted average of the control points x(t) (p 1 p 0 )t p 0 Polynomial in t 1 1 x(t) p 0 p 1 t Matrix form 3

5 Cubic Bézier Curve: Summary Given four points p 0, p 1, p 2, p 3 curve interpolates the endpoints intermediate points adjust shape: tangent handles p 1 Recursive geometric construction de Casteljau algorithm p 0 x Three ways to express curve Weighted average of the control points: Bernstein polynomials Polynomial in t Matrix form p 2 p 3 4

6 Cubic Bézier: Bernstein Polynomials x(t) B 0 t p 0 B 1 t p 1 B 2 t p 2 B 3 t p 3 The cubic Bernstein polynomials : B 0 t t 3 3t 2 3t 1 B 1 t 3t 3 6t 2 3t B 2 t 3t 3 3t 2 t t 3 B 3 B i (t) 1 Notice: Weights always add to 1 B 0 and B 3 go to 1 -- interpolating the endpoints 5

7 Cubic Bézier: Polynomial, Matrix, Notation Polynomial in t : x(t) at 3 bt 2 ct d Matrix form: x(t) p 0 p 1 p 2 p 3 G Bez a p 0 3p 1 3p 2 p 3 b 3p 0 6p 1 3p 2 c 3p 0 3p 1 d p t t t T B Bez (New) Notation: Bez(t,p 0,p 1,p 2,p 3 ) x(t) for the given control points 6

8 Tangent to Cubic Bézier Polynomial in t : x (t) 3at 2 2bt c Matrix form: x (t) p 0 p 1 p 2 p 3 G Bez a p 0 3p 1 3p 2 p 3 b 3p 0 6p 1 3p 2 c 3p 0 3p 1 d p t t T B Bez d not used in tangent Notation: Bez (t,p 0,p 1,p 2,p 3 ) x (t) for the given control points 7

9 n th -order Bézier curve B i n n xt B n i t p i t i0 n i 1 tni t B 0 1 B 1 1 t t 1 B 2 0 t t 2 2t 1 B 3 0 t t 3 3t 2 3t 1 t t B 2 1 t 2t 2 2t B 3 1 t 3t 3 6t 2 3t B 2 2 t t 2 B 3 2 t 3t 3 3t 2 B 3 3 t t 3 8

10 Evaluate/draw curves by: Sampling uniformly in t x(t) x(0.5) x(1.0) x(0.25) x(0.75) x(0.0) Adaptive/Recursive Subdivision x(t) 9

11 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface Patches 10

12 More control points Cubic Bézier curve limited to 4 control points Cubic curve can only have one inflection Need more control points for more complex curves With k points, could define a k-1 order Bézier But it s hard to control and hard to work with The intermediate points don t have obvious effect on shape Changing any control point can change the whole curve Want local support: each control point only influences nearby portion of curve 11

13 Piecewise Curves With a large number of points Construct a curve that is a sequence of simple (low-order) curves end-to-end Known as a piecewise polynomial curve E.g., a sequence of line segments: a piecewise linear curve E.g., a sequence of cubic curve segments: a piecewise cubic curve In this case, piecewise Bézier 12

14 Continuity For the whole curve to look smooth, we need to consider continuity: C 0 continuity: no gaps. The segments must match at the endpoints C 1 continuity: no corners. The tangents must match at the endpoints C 2 continuity: tangents vary smoothly (curvatures match). (smoother curves.) Note also: G 1, G 2, etc. continuity Looks at geometric continuity without considering parametric continuity Roughly, means that the tangent directions must match, but not the magnitudes Gets around bad parametrizations Often it s what we really want, but it s harder to compute 13

15 Constructing a single curve from many Given N curve segments: x 0 (t), x 1 (t),, x N-1 (t) Each is parameterized for t from 0 to 1 Define a new curve, with u from 0 to N: x(u) x 0 (u), 0 u 1 x 1 (u 1), 1 u 2 x N 1 (u N 1), N 1 u N x(u) x i (u i), where i u (and x(n) x N 1 (1)) Alternate: u also goes from 0 to 1 x(u) x i (Nu i), where i Nu 14

16 Piecewise-Linear curve Given N+1 points p 0, p 1,, p N Define curve: x(u) Lerp(u i,p i,p i1 ), i u i 1 (1 u i)p i (u i)p i1, i u p 0 p 1 x(1.5) x(2.9) p 2 p 3 p 4 p 5 x(5.25) p 6 N+1 points define N linear segments x(i)=p i C 0 continuous by construction G 1 at p i when p i-1, p i, p i+1 are collinear C 1 at p i when p i -p i-1 = p i+1 -p i 15

17 Piecewise Bézier curve: segments Given 3N 1 points p 0,p 1, Define N Bézier segments:,p 3N x 0 (t) B 0 (t)p 0 B 1 (t)p 1 B 2 (t)p 2 B 3 (t)p 3 x 1 (t) B 0 (t)p 3 B 1 (t)p 4 B 2 (t)p 5 B 3 (t)p 6 x N 1 (t) B 0 (t)p 3N 3 B 1 (t)p 3N 2 B 2 (t)p 3N 1 B 3 (t)p 3N p 7 p 8 p 0 p 1 x 0 (t) p 2 p 3 x 1 (t) p 6 x 2 (t) p 9 x 3 (t) p 10 p 11 p 12 p 4 p 5 16

18 Piecewise Bézier curve x(u) x 0 ( 1 u), 0 u 3 3 x 1 ( 1 u 1), 3 u 6 3 x N 1 ( 1 3 u (N 1)), 3N 3 u 3N 1 x(u) x i u i 3, where i 1 u 3 x 2 (t) x(8.75) x 0 (t) x 1 (t) x 3 (t) x(3.5) 17

19 Piecewise Bézier curve 3N+1 points define N Bézier segments x(i)=p 3i C 0 continuous by construction G 1 continuous at p 3i when p 3i-1, p 3i, p 3i+1 are collinear C 1 continuous at p 3i when p 3i -p 3i-1 = p 3i+1 -p 3i C 2 is harder to get p 4 p 2 p 1 p 2 P 3 p p 1 P 6 p 3 6 p 4 p 5 p 0 p 0 C 1 discontinuous C 1 continuous p 5 18

20 Piecewise Bézier curves Used often in 2D drawing programs. Inconveniences: Must have 4 or 7 or 10 or 13 or (1 plus a multiple of 3) points Not all points are the same UI inconvenience: Interpolate, approximate, approximate, interpolate, Math inconvenience: Different weight functions for each point. UI solution: Bézier Handles Math solution: B-spline 19

21 UI for Bézier Curve Handles Bézier segment points: Interpolating points presented normally as curve control points Approximating points presented as handles on the curve points UI features: All curve control points are the same Can have option to enforce C 1 continuity ( 20

22 Blending Functions Evaluate using Sliding window Local support: Window spans 4 points Window contains 4 different Bernstein polynomials Window moves forward by 3 units when u passes to next Bézier segment Evaluate matrix in window: x(u) t 3 t 2 t 1 T B Bez p 3i p 3i1 p 3i2 p 3i 3 G Bez where t 1 3 u i and i 1 u 3 21

23 B-spline blending functions Still a sliding window, but use same weight function for every point Weight function goes to 0 outside the 4-point neighborhood local support -- each spot on curve only affected by neighbors Shift window by 1, not by 3 No discrete segments: every point is the same x(u) t 3 t 2 t T B B spline p i p i1 p i2 p i 3 G B spline where t u i and i u 22

24 B-Spline Widely used for surface modeling Intuitive behavior Local support: curve only affected by nearby control points Techniques for inserting new points, joining curves, etc. Does not interpolate endpoints Not a problem for closed curves Sometimes use Bézier blending at the ends But wait, there s more! Rational B-Splines Non-uniform Rational B-Splines (NURBs) 23

25 Rational Curves Big drawback of all cubic curves: can t make circles! Nor ellipses, nor arcs. I.e. can t make conic sections. Rational B-spline: Add a weight to each point. Homogeneous point: use w. Weight causes point to pull more (or less). With proper points & weights, can do circles. pull more pull less Rational B-splines widely used for surface modeling Need UI to adjust the weight. Often hand-drawn curves are unweighted, but automatically-generated curves for circles etc. have weights. 24

26 Non-Uniform Rational B-Spline (NURBS) Don t assume that control points are equidistant in u Introduce knot vector that describes the separation of the points. Features Allows tighter bends or corners. Allows corners (C 1 discontinuity). Certain knot values turn out to give a Bézier segment. Allows mixing interpolating (e.g. at endpoints) & approximating. Math is messier Read about it in references. Very widely used for surface modeling Can interactively create as if uniform. Techniques for cutting, inserting, merging, filleting, revolving, etc 25

27 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface Patches 26

28 Curved Surfaces Remember the overview of curves: Described by a series of control points A function x(t) Segments joined together to form a longer curve Same for surfaces, but now 2 dimensions Described by a mesh of control points A function x(u,v) Patches joined together to form a bigger surface. 27

29 Parametric Surface Patch x(u,v) describes a point in space for any given (u,v) pair u,v each range from 0 to 1 Rectangular topology v x(0.8,0.7) z y u x(0.4,v) x(u,0.25) x Parametric curves: For fixed u 0, have a v curve x(u 0,v) For fixed v 0, have a u curve x(u,t 0 ) For any point on the surface, there are a pair of parametric curves that go through point v 1 0 u 1 28

30 Parametric Surface Tangents The tangent to a parametric curve is also tangent to the surface For any point on the surface, there are a pair of (parametric) tangent vectors Note: not necessarily perpendicular to each other v x v Notation: u The tangent along a u curve, AKA the tangent in the u direction, is written as: x (u,v) or u u x(u,v) or x (u,v) u The tangent along a v curve, AKA the tangent in the v direction, is written as: x v (u,v) or v x(u,v) or x v (u,v) x u Note that each of these is a vector-valued function: At each point x(u,v) on the surface, we have tangent vectors u x(u,v) and v x(u,v) 29

31 Parametric Surface Normal Get the normal to a surface at any point by taking the cross product of the two parametric tangent vectors at that point. Order matters! n x v x u n(u,v) x x (u,v) u v (u,v) Typically we are interested in the unit normal, so we need to normalize n * (u,v) x x (u,v) u v (u,v) n(u,v) n* (u,v) n * (u,v) 30

32 Polynomial Surface Patches x(s,t) is typically polynomial in both s and t Bilinear: x(s,t) ast bs ct d x(s,t) (at b)s (ct d) -- hold t constant linear in s x(s,t) (as c)t (bs d) -- hold s constant linear in t Bicubic: x(s,t) as 3 t 3 bs 3 t 2 cs 3 t 2 ds 3 es 2 t 3 fs 2 t 2 gs 2 t hs 2 ist 3 jst 2 kst ls mt 3 nt 2 ot p x(s,t) (at 3 bt 2 ct d)s 3 (et 3 ft 2 gt h)s 2 (it 3 jt 2 kt l)s (mt 3 nt 2 ot p) -- hold t constant cubic in s x(s,t) (as 3 es 2 is m)t 3 (bs 3 fs 2 js n)t 2 (cs 3 gs 2 ks o)t (ds 3 hs 2 ls p) -- hold s constant cubic in t 31

33 Bilinear Patch (control mesh) A bilinear patch is defined by a control mesh with four points p 0, p 1, p 2, p 3 AKA a (possibly-non-planar) quadrilateral Compute x(u,v) using a two-step construction p 2 p 3 v p 0 p 1 u 32

34 Bilinear Patch (step 1) For a given value of u, evaluate the linear curves on the two u-direction edges Use the same value u for both: q 0 =Lerp(u,p 0,p 1 ) q 1 =Lerp(u,p 2,p 3 ) p 2 q 1 p 3 v p 0 q 0 p 1 u 33

35 Bilinear Patch (step 2) Consider that q 0, q 1 define a line segment. Evaluate it using v to get x x Lerp(v,q 0,q 1 ) p 2 q 1 v x p 3 p 0 q 0 p 1 u 34

36 Bilinear Patch (full) Combining the steps, we get the full formula x(u,v) Lerp(v,Lerp(u,p 0,p 1 ),Lerp(u,p 2,p 3 )) p 2 q 1 v x p 3 p 0 q 0 p 1 u 35

37 Bilinear Patch (other order) Try the other order: evaluate first in the v direction r 0 Lerp(v,p 0,p 2 ) r 1 Lerp(v,p 1,p 3 ) p 2 v r 0 r 1 p 3 p 0 p 1 u 36

38 Bilinear Patch (other order, step 2) Consider that r 0, r 1 define a line segment. Evaluate it using u to get x x Lerp(u,r 0,r 1 ) p 2 v r 0 x r 1 p 3 p 0 p 1 u 37

39 Bilinear Patch (other order, full) The full formula for the v direction first: x(u,v) Lerp(u,Lerp(v,p 0,p 2 ), Lerp(v,p 1,p 3 )) p 2 v r 0 x r 1 p 3 p 0 p 1 u 38

40 Bilinear Patch (either order) It works out the same either way! x(u,v) Lerp(v, Lerp(u,p 0,p 1 ), Lerp(u,p 2,p 3 )) x(u,v) Lerp(u, Lerp(v,p 0,p 2 ), Lerp(v,p 1,p 3 )) p 2 q 1 v r 0 x r 1 p 3 p 0 q 0 p 1 u 39

41 Bilinear Patch 40

42 Bilinear patch formulations As a weighted average of control points: x(u,v) (1 u)(1 v)p 0 u(1 v)p 1 (1 u)vp 2 uvp 3 In polynomial form: x(u,v) (p 0 p 1 p 2 p 3 )uv (p 1 p 0 )u (p 2 p 0 )v p 0 41

43 Bilinear patch: Matrix form We have this matrix form for linear curves: x(t) p 0 p t Can derive this for bilinear patches: x x (u,v) v 1 x y (u,v) v 1 x z (u,v) v V T Compactly, we have: x(u,v) V T C x U V T C y U V T C z U BT Lin p 0 x p 2 x p 0 y p 2 y p 0z p 2z where G x,y,z p 1x p 3x p 1y p 3y p 1z p 3z 1 1 u u u U B Lin C x B T Lin G x B Lin C y B T Lin G y B Lin C z B T Lin G z B Lin are constants 42

44 Bilinear Patch Properties of the bilinear patch: Interpolates the control points The boundaries are straight line segments connecting the control points If the all 4 points of the control mesh are co-planar, the patch is flat If the points are not coplanar, get a curved surface saddle shape, AKA hyperbolic paraboloid The parametric curves are all straight line segments! a (doubly) ruled surface: has (two) straight lines through every point Kinda nifty, but not terribly useful as a modeling primitive 43

45 Bézier Control Mesh A bicubic patch has a grid of 4x4 control points, p 0 through p 15 Defines four Bézier curves along u: p 0,1,2,3 ; p 4,5,6,7 ; p 8,9,10,11 ; p 12,13,14,15 Defines four Bézier curves along v: p 0,4,8,12 ; p 1,6,9,13 ; p 2,6,10,14 ; p 3,7,11,15 Evaluate using same approach as bilinear p 12 p13 v p 4 p 5 p 0 p 1 p 8 p 9 p 14 p 10 p 11 p15 u p 2 p 6 p 7 p3 44

46 Bézier patch (step 1) Evaluate all four of the u-direction Bézier curves at u, to get points q 0 q 3 q 0 Bez(u,p 0,p 1,p 2,p 3 ) q 1 Bez(u,p 4,p 5,p 6,p 7 ) q 2 Bez(u,p 8,p 9,p 10,p 11 ) q 3 Bez(u,p 12,p 13,p 14,p 15 ) p 12 p13 q 3 v p 8 p 9 p 4 p 5 q 2 q 1 p 14 p15 p 0 p 1 u q 0 p 2 p 6 p 7 p 10 p 11 p3 45

47 Bézier patch (step 2) Consider that points q 0 q 3 define a Bézier curve; evaluate it at v x(u,v) Bez(v,q 0,q 1,q 2,q 3 ) p 12 p13 q 3 v p 8 p 9 p 4 p 5 q 2 q 1 x p 14 p15 p 0 p 1 u q 0 p 2 p 6 p 7 p 10 p 11 p3 46

48 Bézier patch (either order) Sure enough, you get the same result in either order. q 0 Bez(u,p 0,p 1,p 2,p 3 ) r 0 Bez(v,p 0,p 4,p 8,p 12 ) q 1 Bez(u,p 4,p 5,p 6,p 7 ) r 1 Bez(v,p 1,p 5,p 9,p 13 ) q 2 Bez(u,p 8,p 9,p 10,p 11 ) r 2 Bez(v,p 2,p 6,p 10,p 14 ) q 3 Bez(u,p 12,p 13,p 14,p 15 ) r 3 Bez(v,p 3,p 7,p 11,p 15 ) x(u,v) Bez(v,q 0,q 1,q 2,q 3 ) x(u,v) Bez(u,r 0,r 1,r 2,r 3 ) v p 4 p 5 q 2 q 1 p 0 p 1 p 12 r 0 r 1 p 8 p 9 p13 q 3 x p 14 p15 r 2 r 3 u q 0 p 2 p 6 p 7 p 10 p 11 p3 47

49 Bézier patch Properties: Convex hull: any point on the surface will fall within the convex hull of the control points Interpolates 4 corner points. Approximates other 12 points, which act as handles The boundaries of the patch are the Bézier curves defined by the points on the mesh edges The parametric curves are all Bézier curves 48

50 Evaluating a Bézier patch Most straightforward: follow the 2-step construction Lets you evaluate patch using existing methods for evaluting curves Won t write out the weighted average or polynomial forms But can do matrix form 49

51 Bézier patch, matrix form U u 1 u 3 u 2 V v 1 v 3 v 2 B Bez C x B T Bez G x B Bez C y B T Bez G y B Bez G x C z B T Bez G z B Bez xu,v V T C x U V T C y U V T C z U T B Bez p 0 x p 1x p 2 x p 3x p 4 x p 5 x p 6 x p 7 x, G p 8 x p 9 x p 10 x p 11x y =, G z = p 12 x p 13x p 14 x p 15 x 50

52 Bézier patch, matrix form C x stores the coefficients of the bicubic equation for x C y stores the coefficients of the bicubic equation for y C z stores the coefficients of the bicubic equation for z G x stores the geometry (x components of the control points) G y stores the geometry (y components of the control points) G z stores the geometry (z components of the control points) B Bez is the basis matrix (Bézier basis) U and V are the vectors formed from the powers of u and v Compact notation Leads to efficient method of computation Can take advantage of hardware support for 4x4 matrix arithmetic 51

53 Tangents of Bézier patch The q and r curves we constructed are actually the parametric curves at x(u,v) Remember, tangents to surface = tangents to parametric curves. So we can compute the tangents using the same construction curves! Notice that the tangent in the u direction is for the curve that varies in u, i.e. for the r curve; Similarly, the tangent in the v direction is for the q curve. (Get the normal as usual by taking cross product of the tangents.) v p 4 p 5 q 2 q 1 p 0 p 1 p p r 0 r 1 p 8 p 9 q 3 x x v p 14 x p 15 u r 2 r 3 u q 0 p 2 p 6 p 7 p 10 p 11 p3 52

54 Tangents of Bézier patch, construction x v q 0 Bez(u,p 0,p 1,p 2,p 3 ) q 1 Bez(u,p 4,p 5,p 6,p 7 ) q 2 Bez(u,p 8,p 9,p 10,p 11 ) q 3 Bez(u,p 12,p 13,p 14,p 15 ) (u,v) Be z (v,q 0,q 1,q 2,q 3 ) v p 0 p 1 p p r 0 r 1 p 8 p 9 p 4 p 5 q 2 q 1 q 3 x x v x u r 0 Bez(v,p 0,p 4,p 8,p 12 ) r 1 Bez(v,p 1,p 5,p 9,p 13 ) r 2 Bez(v,p 2,p 6,p 10,p 14 ) r 3 Bez(v,p 3,p 7,p 11,p 15 ) (u,v) Be z (u,r 0,r 1,r 2,r 3 ) p 14 x p 15 u r 2 r 3 u q 0 p 2 p 6 p 7 p 10 p 11 p3 53

55 Tangents of Bézier patch, matrix form The matrix form makes it easy to evaluate the tangents directly: u 3 u 2 U u 1 U x u (u,v) 3u 2 2u 1 0 x(u,v) V T C x U V T C y U V T C z U V V T C x U V T C y U V T C z U v 3 v 2 v 1 x v (u,v) V 3v 2 2v 1 0 V T C x U V T C y U V T C z U 54

56 Tessellating a Bézier patch Uniform tessellation is most straightforward Evaluate points on a grid Compute tangents at each point, take cross product to get per-vertex normal Draw triangle strips (several choices of direction) Adaptive tessellation/recursive subdivision Potential for cracks if patches on opposite sides of an edge divide differently Tricky to get right, but can be done. 55

57 Building a surface from Bézier patches Lay out grid of adjacent meshes For C 0 continuity, must share points on the edge Each edge of a Bézier patch is a Bézier curve based only on the edge mesh points So if adjacent meshes share edge points, the patches will line up exactly. But we have a crease 56

58 C 1 continuity across Bézier edges We want the parametric curves that cross each edge to have C 1 continuity So the handles must be equal-and-opposite across the edge: 57

59 Modeling with Bézier patches Original Utah teapot specified as Bézier Patches 58

60 Modeling Headaches Original Teapot isn t watertight spout & handle intersect with body no bottom hole in spout gap between lid and body Rectangular topology makes it hard to: join or abut curved pieces build surfaces with holes build surfaces with awkward topology or structure 59

61 Advanced surface modeling B-spline patches For the same reason as using B-spline curves More uniform behavior Better mathematical properties Does not interpolate any control points. 60

62 Advanced surface modeling NURBS surfaces. Can take on more shapes conic sections kinks Can blend, merge, fillet, Still has rectangular topology, though.. 61

63 Advanced surface modeling Trim curves: cut away part of surface Implement as part of tessellation/rendering And/or construct new geometry 62

64 Subdivision Surfaces Arbitrary mesh, not rectangular topology Not parametric No u,v parameters Can make surfaces with arbitrary topology or connectivity Work by recursively subdividing mesh faces Per-vertex annotation for weights, corners, creases Used in particular for character animation: One surface rather than collection of patches Can deform geometry without creating cracks 63

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Curves. Computer Graphics CSE 167 Lecture 11

Curves. Computer Graphics CSE 167 Lecture 11 Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen

More information

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

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next

More information

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

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:

More information

Today. B-splines. B-splines. B-splines. Computergrafik. Curves NURBS Surfaces. Bilinear patch Bicubic Bézier patch Advanced surface modeling

Today. B-splines. B-splines. B-splines. Computergrafik. Curves NURBS Surfaces. Bilinear patch Bicubic Bézier patch Advanced surface modeling Comptergrafik Matthias Zwicker Uniersität Bern Herbst 29 Cres Srfaces Parametric srfaces Bicbic Bézier patch Adanced srface modeling Piecewise Bézier cres Each segment spans for control points Each segment

More information

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework assignment 5 due tomorrow, Nov

More information

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

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

B-spline Curves. Smoother than other curve forms

B-spline Curves. Smoother than other curve forms Curves and Surfaces B-spline Curves These curves are approximating rather than interpolating curves. The curves come close to, but may not actually pass through, the control points. Usually used as multiple,

More information

Design considerations

Design considerations Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

More information

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

More information

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

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

Information Coding / Computer Graphics, ISY, LiTH. Splines

Information Coding / Computer Graphics, ISY, LiTH. Splines 28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

More information

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

Representing Curves Part II. Foley & Van Dam, Chapter 11 Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

More information

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 9 15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

More information

The Free-form Surface Modelling System

The Free-form Surface Modelling System 1. Introduction The Free-form Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many real-world objects are inherently smooth (fig.1), and much

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

Rational Bezier Curves

Rational Bezier Curves Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)

More information

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

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Objects 2: Curves & Splines Christian Miller CS Fall 2011 Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary

More information

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler Curves & Surfaces Schedule Sunday October 5 th, * 3-5 PM * Review Session for Quiz 1 Extra Office Hours on Monday Tuesday October 7 th : Quiz 1: In class 1 hand-written 8.5x11 sheet of notes allowed Wednesday

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

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

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces CS 4620 Lecture 31 Cornell CS4620 Fall 2015 1 Administration A5 due on Friday Dreamworks visiting Thu/Fri Rest of class Surfaces, Animation, Rendering w/ prior instructor Steve Marschner

More information

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

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

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

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques 436-105 Engineering Communications GL9:1 GL9: CAD techniques Curves Surfaces Solids Techniques Parametric curves GL9:2 x = a 1 + b 1 u + c 1 u 2 + d 1 u 3 + y = a 2 + b 2 u + c 2 u 2 + d 2 u 3 + z = a

More information

The Essentials of CAGD

The Essentials of CAGD The Essentials of CAGD Chapter 6: Bézier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2 Farin & Hansford The

More information

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

CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves Tamar Shinar Computer Science & Engineering UC Riverside Design considerations local control of shape design each segment independently smoothness and continuity ability

More information

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

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

Subdivision Surfaces. Homework 1: Questions/Comments?

Subdivision Surfaces. Homework 1: Questions/Comments? Subdivision Surfaces Homework 1: Questions/Comments? 1 Questions on Homework? What s an illegal edge collapse? 1 2 3 a b 4 7 To be legal, the ring of vertex neighbors must be unique (have no duplicates)!

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

More information

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

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D From curves to surfaces Parametric surfaces and solid modeling CS 465 Lecture 12 2007 Doug James & Steve Marschner 1 So far have discussed spline curves in 2D it turns out that this already provides of

More information

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

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

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

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial

More information

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse? Homework 1: Questions/Comments? Subdivision Surfaces Questions on Homework? Last Time? What s an illegal edge collapse? Curves & Surfaces Continuity Definitions 2 3 C0, G1, C1, C 1 a b 4 Interpolation

More information

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

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required: Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric

More information

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

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15 Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

More information

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

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Further Graphics Bezier Curves and Surfaces Alex Benton, University of Cambridge alex@bentonian.com 1 Supported in part by Google UK, Ltd CAD, CAM, and a new motivation: shiny things Expensive products

More information

Splines. Connecting the Dots

Splines. Connecting the Dots Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More

More information

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

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches Homework 1: Questions/Comments? Subdivision Surfaces Last Time? Curves & Surfaces Continuity Definitions Spline Surfaces / Patches Tensor Product Bilinear Patches Bezier Patches Trimming Curves C0, G1,

More information

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

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

More information

Curves and Surfaces 2

Curves and Surfaces 2 Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision

More information

CS-184: Computer Graphics

CS-184: Computer Graphics CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

More information

Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

More information

Spline Surfaces, Subdivision Surfaces

Spline Surfaces, Subdivision Surfaces CS-C3100 Computer Graphics Spline Surfaces, Subdivision Surfaces vectorportal.com Trivia Assignment 1 due this Sunday! Feedback on the starter code, difficulty, etc., much appreciated Put in your README

More information

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

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

More information

08 - Designing Approximating Curves

08 - Designing Approximating Curves 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

More information

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products

More information

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

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November Surfaces for CAGD FSP Tutorial FSP-Seminar, Graz, November 2005 1 Tensor Product Surfaces Given: two curve schemes (Bézier curves or B splines): I: x(u) = m i=0 F i(u)b i, u [a, b], II: x(v) = n j=0 G

More information

Curves and Surfaces for Computer-Aided Geometric Design

Curves and Surfaces for Computer-Aided Geometric Design Curves and Surfaces for Computer-Aided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego

More information

Need for Parametric Equations

Need for Parametric Equations Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

More information

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

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications LECTURE #6 Geometric modeling for engineering applications Geometric Modelling for Engineering Applications Introduction to modeling Geometric modeling Curve representation Hermite curve Bezier curve B-spline

More information

Introduction to the Mathematical Concepts of CATIA V5

Introduction to the Mathematical Concepts of CATIA V5 CATIA V5 Training Foils Introduction to the Mathematical Concepts of CATIA V5 Version 5 Release 19 January 2009 EDU_CAT_EN_MTH_FI_V5R19 1 About this course Objectives of the course Upon completion of this

More information

A Curve Tutorial for Introductory Computer Graphics

A Curve Tutorial for Introductory Computer Graphics A Curve Tutorial for Introductory Computer Graphics Michael Gleicher Department of Computer Sciences University of Wisconsin, Madison October 7, 2003 Note to 559 Students: These notes were put together

More information

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

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

Curve and Surface Basics

Curve and Surface Basics Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

More information

Chapter 4-3D Modeling

Chapter 4-3D Modeling Chapter 4-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering

More information

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

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic

More information

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

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur Email: jrkumar@iitk.ac.in Curve representation 1. Wireframe models There are three types

More information

Subdivision overview

Subdivision overview Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1 Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners

More information

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

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

More information

Intro to Curves Week 4, Lecture 7

Intro to Curves Week 4, Lecture 7 CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

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

Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004 Spline Notes Marc Olano University of Maryland, Baltimore County February, 4 Introduction I. Modeled after drafting tool A. Thin strip of wood or metal B. Control smooth curved path by running between

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Dgp _ lecture 2. Curves

Dgp _ lecture 2. Curves Dgp _ lecture 2 Curves Questions? This lecture will be asking questions about curves, their Relationship to surfaces, and how they are used and controlled. Topics of discussion will be: Free form Curves

More information

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

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

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required: 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

More information

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

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

Fathi El-Yafi Project and Software Development Manager Engineering Simulation An Introduction to Geometry Design Algorithms Fathi El-Yafi Project and Software Development Manager Engineering Simulation 1 Geometry: Overview Geometry Basics Definitions Data Semantic Topology Mathematics

More information

Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry. Computer Graphics CMU /15-662 Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

More information

CS559 Computer Graphics Fall 2015

CS559 Computer Graphics Fall 2015 CS559 Computer Graphics Fall 2015 Practice Final Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification

More information

COMP3421. Global Lighting Part 2: Radiosity

COMP3421. Global Lighting Part 2: Radiosity COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all

More information

Geometric Modeling of Curves

Geometric Modeling of Curves Curves Locus of a point moving with one degree of freedom Locus of a one-dimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,

More information

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view). Roadmap for tonight Some background. What are Bezier curves (mathematically)? Characteristics of Bezier curves. Demo. Programming Bezier curves (very high level view). Why Bezier curves? Bezier curves

More information

3D Modeling: Surfaces

3D Modeling: Surfaces CS 430/536 Computer Graphics I 3D Modeling: Surfaces Week 8, Lecture 16 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

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

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK 1 An analysis of the problem: To get the curve constructed, how many knots are needed? Consider the following case: So, to interpolate (n +1) data points, one needs (n +7) knots,, for a uniform cubic B-spline

More information

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

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

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland) Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews

More information

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

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 Parametric Curves and Surfaces 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 Describing curves in space that objects move

More information

CS 465 Program 4: Modeller

CS 465 Program 4: Modeller CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized

More information

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

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz Advanced Texture-Mapping Curves and Curved Surfaces Pre-ecture Business loadtexture example midterm handed bac, code posted (still) get going on pp3! more on texturing review quiz CS148: Intro to CG Instructor:

More information

Curves, Surfaces and Recursive Subdivision

Curves, Surfaces and Recursive Subdivision Department of Computer Sciences Graphics Fall 25 (Lecture ) Curves, Surfaces and Recursive Subdivision Conics: Curves and Quadrics: Surfaces Implicit form arametric form Rational Bézier Forms Recursive

More information