CS 4300 Computer Graphics Prof Harriet Fell CS
- Slides: 35
CS 4300 Computer Graphics Prof. Harriet Fell CS 4300 Lectures 13, 14 – October 5, 6, 2011 May 22, 2021 College of Computer and Information Science, Northeastern University 1
Today’s Topics • • • Curves Fitting Curves to Data Points Splines Hermite Cubics Bezier Cubics May 22, 2021 College of Computer and Information Science, Northeastern University 2
Curves A curve is the continuous image of an interval in n-space. Implicit f(x, y) = 0 x 2 + y 2 – R 2 = 0 B Parametric (x(t), y(t)) = P(t) A Generative proc (x, y) May 22, 2021 P(t) = t. A + (1 -t)B College of Computer and Information Science, Northeastern University 3
Curve Fitting We want a curve that passes through control points. interpolating curve Or a curve that passes near control points. approximating curve How do we create a good curve? What makes a good curve? May 22, 2021 College of Computer and Information Science, Northeastern University 4
Axis Independence If we rotate the set of control points, we should get the rotated curve. May 22, 2021 College of Computer and Information Science, Northeastern University 5
Local Control
Variation Diminishing Never crosses a straight line more than the polygon crosses it. May 22, 2021 College of Computer and Information Science, Northeastern University 7
Continuity C 0 continuity G 2 continuity May 22, 2021 C 1 continuity C 2 continuity Not C 2 continuity College of Computer and Information Science, Northeastern University 8
How do we Fit Curves? The Lagrange interpolating polynomial is the polynomial of degree n-1 that passes through the n points, (x 1, y 1), (x 2, y 2), …, (xn, yn), and is given by Lagrange Interpolating Polynomial from mathworld May 22, 2021 College of Computer and Information Science, Northeastern University 9
Example 1 May 22, 2021 College of Computer and Information Science, Northeastern University 10
Polynomial Fit P(x) = -. 5 x(x-2)(x-3)(x-4) May 22, 2021 College of Computer and Information Science, Northeastern University 11
Piecewise Fit Pa(x) = 4. 1249 x (x - 1. 7273) 0 ≤ x ≤ 1. 5 Pb(x) = 5. 4 x (x - 1. 7273) 1. 5 ≤ x ≤ 1. 7273 Pc(x) = 0 1. 7273 ≤ x ≤ 4 May 22, 2021 College of Computer and Information Science, Northeastern University 12
Spline Curves May 22, 2021 College of Computer and Information Science, Northeastern University 13
Splines and Spline Ducks Marine Drafting Weights http: //www. frets. com/FRETSPages/Luthier/Tips. Tricks/Drafting. Weights/draftweights. html May 22, 2021 College of Computer and Information Science, Northeastern University 14
Drawing Spline Today (esc) 1. Draw some curves in Power. Point. 2. Look at Perlin’s B-Spline Applet. May 22, 2021 College of Computer and Information Science, Northeastern University 15
May 22, 2021 College of Computer and Information Science, Northeastern University 16
Hermite Cubics P(t) = at 3 + bt 2 +ct +d Dq Dp q P(0) = p P(1) = q p P'(0) = Dp P'(1) = Dq May 22, 2021 College of Computer and Information Science, Northeastern University 17
Hermite Coefficients P(t) = at 3 + bt 2 +ct +d P(0) = p P(1) = q P'(0) = Dp P'(1) = Dq For each coordinate, we have 4 linear equations in 4 unknowns May 22, 2021 College of Computer and Information Science, Northeastern University 18
Boundary Constraint Matrix May 22, 2021 College of Computer and Information Science, Northeastern University 19
Hermite Matrix MH May 22, 2021 GH College of Computer and Information Science, Northeastern University 20
Hermite Blending Functions May 22, 2021 College of Computer and Information Science, Northeastern University 21
Splines of Hermite Cubics a C 1 spline of Hermite curves a G 1 but not C 1 spline of Hermite curves The vectors shown are 1/3 the length of the tangent vectors. May 22, 2021 College of Computer and Information Science, Northeastern University 22
Computing the Tangent Vectors Catmull-Rom Spline p 3 p 5 p 2 p 4 P(0) = p 3 p 1 P(1) = p 4 P'(0) = ½(p 4 - p 2 ) P'(1) = ½(p 5 - p 3 ) May 22, 2021 College of Computer and Information Science, Northeastern University 23
Cardinal Spline The Catmull-Rom spline P(0) = p 3 is a special case of the Cardinal spline P(1) = p 4 P(0) = p 3 P'(0) = ½(p 4 - p 2 ) P(1) = p 4 P'(1) = ½(p 5 - p 3 ) P'(0) = (1 - t)(p 4 - p 2 ) P'(1) = (1 - t)(p 5 - p 3 ) 0 ≤ t ≤ 1 is the tension. May 22, 2021 College of Computer and Information Science, Northeastern University 24
Drawing Hermite Cubics • How many points should we draw? • Will the points be evenly distributed if we use a constant increment on t ? • We actually draw Bezier cubics. May 22, 2021 College of Computer and Information Science, Northeastern University 25
General Bezier Curves May 22, 2021 College of Computer and Information Science, Northeastern University 26
Low Order Bezier Curves n=0 p 0 b 0, 0 (t) = 1 B(t) = p 0 b 0, 0 (t) = p 0 n=1 p 0 b 0, 1 (t) = 1 - t b 1, 1 (t) = t B(t) = (1 - t) p 0 + t p 1 0≤t≤ 1 n = 2 b 0, 2 (t) = (1 - t)2 b 1, 2 (t) = 2 t (1 - t) p 0 p 2 B(t) = (1 - t) 2 p 0 + 2 t (1 - t)p 1 + t 2 p 2 b 2, 2 (t) = t 2 0≤t≤ 1 p 1 May 22, 2021 College of Computer and Information Science, Northeastern University 27
Bezier Curves r q Bezier Arch p n=3 b 0, 3 (t) = (1 - t)3 b 1, 3 (t) = 3 t (1 - t)2 b 2, 3 (t) = 3 t 2(1 - t) b 2, 3 (t) = t 3 B(t) = (1 - t) 3 p + 3 t (1 - t)2 q + 3 t 2(1 - t)r + t 3 s May 22, 2021 College of Computer and Information Science, Northeastern University s 0≤t≤ 1 28
Bezier Matrix B(t) = (1 - t) 3 p + 3 t (1 - t)2 q + 3 t 2(1 - t)r + t 3 s B(t) = a t 3 + bt 2 + ct + d 0≤t≤ 1 MB May 22, 2021 0≤t≤ 1 GB College of Computer and Information Science, Northeastern University 29
Geometry Vector May 22, 2021 College of Computer and Information Science, Northeastern University 30
Properties of Bezier Curves May 22, 2021 College of Computer and Information Science, Northeastern University 31
Geometry of Bezier Arches r q B(t) s p May 22, 2021 Pick a t between 0 and 1 and go t of the way along each edge. Join the endpoints and do it again. College of Computer and Information Science, Northeastern University 32
Geometry of Bezier Arches qr q r qrs rs pqrs = B(1/2) pq s p We only use t = 1/2. May 22, 2021 College of Computer and Information Science, Northeastern University 33
draw. Arch(P, Q, R, S){ if (Arch. Size(P, Q, R, S) <=. 5 ) Dot(P); else{ PQ = (P + Q)/2; QR = (Q + R)/2; RS = (R + S)/2; PQR = (PQ + QR)/2; QRS = (QR + RS)/2; PQRS = (PQR + QRS)/2 draw. Arch(P, PQR, PQRS); draw. Arch(PQRS, RS, S); } }
Putting it All Together • Bezier Arches and Catmull-Rom Splines May 22, 2021 College of Computer and Information Science, Northeastern University 35
- Harriet fell
- Harriet fell
- Computer graphics
- Graphics hardware in computer graphics ppt
- Pluronic rpe 3110
- Cs 4300
- Eas 4300
- Cs4300
- Sensory figure of harriet
- Paul collins harriet tubman
- Harriet tubman comic strip
- Harriet tubman
- Harriet beecher stowe biografia
- Harriet jacobs and frederick douglass
- Harriet shetler
- Harriet reich uchtdorf
- Important dates for harriet tubman
- Harriet kung
- Harriet tubman death
- Education of harriet tubman
- Harriet westbrook
- Harriet tubman
- Facts about harriet quimby
- Alpha kappa alpha national hymn
- Harriet hounsell
- Harriet tubbmen
- Harriet tubman presentation
- Harriet tudmen
- Harriet powers bible quilt
- Harriet hemings
- Harriet whiley
- Uncle tom's cabin wikipedia
- Harriet quimby
- Harriet kung
- Harriet jacobs husband
- Harriet kung