Curves and Surfaces. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Size: px
Start display at page:

Download "Curves and Surfaces. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science"

Transcription

1 Crves and Srfaces CS 57 Interactive Compter Graphics Prof. David E. Breen Department of Compter Science E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

2 Objectives Introdce types of crves and srfaces - Explicit - Implicit - Parametric - Strengths and weaknesses Discss Modeling and Approximations - Conditions - Stability E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 2

3 Escaping Flatland Until now we have worked with flat entities sch as lines and flat polygons - Fit well with graphics hardware - Mathematically simple Bt the world is not composed of flat entities - Need crves and crved srfaces - May only have need at the application level - Implementation can render them approximately with flat primitives E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

4 Modeling with Crves data points approximating crve interpolating data point E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 4

5 What Makes a Good Representation? There are many ways to represent crves and srfaces Want a representation that is - Stable - Smooth - Easy to evalate - Mst we interpolate or can we jst come close to data? - Do we need derivatives? E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

6 Explicit Representation Most familiar form of crve in 2D y=f(x) Cannot represent all crves - Vertical lines - Circles Extension to D - y=f(x), z=g(x) - The form z = f(x,y) defines a srface E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 y z x y x 6

7 Implicit Representation Two dimensional crve(s) g(x,y)= Mch more robst - All lines ax+by+c= - Circles x 2 +y 2 -r 2 = Three dimensions g(x,y,z)= defines a srface - Intersect two srface to get a crve In general, we cannot exactly solve for points that satisfy the eqation E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 7

8 Algebraic Srface i j k x i y j z k = Qadric srface 2 i+j+k At most terms Can solve intersection with a ray by redcing problem to solving qadratic eqation E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 8

9 Parametric Crves Separate eqation for each spatial variable x=x() y=y() z=z() For max min we trace ot a crve in two or three dimensions p( min ) p() p()=[x(), y(), z()] T p( max ) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 9

10 Selecting Fnctions Usally we can select good fnctions - not niqe for a given spatial crve - Approximate or interpolate known data - Want fnctions which are easy to evalate - Want fnctions which are easy to differentiate Comptation of normals Connecting pieces (segments) - Want fnctions which are smooth E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

11 Parametric Lines We can normalize to be over the interval (,) Line connecting two points p and p p()= p p()=(-)p +p Ray from p in the direction d p()=p +d p() = p p() = p d p()= p +d E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

12 Parametric Srfaces Srfaces reqire 2 parameters x=x(,v) y=y(,v) z=z(,v) p(,v) = [x(,v), y(,v), z(,v)] T Want same properties as crves: - Smoothness - Differentiability - Ease of evalation y p(,v) z p(,) p(,) x p(,v) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 2

13 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Normals We can differentiate with respect to and v to obtain the normal at any point p = v v v v ) /, z( ) /, y( ) /, x( ), p( = v v v v v v v v ) /, z( ) /, y( ) /, x( ), p( v v v = ), ( ), p( p n

14 Parametric Planes n point-vector form p(,v)=p +q+vr r n = q x r p q n three-point form p 2 q = p p r = p 2 p p p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 4

15 Parametric Sphere x(,v) = r cos θ sin φ y(,v) = r sin θ sin φ z(,v) = r cos φ 6 θ 8 φ θ constant: circles of constant longitde φ constant: circles of constant latitde differentiate to show n = p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

16 Crve Segments After normalizing, each crve is written p()=[x(), y(), z()] T, In classical nmerical methods, we design a single global crve In compter graphics and CAD, it is better to design small connected crve segments p() join point p() = q() p() q() q() E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 6

17 Parametric Polynomial Crves N i j x( ) = cxi y( ) = cyj z( ) = czk i= M j= L k = If N=M=K, we need to determine (N+) coefficients Eqivalently we need (N+) independent conditions Noting that the crves for x, y and z are independent, we can define each independently in an identical manner p( ) = We will se the form where p can be any of x, y, z L k = c k k k E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 7

18 Why Polynomials Easy to evalate Continos and differentiable everywhere - Mst worry abot continity at join points inclding continity of derivatives p() q() join point p() = q() bt p () q () E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 8

19 Cbic Parametric Polynomials N=M=L=, gives balance between ease of evalation and flexibility in design p( ) = k = c k For coefficients to determine for each of x, y and z Seek for independent conditions for varios vales of reslting in 4 eqations in 4 nknowns for each of x, y and z - Conditions are a mixtre of continity reqirements at the join points and conditions for fitting the data k E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 9

20 Cbic Polynomial Srfaces p(,v)=[x(,v), y(,v), z(,v)] T where p(, v) = p is any of x, y or z cij i= j= i v j Need 48 coefficients ( independent sets of 6) to determine a srface patch E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 2

21 Designing Parametric Cbic Crves CS 57 Interactive Compter Graphics Prof. David E. Breen Department of Compter Science E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 2

22 Objectives Introdce the types of crves - Interpolating - Hermite - Bezier - B-spline Analyze their performance E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

23 2 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Matrix-Vector Form c k k k = = ) p( = c c c c 2 c = 2 define c c T T = = ) p( then

24 Interpolating Crve p p p p 2 Given for data (control) points p, p,p 2, p determine cbic p() which passes throgh them Mst find c,c,c 2, c E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

25 2 5 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Interpolation Eqations apply the interpolating conditions at =, /, 2/, p =p()=c p =p(/)=c +(/)c +(/) 2 c 2 +(/) c p 2 =p(2/)=c +(2/)c +(2/) 2 c 2 +(2/) c p =p()=c +c +c 2 +c or in matrix form with p = [p p p 2 p ] T p=ac = A

26 Interpolation Matrix Solving for c we find the interpolation matrix MI = A = c=m I p Note that M I does not depend on inpt data and can be sed for each segment in x, y, and z E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

27 Blending Fnctions Rewriting the eqation for p() p()= T c= T M I p = b() T p where b() = [b () b () b 2 () b ()] T is an array of blending polynomials sch that p() = b ()p + b ()p + b 2 ()p 2 + b ()p b () = -4.5(-/)(-2/)(-) b () =.5 (-2/)(-) b 2 () = -.5 (-/)(-) b () = 4.5 (-/)(-2/) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

28 Blending Fnctions These fnctions are not smooth - Hence the interpolation polynomial is not smooth E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

29 Interpolating Mltiple Segments se p = [p p p 2 p ] T se p = [p p 4 p 5 p 6 ] T Get continity at join points bt not continity of derivatives E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

30 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Interpolating Patch v c v p j j ij i o i = = = ), ( Need 6 conditions to determine the 6 coefficients c ij Choose at,v =, /, 2/,

31 Matrix Form Define v = [ v v 2 v ] T C = [c ij ] P = [p ij ] p(,v) = T Cv If we observe that for constant (v), we obtain interpolating crve in v (), we can show C=M I PM I p(,v) = T M I PM IT v E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

32 2 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Blending Patches p v b b v p ij j j i o i ) ( ) ( ), ( = = = Each b i ()b j (v) is a blending patch Shows that we can bild and analyze srfaces from or knowledge of crves

33 Other Types of Crves and Srfaces How can we get arond the limitations of the interpolating form - Lack of smoothness - Discontinos derivatives at join points We have for conditions (for cbics) that we can apply to each segment - Use them other than for interpolation - Need only come close to the data E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

34 Hermite Form p () p() Use two interpolating conditions and two derivative conditions per segment p() p () Ensres continity and first derivative continity between segments E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 4

35 Eqations Interpolating conditions are the same at ends p() = p = c p() = p = c +c +c 2 +c p() = c + +c +c 2 2 +c Differentiating we find p () = c +2c c Evalating at end points p () = p = c p () = p = c +2c 2 +c E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

36 6 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Matrix Form c q = = 2 p' p' p p Solving, we find c=m H q where M H is the Hermite matrix = MH

37 7 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Blending Polynomials p() = b() T q = ) b( Althogh these fnctions are smooth, the Hermite form is not sed directly in Compter Graphics and CAD becase we sally have control points bt not derivatives However, the Hermite form is the basis of the Bezier form

38 Parametric and Geometric Continity We can reqire the derivatives of x, y,and z to each be continos at join points (parametric continity) Alternately, we can only reqire that the tangents of the reslting crve be continos (geometry continity) The latter gives more flexibility since we need to satisfy only two conditions rather than three at each join point E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 8

39 Parametric Continity Continity (recall from the calcls): - Two crves are C i continos at a point p iff the i-th derivatives of the crves are eqal at p 9 Pics/Math cortesy of Dave UMD-CP

40 Example Here the p and q have the same tangents at the ends of the segment bt different derivatives Generate different Hermite crves This techniqes is sed in drawing applications E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 4

41 Bezier and Spline Crves and Srfaces CS 57 Interactive Compter Graphics Prof. David E. Breen Department of Compter Science E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

42 Objectives Introdce the Bezier crves and srfaces Derive the reqired matrices Introdce the B-spline and compare it to the standard cbic Bezier E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 4

43 Bezier s Idea In graphics and CAD, we do not sally have derivative data Bezier sggested sing the same 4 data points as with the cbic interpolating crve to approximate the derivatives in the Hermite form E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

44 Approximating Derivatives p located at =/ p p 2 p 2 located at =2/ p p p'() / p p2 p'() / slope p () slope p () p p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

45 Eqations Interpolating conditions are the same p() = p = c p() = p = c +c +c 2 +c Approximating derivative conditions p () = (p - p ) = c p () = (p - p 2 ) = c +2c 2 +c Solve for linear eqations for c=m B p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

46 4 7 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Bezier Matrix = 6 MB p() = T M B p = b() T p blending fnctions

47 Blending Fnctions # ( ) & % 2( ( ) b() = % ( % 2 ( ) ( % ( $ ' Note that all zeros are at and which forces the fnctions to be smooth over (,) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

48 Cbic Bezier Crve Mltiplying it all ot gives p() = (-) p + (-) 2 p + 2 (-) p 2 + p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

49 Bernstein Polynomials The blending fnctions are a special case of the Bernstein polynomials d! k d k bkd ( ) = ( ) k!( d k)! These polynomials give the blending polynomials for any degree Bezier form - All zeros at and - For any degree they all sm to - They are all between and inside (,) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

50 Convex Hll Property The properties of the Bernstein polynomials ensre that all Bezier crves lie within the convex hll of their control points Hence, even thogh we do not interpolate all the data, we cannot be too far away Bezier crve p p 2 convex hll p p E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

51 General Form of Bezier Crve p() = k i= p i+! # " k i $ &( ) k i i % 52

52 Analysis Althogh the Bezier form is mch better than the interpolating form, its derivatives are not continos at join points Can we do better? - Go to higher order Bezier More work Derivative continity still only approximate Spported by OpenGL - Apply different conditions Tricky withot letting order increase E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

53 B-Splines Basis splines: se the data at p=[p i-2 p i- p i p i- ] T to define crve only between p i- and p i Allows s to apply more continity conditions to each segment For cbics, we can have continity of fnction, first and second derivatives at join points Cost is times as mch work for crves - Add one new point each time rather than three For srfaces, we do 9 times as mch work E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

54 5 6 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Cbic B-spline = 6 4 MS p() = T M S p = b() T p

55 5 7 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Blending Fnctions = ) ( 6 ) b( convex hll property

56 B-splines: Knot Selection Instead of working with the parameter space t, se tmin t t t2... tm t The knot points - joint points between crve segments, Q i - Each has a knot vale - m- knots for m+ points 59 max 994 Foley/VanDam/Finer/Hges/Phillips ICG

57 Splines and Basis If we examine the cbic B-spline from the perspective of each control (data) point, each interior point contribtes (throgh the blending fnctions) to for segments We can rewrite p() in terms of the data points as p( ) = B ( ) i defining the basis fnctions {B i ()} p i E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 6

58 6 E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Basis Fnctions ) ( ) ( ) ( 2) ( ) ( < + + < < < < + + = i i i i i i i i i i b b b b Bi In terms of the blending polynomials

59 62 ) ( ) ( ) ( otherwise, if, ) (,,,, t B t t t t t B t t t t t B t t t t B d k k d k d k d k k d k k d k k k k = " # $ < = B-splines: Cox-deBoor Recrsion Cox-deBoor Algorithm: defines the blending fnctions for spline crves (not limited to deg ) - crves are weighted avgs of lower degree crves Let denote the i-th blending fnction for a B- spline of degree d, then: ) (, t B d i

60 B-spline Blending Fnctions B k, t) ( B k, (t) B k, t 2 ( B k, t ( is a step fnction that is in the interval spans two intervals and is a piecewise linear fnction that goes from to (and back) ) spans three intervals and is a piecewise qadratic that grows from to /4, then p to /4 in the middle of the second interval, back to /4, and back to ) is a cbic that spans for intervals growing from to /6 to 2/, then back to /6 and to B-spline blending fnctions 6 Pics/Math cortesy of Dave UMD-CP

61 B-spline Blending Fnctions for 2 nd Degree Splines Note: can t define a polynomial with these properties (both and nonzero for ranges) Idea: sbdivide the parameter space into intervals and bild a piecewise polynomial - Each interval gets different polynomial fnction 64 Pics/Math cortesy of Dave UMD-CP

62 Generalizing Splines We can extend to splines of any degree Data and conditions do not have to be given at eqally spaced vales (the knots) - Nonniform and niform splines - Can have repeated knots Can force spline to interpolate points Cox-deBoor recrsion gives method of evalation E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

63 NURBS Nonniform Rational B-Spline crves and srfaces add a forth variable w to x,y,z - Can interpret as weight to give more importance to some control data - Can also interpret as moving to homogeneos coordinate Reqires a perspective division - NURBS act correctly for perspective viewing Qadrics are a special case of NURBS E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

64 Easy to acqire Easy to render Isses with D mesh Harder to model with Error prone - split faces, holes, gaps, etc formats 67

65 BRep Data Strctres Winged-Edge Data Strctre (Weiler) Vertex - n edges Edge - 2 vertices - 2 faces Face - m edges 68 Pics/Math cortesy of Dave UMD-CP

66 BRep Data Strctre Vertex strctre - X,Y,Z point - Pointers to n coincident edges Edge strctre - 2 pointers to end-point vertices - 2 pointers to adjacent faces - Pointer to next edge - Pointer to previos edge Face strctre - Pointers to m edges 69

67 Biparametric Srfaces Biparametric srfaces - A generalization of parametric crves - 2 parameters: s, t (or, v) - Two parametric fnctions 7

68 Bicbic Srfaces Recall the 2D crve: - G: Geometry Matrix - M: Basis Matrix - S: Polynomial Terms [s s 2 s ] For D, we allow the points in G to vary in D along t as well: 7

69 Observations Abot Bicbic Srfaces For a fixed t, is a crve Gradally incrementing t to t 2, we get a new crve The combination of these crves is a srface are D crves 72

70 Bicbic Srfaces Each is, where Transposing, we get 7

71 Bicbic Srfaces Sbstitting into, we get Q(s, t) The g, etc. are the control points for the Bicbic srface patch: 74

72 Bicbic Srfaces Writing ot gives 75

73 Bézier Patches Bézier Srfaces (similar definition) 77

74 Bezier Patches Using same data array P=[p ij ] as with interpolating form p(, v) = i= j= bi( ) b j ( v) p ij = T M B PM T B v Patch lies in convex hll E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

75 Blending Fnctions # ( ) & % 2( ( ) b() = % ( % 2 ( ) ( % ( $ ' Note that all zeros are at and which forces the fnctions to be smooth over (,) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley

76 Normals For rendering we need the normals if we want to shade - Can compte from parametric eqations p(, v) p(, v) n = v - Can se vertices of corner points to determine E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 8

77 Bézier Srfaces C and G continity can be achieved between two patches by setting the 4 bondary control points to be eqal G continity achieved when crosswise CPs are colinear 8

78 Bézier Srfaces: Example Utah Teapot Utah Teapot modeled with 6 D control points that define 2 Bézier patches with G continity 82

79 Rendering Crves and Srfaces CS 57 Interactive Compter Graphics Prof. David E. Breen Department of Compter Science E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 8

80 Objectives Introdce methods to draw crves - Approximate with lines - Finite Differences Derive the recrsive method for evalation of Bezier crves and srfaces Learn how to convert all polynomial data to data for Bezier polynomials E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley

81 Every Crve is a Bezier Crve We can render a given polynomial sing the recrsive method if we find control points for its representation as a Bezier crve Sppose that p() is given as an interpolating crve with control points q p()= T M I q There exist Bezier control points p sch that p()= T M B p Eqating and solving, we find p=m B - M I E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley

82 8 6 E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 Matrices Interpolating to Bezier B-Spline to Bezier = M M I B = M M S B

83 Example These three crves were all generated from the same original data sing Bezier recrsion by converting all control point data to Bezier control points Bezier Interpolating B Spline E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley

84 Evalating Polynomials Simplest method to render a polynomial crve is to evalate the polynomial at many points and form an approximating polyline For srfaces we can form an approximating mesh of triangles or qadrilaterals Use Horner s method to evalate polynomials p()=c +(c +(c 2 +c )) - mltiplications/evalation for cbic E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley

85 The de Castelja Algorithm Basic case, with two points: Plotting a crve via repeated linear interpolation - Given a seqence of control points - Simple case: Mapping a parameter to the line 92 Pics/Math cortesy of Dave UMD-CP

86 The de Castelja Algorithm The complete soltion from the algorithm for three iterations: Final Vale 9 Pics/Math cortesy of Dave UMD-CP

87 The de Castelja Algorithm The soltion after for iterations: 94 Pics/Math cortesy of Dave UMD-CP

88 The de Castelja Algorithm Inpt: Iteratively set: and p,p,p 2...p n R, t R p ir (t) = ( t)p i(r ) (t) + t p (i+)(r ) (t) p i (t) = p i # % r =,...,n $ &% i =,...,n r p n (t) Then is the point with parameter vale t on the Bézier crve defined by the p i s 95

89 De Castelja: Arc Segment Animation 96 Animated by Max Drexel University

90 De Castelja: Cbic Crve Animation 97 Animated by Max Drexel University

91 Sbdivision Common in many areas of graphics, CAD, CAGD, vision Basic idea - primitives def d by control polygons - set of control points is not niqe more than one way to compte a crve - sbdivision refines representation of an object by introdcing more control points Allows for local modification Sbdivide to pixel resoltion 98 Pics/Math cortesy of G. ASU

92 Bézier Crve Sbdivision Sbdivision allows display of crves at different/adaptive levels of resoltion Rendering systems (OpenGL, ActiveX, etc) only display polygons or lines Sbdivision generates the lines/facets that approximate the crve/srface - otpt of sbdivision sent to renderer 99

93 decastelja Recrsion We can se the convex hll property of Bezier crves to obtain an efficient recrsive method that does not reqire any fnction evalations - Uses only the vales at the control points Based on the idea that any polynomial and any part of a polynomial is a Bezier polynomial for properly chosen control data E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

94 Splitting a Cbic Bezier p, p, p 2, p determine a cbic Bezier polynomial and its convex hll Consider left half l() and right half r() E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

95 l() and r() Since l() and r() are Bezier crves, we shold be able to find two sets of control points {l, l, l 2, l } and {r, r, r 2, r } that determine them E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 2

96 Convex Hlls {l, l, l 2, l } and {r, r, r 2, r }each have a convex hll that that is closer to p() than the convex hll of {p, p, p 2, p } This is known as the variation diminishing property. The polyline from l to l (= r ) to r is an approximation to p(). Repeating recrsively we get better approximations. E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

97 Efficient Form l = p r = p l = ½(p + p ) r = ½(p 2 + p ) l 2 = ½(l + ½( p + p 2 )) r = ½(r 2 + ½( p + p 2 )) l = r = ½(l 2 + r ) Reqires only shifts and adds! E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 5

98 Drawing Parametric Crves Two basic ways: Iterative evalation of x(t), y(t), z(t) for incrementally spaced vales of t - can t easily control segment lengths and error Recrsive Sbdivision via de Castelja, that stops when control points get sfficiently close to the crve - i.e. when the crve is nearly a straight line 6

99 Drawing Parametric Crves via Recrsive Sbdivision Idea: stop sbdivision when segment is flat enogh to be drawn w/ straight line Crve Flatness Test: - based on the convex hll - if d 2 and d are both less than some ε, then the crve is declared flat d 2 d 7

100 8 FYI: Compting the Distance from a Point to a Line Line is defined with two points Basic idea: - Project point P onto the line - Find the location of the projection 2 2 ) ( ) ( ) ( ) ( ) ( ), d( y y x x y x y x y x x x y y L P =

101 The Algorithm: Drawing Parametric Crves via Recrsive Sbdivision DrawCrveRecSb(crve,e) - If straight(crve,e) then DrawLine(crve) - Else SbdivideCrve(crve,LeftCrve,RightCrve) DrawCrveRecSb(LeftCrve,e) DrawCrveRecSb(RightCrve,e) 9

102 Biparametric Patch (,v) pair maps to a D point on patch E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

103 Bezier Patches _ Using same data array P=[p ij ] as with interpolating form p(, v) = Patch lies in convex hll i= j= bi () b j (v) p ij = T T MBPM B v E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

104 Bézier Patches Expanding the smmation p(, v) = i= j= bi () b j (v) p ij = b () b (v) p + b () b (v) p + b () b 2 (v) p 2 + b () b (v) p + b () b (v) p + etc. 2

105 Bezier Blending Fnctions # ( ) & % 2( ( ) b() = % ( % 2 ( ) ( % ( $ ' Note that all zeros are at and which forces the fnctions to be smooth over (,) E. Angel and D. Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22

106 Faceting 4

107 Faceting 5

108 Utah Teapot Most famos data set in compter graphics Widely available as a list of 6 D vertices and the indices that define 2 Bezier patches E. Angel and D.Shreiner: Interactive Compter Graphics 6E Addison-Wesley 22 6

109 Bezier Srface: Example Increased facet resoltion Rendered 7

110 Sggestions for HW7 Write a fnction that takes control points and a (,v) pair and retrns a D point on patch. Use formla or de Castelja Algorithm to compte point Compte an array of points that lie on the patch with a doble loop that increments throgh and v, from to This wold be an (n+) x (n+) array, where n is the nmber of qads in the and v direction 8

111 Sggestions for HW7 Use a doble loop to iterate throgh i & j = to n- For each (i, j) pair yo define two triangles. The first has vertices ([i,j], [i+, j], [i, j+]). The 2nd triangle is defined with vertices [i+, j], [i+, j+], [i, j+]). Now yo have a mesh defined like an SMF model. Modify yor HW6 code to render it. 9

112 Sggestions for HW7 Implement the interface that allows the ser to change n (the resoltion of the mesh), and select and move the control points When these vales are changed by the ser, yo'll need to regenerate the mesh Flip normals that face away from the eye point, so both sides of the mesh are shaded 2

CS 4204 Computer Graphics

CS 4204 Computer Graphics CS 424 Compter Graphics Crves and Srfaces Yong Cao Virginia Tech Reference: Ed Angle, Interactive Compter Graphics, University of New Mexico, class notes Crve and Srface Modeling Objectives Introdce types

More information

Picking and Curves Week 6

Picking and Curves Week 6 CS 48/68 INTERACTIVE COMPUTER GRAPHICS Picking and Crves Week 6 David Breen Department of Compter Science Drexel University Based on material from Ed Angel, University of New Mexico Objectives Picking

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

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier B-spline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until

More information

EECS 487: Interactive Computer Graphics f

EECS 487: Interactive Computer Graphics f Interpolating Key Vales EECS 487: Interactive Compter Graphics f Keys Lectre 33: Keyframe interpolation and splines Cbic splines The key vales of each variable may occr at different frames The interpolation

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

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

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.

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

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

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

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

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

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

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

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

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

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Introduce methods to draw curves - Approximate

More information

Summer 2017 MATH Suggested Solution to Exercise Find the tangent hyperplane passing the given point P on each of the graphs: (a)

Summer 2017 MATH Suggested Solution to Exercise Find the tangent hyperplane passing the given point P on each of the graphs: (a) Smmer 2017 MATH2010 1 Sggested Soltion to Exercise 6 1 Find the tangent hyperplane passing the given point P on each of the graphs: (a) z = x 2 y 2 ; y = z log x z P (2, 3, 5), P (1, 1, 1), (c) w = sin(x

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

Hardware-Accelerated Free-Form Deformation

Hardware-Accelerated Free-Form Deformation Hardware-Accelerated Free-Form Deformation Clint Cha and Ulrich Nemann Compter Science Department Integrated Media Systems Center University of Sothern California Abstract Hardware-acceleration for geometric

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

Curve Modeling (Spline) Dr. S.M. Malaek. Assistant: M. Younesi

Curve Modeling (Spline) Dr. S.M. Malaek. Assistant: M. Younesi Crve Modeling Sline Dr. S.M. Malae Assistant: M. Yonesi Crve Modeling Sline Crve Control Points Convex Hll Shae of sline crve Interolation Slines Aroximation Slines Continity Conditions Parametric & Geometric

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

Bias of Higher Order Predictive Interpolation for Sub-pixel Registration

Bias of Higher Order Predictive Interpolation for Sub-pixel Registration Bias of Higher Order Predictive Interpolation for Sb-pixel Registration Donald G Bailey Institte of Information Sciences and Technology Massey University Palmerston North, New Zealand D.G.Bailey@massey.ac.nz

More information

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

Tu P7 15 First-arrival Traveltime Tomography with Modified Total Variation Regularization

Tu P7 15 First-arrival Traveltime Tomography with Modified Total Variation Regularization T P7 15 First-arrival Traveltime Tomography with Modified Total Variation Reglarization W. Jiang* (University of Science and Technology of China) & J. Zhang (University of Science and Technology of China)

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

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

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

COMPOSITION OF STABLE SET POLYHEDRA

COMPOSITION OF STABLE SET POLYHEDRA COMPOSITION OF STABLE SET POLYHEDRA Benjamin McClosky and Illya V. Hicks Department of Comptational and Applied Mathematics Rice University November 30, 2007 Abstract Barahona and Mahjob fond a defining

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

A sufficient condition for spiral cone beam long object imaging via backprojection

A sufficient condition for spiral cone beam long object imaging via backprojection A sfficient condition for spiral cone beam long object imaging via backprojection K. C. Tam Siemens Corporate Research, Inc., Princeton, NJ, USA Abstract The response of a point object in cone beam spiral

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

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

Reading. 13. Texture Mapping. Non-parametric texture mapping. Texture mapping. Required. Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8.

Reading. 13. Texture Mapping. Non-parametric texture mapping. Texture mapping. Required. Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8. Reading Reqired Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8. Recommended 13. Textre Mapping Pal S. Heckbert. Srvey of textre mapping. IEEE Compter Graphics and Applications 6(11): 56--67,

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

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

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

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

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

Blended Deformable Models

Blended Deformable Models Blended Deformable Models (In IEEE Trans. Pattern Analysis and Machine Intelligence, April 996, 8:4, pp. 443-448) Doglas DeCarlo and Dimitri Metaxas Department of Compter & Information Science University

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

Introduction to Computational Manifolds and Applications

Introduction to Computational Manifolds and Applications IMPA - Institto de Matemática Pra e Aplicada, Rio de Janeiro, RJ, Brazil Introdction to Comptational Manifolds and Applications Part 1 - Constrctions Prof. Marcelo Ferreira Siqeira mfsiqeira@dimap.frn.br

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

B-Splines and NURBS Week 5, Lecture 9

B-Splines and NURBS Week 5, Lecture 9 CS 430/585 Computer Graphics I B-Splines an NURBS Week 5, Lecture 9 Davi Breen, William Regli an Maxim Peysakhov Geometric an Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

The Intersection of Two Ringed Surfaces and Some Related Problems

The Intersection of Two Ringed Surfaces and Some Related Problems Graphical Models 63, 8 44 001) doi:10.1006/gmod.001.0553, available online at http://www.idealibrary.com on The Intersection of Two Ringed Srfaces and Some Related Problems Hee-Seok Heo and Sng Je Hong

More information

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

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

Multiple-Choice Test Chapter Golden Section Search Method Optimization COMPLETE SOLUTION SET

Multiple-Choice Test Chapter Golden Section Search Method Optimization COMPLETE SOLUTION SET Mltiple-Choice Test Chapter 09.0 Golden Section Search Method Optimization COMPLETE SOLUTION SET. Which o the ollowing statements is incorrect regarding the Eqal Interval Search and Golden Section Search

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

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

Mathematician Helaman Ferguson combines science

Mathematician Helaman Ferguson combines science L A B 19 MATHEMATICAL SCULPTURES Parametric Srfaces Mathematician Helaman Fergson combines science and art with his niqe mathematical sclptres. Fergson s sclptres are the concrete embodiments of mathematical

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

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

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

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

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

CS 153 Design of Operating Systems

CS 153 Design of Operating Systems CS 153 Design of Operating Systems Spring 18 Lectre 25: Dynamic Memory (1) Instrctor: Chengy Song Slide contribtions from Nael Ab-Ghazaleh, Harsha Madhyvasta and Zhiyn Qian Some slides modified from originals

More information

CS452/552; EE465/505. Color Display Issues

CS452/552; EE465/505. Color Display Issues CS452/552; EE465/505 Color Display Issues 4-16 15 2 Outline! Color Display Issues Color Systems Dithering and Halftoning! Splines Hermite Splines Bezier Splines Catmull-Rom Splines Read: Angel, Chapter

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

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

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

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code:

Prof. Kozyrakis. 1. (10 points) Consider the following fragment of Java code: EE8 Winter 25 Homework #2 Soltions De Thrsday, Feb 2, 5 P. ( points) Consider the following fragment of Java code: for (i=; i

More information

Reading. 11. Texture Mapping. Texture mapping. Non-parametric texture mapping. Required. Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8.

Reading. 11. Texture Mapping. Texture mapping. Non-parametric texture mapping. Required. Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8. Reading Reqired Watt, intro to Chapter 8 and intros to 8.1, 8.4, 8.6, 8.8. Optional 11. Textre Mapping Watt, the rest of Chapter 8 Woo, Neider, & Davis, Chapter 9 James F. Blinn and Martin E. Newell. Textre

More information

Evaluating Influence Diagrams

Evaluating Influence Diagrams Evalating Inflence Diagrams Where we ve been and where we re going Mark Crowley Department of Compter Science University of British Colmbia crowley@cs.bc.ca Agst 31, 2004 Abstract In this paper we will

More information

CS770/870 Spring 2017 Curve Generation

CS770/870 Spring 2017 Curve Generation CS770/870 Spring 2017 Curve Generation Primary resources used in preparing these notes: 1. Foley, van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, Addison-Wesley, 1993. 2. Angel, Interactive

More information

POWER-OF-2 BOUNDARIES

POWER-OF-2 BOUNDARIES Warren.3.fm Page 5 Monday, Jne 17, 5:6 PM CHAPTER 3 POWER-OF- BOUNDARIES 3 1 Ronding Up/Down to a Mltiple of a Known Power of Ronding an nsigned integer down to, for eample, the net smaller mltiple of

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

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

Curves and Surface I. Angel Ch.10

Curves and Surface I. Angel Ch.10 Curves and Surface I Angel Ch.10 Representation of Curves and Surfaces Piece-wise linear representation is inefficient - line segments to approximate curve - polygon mesh to approximate surfaces - can

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

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

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Curves and Curved Surfaces Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface

More information

Rational Bezier Surface

Rational Bezier Surface Rational Bezier Surface The perspective projection of a 4-dimensional polynomial Bezier surface, S w n ( u, v) B i n i 0 m j 0, u ( ) B j m, v ( ) P w ij ME525x NURBS Curve and Surface Modeling Page 97

More information

The extra single-cycle adders

The extra single-cycle adders lticycle Datapath As an added bons, we can eliminate some of the etra hardware from the single-cycle path. We will restrict orselves to sing each fnctional nit once per cycle, jst like before. Bt since

More information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

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

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

Augmenting the edge connectivity of planar straight line graphs to three

Augmenting the edge connectivity of planar straight line graphs to three Agmenting the edge connectivity of planar straight line graphs to three Marwan Al-Jbeh Mashhood Ishaqe Kristóf Rédei Diane L. Sovaine Csaba D. Tóth Pavel Valtr Abstract We characterize the planar straight

More information

On the Computational Complexity and Effectiveness of N-hub Shortest-Path Routing

On the Computational Complexity and Effectiveness of N-hub Shortest-Path Routing 1 On the Comptational Complexity and Effectiveness of N-hb Shortest-Path Roting Reven Cohen Gabi Nakibli Dept. of Compter Sciences Technion Israel Abstract In this paper we stdy the comptational complexity

More information

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.

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. Bézier Splines CS 475 / CS 675 Computer Graphics Lecture 14 : Modelling Curves 3 n P t = B i J n,i t with 0 t 1 J n, i t = i=0 n i t i 1 t n i No local control. Degree restricted by the control polygon.

More information

Triangle-Free Planar Graphs as Segments Intersection Graphs

Triangle-Free Planar Graphs as Segments Intersection Graphs Triangle-ree Planar Graphs as Segments Intersection Graphs N. de Castro 1,.J.Cobos 1, J.C. Dana 1,A.Márqez 1, and M. Noy 2 1 Departamento de Matemática Aplicada I Universidad de Sevilla, Spain {natalia,cobos,dana,almar}@cica.es

More information

10.2 Solving Quadratic Equations by Completing the Square

10.2 Solving Quadratic Equations by Completing the Square . Solving Qadratic Eqations b Completing the Sqare Consider the eqation We can see clearl that the soltions are However, What if the eqation was given to s in standard form, that is 6 How wold we go abot

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

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

ABSOLUTE DEFORMATION PROFILE MEASUREMENT IN TUNNELS USING RELATIVE CONVERGENCE MEASUREMENTS

ABSOLUTE DEFORMATION PROFILE MEASUREMENT IN TUNNELS USING RELATIVE CONVERGENCE MEASUREMENTS Proceedings th FIG Symposim on Deformation Measrements Santorini Greece 00. ABSOUTE DEFORMATION PROFIE MEASUREMENT IN TUNNES USING REATIVE CONVERGENCE MEASUREMENTS Mahdi Moosai and Saeid Khazaei Mining

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Ma Lesson 18 Section 1.7

Ma Lesson 18 Section 1.7 Ma 15200 Lesson 18 Section 1.7 I Representing an Ineqality There are 3 ways to represent an ineqality. (1) Using the ineqality symbol (sometime within set-bilder notation), (2) sing interval notation,

More information

Application of Gaussian Curvature Method in Development of Hull Plate Surface

Application of Gaussian Curvature Method in Development of Hull Plate Surface Marine Engineering Frontiers (MEF) Volme 2, 204 Application of Gassian Crvatre Method in Development of Hll Plate Srface Xili Zh, Yjn Li 2 Dept. of Infor., Dalian Univ., Dalian 6622, China 2 Dept. of Naval

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

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

Review Multicycle: What is Happening. Controlling The Multicycle Design

Review Multicycle: What is Happening. Controlling The Multicycle Design Review lticycle: What is Happening Reslt Zero Op SrcA SrcB Registers Reg Address emory em Data Sign etend Shift left Sorce A B Ot [-6] [5-] [-6] [5-] [5-] Instrction emory IR RegDst emtoreg IorD em em

More information

Multi-lingual Multi-media Information Retrieval System

Multi-lingual Multi-media Information Retrieval System Mlti-lingal Mlti-media Information Retrieval System Shoji Mizobchi, Sankon Lee, Fmihiko Kawano, Tsyoshi Kobayashi, Takahiro Komats Gradate School of Engineering, University of Tokshima 2-1 Minamijosanjima,

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF MECHANICAL ENGINEERING QUESTION BANK M.E: CAD/CAM I SEMESTER ED5151 COMPUTER APPLICATIONS IN DESIGN Regulation 2017 Academic

More information

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

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html

More information

Lecture 10. Diffraction. incident

Lecture 10. Diffraction. incident 1 Introdction Lectre 1 Diffraction It is qite often the case that no line-of-sight path exists between a cell phone and a basestation. In other words there are no basestations that the cstomer can see

More information

Image Denoising Algorithms

Image Denoising Algorithms Image Denoising Algorithms Xiang Hao School of Compting, University of Utah, USA, hao@cs.tah.ed Abstract. This is a report of an assignment of the class Mathematics of Imaging. In this assignment, we first

More information

Real-time mean-shift based tracker for thermal vision systems

Real-time mean-shift based tracker for thermal vision systems 9 th International Conference on Qantitative InfraRed Thermography Jly -5, 008, Krakow - Poland Real-time mean-shift based tracker for thermal vision systems G. Bieszczad* T. Sosnowski** * Military University

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

Geometry. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Geometry. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Geometry CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012. 1 Objectives Introduce

More information

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

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 7 and Constructive Solid Geometry [Angel Ch. 12.1-12.3] Jernej Barbic University of Southern California Modeling Complex Shapes An equation for a sphere is possible,

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

Modeling 3D Objects: Part 2

Modeling 3D Objects: Part 2 Modeling 3D Objects: Part 2 Patches, NURBS, Solids Modeling, Spatial Subdivisioning, and Implicit Functions 3D Computer Graphics by Alan Watt Third Edition, Pearson Education Limited, 2000 General Modeling

More information