+ All Categories
Home > Documents > Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of...

Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of...

Date post: 01-Apr-2015
Category:
Upload: keegan-arne
View: 242 times
Download: 2 times
Share this document with a friend
Popular Tags:
37
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides by Marc van Kreveld 1
Transcript
Page 1: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

1

Splines I – Curves and Properties

based on: Michael Gleicher

Curves, chapter 15 inFundamentals of Computer Graphics, 3rd ed.

(Shirley & Marschner)Slides by Marc van Kreveld

Page 2: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

2

What is a curve?

• Intuitively: what you can draw with a pen without lifting it up

• Mathematically: image of a continuous mapping of an interval into the plane (or higher-d space)

f : [0,1] R2

[ ]

Page 3: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

3

Types of curves

• Normal (two endpoints)• Closed loops (no endpoints)• Infinite curves (no endpoints)

Page 4: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

4

More curves

• Curves may self-intersect, have sharp corners, trace back on themselves, …

• Well-known curves: line segment, line, circle, ellipse, square (boundary), parabola, circular arc, …

• General curves are called free-form curves

Page 5: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

5

How to specify a curve (3 ways)

• Implicit curve• Parametric curve• Procedurally defined curve

Page 6: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

6

Implicit curves

• Given by a function in 2 variables (for curves in the plane) and an outcome value of that function– Circle with radius 2 centered at origin: x2 + y2 = 4

the function is f(x,y)= x2 + y2 – Some weird curve: log x – x2 + y3 = 0

(if this equation yields a connected set???)

• We can assume the given value is 0• Not every function+value gives a connected set,

implying that it cannot be the image of a continuous mapping

Page 7: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

7

Parametric curves

• Use a parameter, e.g. t, and use two functionsf(t) and g(t) to describe corresponding x and y coordinates– f(t) = cos t for t in [0, 2) ; this is a circle

g(t) = sin t– f(t) = t2

g(t) = t– f(t) = t4

g(t) = t2

– f(t) = t6

g(t) = t3

Page 8: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

8

Parametric curves

• Representations are not unique• The functions f and g can be written together as a

vector-valued function f, we then write

(x, y) = f(t)

as a shorthand for

(x, y) = (f(t), g(t))

Page 9: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

9

Procedural curves

• Defined by a process or a grammar, e.g. Koch snowflake (a fractal curve)

Page 10: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

10

Parametric curves

• Most common in graphics• Easy to work with

(we can draw by evaluating at the parameter)

Page 11: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

11

About the parameterization

• The value of the parameter tells you where you are on the curve

• The parameter determines “speed” along the curve

f(t) = (t, t)

(0,1)

(0,0)(1,0)

t=0

t=1

t=½

f(t) = (t 2, t 2)

t=0

t=1

t=½

t=0

t=1

t=½

f(t) = (t 1/2, t 1/2)

Page 12: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

12

About the parameterization

• Speed is the derivative (magnitude): | d f(t)/d t |

f(t) = (t, t)

(0,1)

(0,0)(1,0)

t=0

t=1

t=½

f(t) = (t 2, t 2)

t=0

t=1

t=½

t=0

t=1

t=½

f(t) = (t 1/2, t 1/2)

speed is 2 everywhere speed increases from 0 to 2 2

speed decreases from to ½ 2

Page 13: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

13

Arc-length parameterizations

• Informally, constant-speed parameterizations• Formally, when

• s is used as parameter when it is an arc-length parameterization

cdssd

2

f )(

f(t) = (t, t) 2(1,1)f 2

2

dttd )(

Page 14: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

14

Arc-length parameterizations

• Informally, constant-speed parameterizations• Formally, when

• s is used as parameter when it is an arc-length parameterization

cdssd

2

f )(

f(t) = (t 2, t 2) 222

8),2(2f

tttdttd

)(

Page 15: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

15

Tangent vector along a curve

• Has a direction and magnitude; the magnitude is speed

f(s) = sin s s [0, /2]g(s) = cos s

f(t) = t t [0,1]g(t) = ((1 – t)2)

The direction of tangent depends purely on the position on the curve, whereas the magnitude depends on the parameterization as well

Page 16: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

16

Length of a parameterized curve

• You get the length of a curve by integrating over the magnitude of the tangent vector of the curve

• The arc length from parameter value a to b, so the arc length between f(a) and f(b), is

b

adt

dttd )(f (x,y) = f(a)

(x,y) = f(b)

Page 17: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

17

Piecewise curves

• Defined by a sequence of functions• Should line up head-to-tail to get a continuous overall

mapping

f1f2

f3

f4

A piecewise curve is a curve by definition; its description just happens to be done using pieces

Page 18: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

18

Piecewise curves

• Example– f1(t) = (t, 0) for t [0,1)

– f2(t) = (t, t – 1) for t [1,3)

– f3(t) = (t2 – 2t, t – 1) for t [3,4]

Page 19: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

19

Piecewise curves

• Pieces must connect continuous curve• Tangent vector at both sides is the same

differential curve

Page 20: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

20

Types of continuity

• C0 is the name/notation for normal continuity• Parametric continuity C1: The tangent vectors are

the same “just before and just after every point on the curve”, in particular for breakpoints

• Geometric continuity G1: The tangent vector directions are the same just before and just after

Parametric continuity depends on the parameterization, while geometric continuity depends only on the shape

Page 21: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

21

Types of continuity

• You cannot “see” parametric continuity, you need the parameterization

• Parametric continuity implies geometric continuity• Re-parameterization may make a geometrically

continuous curve parametrically continuous• Cn and Gn means that all derivatives up to

(and including) the n-th are continuous

Practice: C1 / G1 continuous curves look good, C2 / G2 continuous curves look slightly better, more is not needed

Page 22: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

22

Polynomial pieces

• Both functions used for the f are polynomials in the parameter

• Simplest example: piecewise linear (polygonal) curve, consisting of straight line segments; only C0 – Each piece can be expressed using linear interpolation

between two points: f(u) = (1 – u) p0 + u p1

– Also : f(u) = a0 + u a1 (where a0 = p0 and a1 = p1 - p0)

p0

p1 u is used as parameter notation when it ranges over the unit interval [0,1]

Page 23: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

23

Polynomial pieces

• Higher-degree polynomials can be written in canonical form: f(u) = a0 + u a1 + u2 a2 (quadratic), or f(u) = a0 + u a1 + u2 a2 + … + un an (n-th degree)

In vector/matrix notation:

n

nuuuu

a

a

a

a

auf

2

1

0

21

these have an x- and a y-coordinate

Page 24: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

24

Quadratic pieces, quadrics

• The (vector) coefficients a0 , a1 and a2 of the canonical form are not convenient for making curves

• It is more natural to describe quadrics using 3 points, one for f(0), one for f(0.5), and one for f(1)

p0 = f(0) = a0 + 0 a1 + 02 a2 p1 = f(0.5) = a0 + 0.5 a1 + 0.52 a2 p2 = f(1) = a0 + 1 a1 + 12 a2

With linear algebra, we can convert a0 , a1 and a2 into p0 , p1 and p2 and vice versa

Page 25: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

25

Quadrics

p2

p1

p0

p2

p1p0

Page 26: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

26

Quadrics

• p0 = f(0) = a0 + 0 a1 + 02 a2 p1 = f(0.5) = a0 + 0.5 a1 + 0.52 a2 p2 = f(1) = a0 + 1 a1 + 12 a2

111

0.250.51

001

C constraint matrix

2

1

0

2

1

0

111

0.250.51

001

p

p

p

a

a

a

aC

Page 27: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

27

Quadrics

• p0 = f(0) = a0 + 0 a1 + 02 a2 p1 = f(0.5) = a0 + 0.5 a1 + 0.52 a2 p2 = f(1) = a0 + 1 a1 + 12 a2

22-2

1-43-

0011CB base matrix

apB If you have the three points p0 , p1 and p2 , you can get the coefficients of the polynomial in canonical form

Page 28: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

28

Quadrics

• Example 1: Given the points p0 = (0,1), p1 = (2,0)

and p2 = (4,4), compute the coefficients of the

polynomial in canonical form for which f(0) = p0,

f(0.5) = p1 , and f(1) = p2

• Solution: simply apply the base matrix B to ( p0 p1 p2 )T

2

1

0

4,6

74,

0,1

4,4

2,0

0,1

22-2

1-43-

001

a

a

a

Page 29: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

29

Quadrics

• Example 2: Given the points p0 = (0,1), p1 = (2,0)

and p2 = (4,4), compute the coefficients of the

polynomial in canonical form for which f(0) = p0,

f(0.3) = p1 , and f(1) = p2

• Solution: determine the base matrix B for this case and apply it to ( p0 p1 p2 )T

Page 30: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

30

Quadrics

• p0 = f(0) = a0 + 0 a1 + 02 a2 p1 = f(0.3) = a0 + 0.3 a1 + 0.32 a2 p2 = f(1) = a0 + 1 a1 + 12 a2

• Now compute B = C – 1 and apply it to ( p0 p1 p2 )T

111

0.090.31

001

C

Page 31: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

31

Quadrics

• We can specify the quadric using points and derivatives too– two points and one derivate at a point– one point, first derivative at a point and second derivative

at a point

p1p0

Page 32: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

32

Quadrics

• f(u) = a0 + a1 u + a2 u2

• f’(u) = a1 + 2 a2 u

• f’’(u) = 2 a2

• By specifying anything likep0 = f(0) , p1 = f’(0.6) , p2 = f’’(0.7)we can determine a (and therefore the quadric in canonical form) by setting up the constraint matrix, doing matrix inversion, and applying it to ( p0 p1 p2 )T

Page 33: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

33

Quadrics

• f(u) = a0 + a1 u + a2 u2

• f’(u) = a1 + 2 a2 u

• f’’(u) = 2 a2

• For example:p0 = f(0.1) = a0 + 0.1 a1 + 0.12 a2 p1 = f’(0.6) = a1 + 2 0.6 a2 p2 = f’’(0.7) = 2 a2

200

1.210

0.010.11

CNote: p1 and p2 are not points, but specifications of the first and second derivatives

Page 34: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

34

Cubics

• Cubics are the most popular polynomial pieces– They are determined by 4 coefficients so we can for

instance specify the two endpoints and the two first derivatives at these endpoints

– This is important for building splines

– f(u) = a0 + a1 u + a2 u2 + a3 u3

p2

p0 p3

p1

Page 35: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

35

Cubics

• p0 = f(0) = a0 + 0 a1 + 02 a2 + 03 a3

p1 = f’(0) = a1 + 0 a2 + 3 02 a3

p2 = f(1) = a0 + 1 a1 + 12 a2 + 13 a3

p3 = f’(1) = a1 + 1 a2 + 3 12 a3

This is the so-called Hermite form

p2

p0 p3

3210

1111

0010

0001

Cp1

Page 36: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

36

Cubics

• For example: p0 = (0,0), p1 = (0,2), p2 = (3,0), p3 = (2,0)

p0 = (0,0)

p1 = (0,2)

p2 = (3,0)

p3 = (2,0)

point pointtangent vector tangent vector

Page 37: Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.

37

Summary

• There are three main ways to specify curves, parametric, implicit, and procedural

• There are different degrees of continuity of curves, important when designing piecewise defined curves

• We can build (parametric) linear curves from two specifications, quadric curves from 3 specifications and cubic curves from 4 specifications (through point, tangent at point, …)

• The constraint matrix and base matrix allow us to convert specifications into canonical form and v.v.


Recommended