Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Hermite Curves Example

Curve
evaluation:

given P 1 (2,3,0), P2 (4, 0, 0)


and derivatives P1 ' (3,2) P2 ' (3, -4) at the points P 1 and P 2

⎛⎜ 2 3 0⎞

(
P( u ) := 1 − 3 ⋅ u + 2u 3u − 2u u − 2u + u −u + u ⋅ ⎜
2 3 2 3 2 3 2 3
⎜3
4
) 0 0⎟
2 0⎟
⎜3 ⎟
⎝ −4 0 ⎠

x ( u ) := P( u ) x values as function of u
0, 0

y ( u ) := P( u ) y values as function of u
0, 1

2
y( u)

−1
2 2.5 3 3.5 4
x( u)
Bezier Curves Example
Control
points:

P := ( 1 1 0 )P := ( 1.1 3 0 ) P := ( 1.5 2.5 0 ) P := ( 1.8 1 0 ) P := ( 2 1 0 )


0 1 2 3 4

n := 4 number of points
n
⎡ n! u i ( 1 − u ) n−i⋅ P ⎤ curve evaluation
Pb ( u ) :=
∑ ⎢
⎣ i! ( n − i)! i⎥

i= 0

x ( u ) := Pb ( u ) x values as function of u
0, 0
y ( u ) := Pb ( u ) y values as function of u
0, 1

⎡( P0) ( P ) ( P ) ( P ) ( P ) ⎤
T
x points :=
1 2 3 4
⎣ 0, 0 0, 0 0, 0 0, 0 0 , 0⎦

⎡( P0) ( P )
1 0 , 1 ( 2) 0 , 1 ( 3) 0 , 1 ( 4) 0 , 1⎤
T
y points := P P P
⎣ 0 , 1 ⎦

2
y( u)

ypoints

1 1.2 1.4 1.6 1.8


x( u) , xpoints
Bezier Example

x 0 := 1 x 1 := 1.5 x 2 := 2.5

y 0 := 0 y 1 := 3 y 2 := 1.5

(
P := x 0 y 0 0
0 ) (
P := x 1 y 1 0
1 ) (
P := x 2 y 2 0
2 )
n := 2 number of points
n
⎡ n! ui ( 1 − u) n−i⋅ P ⎤ curve evaluation
P( u ) :=
∑ ⎢
⎣ i! ( n − i)! i⎥

i= 0

x ( u ) := P( u ) x values as function of u
0, 0
y ( u ) := P( u ) y values as function of u
0, 1

y( u)

1 1.5 2 2.5
x( u)

u := 0.9
n! 0 n− 0 n! 1 n− 1 n! 2 n− 2
Pu := ⋅ u ( 1 − u) ⋅ P0 + ⋅ u ( 1 − u) ⋅ P1 + ⋅ u ( 1 − u) ⋅ P2
0! ( n − 0 )! 1! ( n − 1 )! 2! ( n − 2 )!

n! 0 n− 0 n! 1 n− 1 n! 2 n− 2
x u := ⋅ u ( 1 − u) ⋅ x0 + ⋅ u ( 1 − u) ⋅ x1 + ⋅ u ( 1 − u) ⋅ x 2 = 2.30
0! ( n − 0 )! 1! ( n − 1 )! 2! ( n − 2 )!

n! 0 n− 0 n! 1 n− 1 n! 2 n− 2
y u := ⋅ u ( 1 − u) ⋅ y0 + ⋅ u ( 1 − u) ⋅ y1 + ⋅ u ( 1 − u) ⋅ y 2 = 1.75
0! ( n − 0 )! 1! ( n − 1 )! 2! ( n − 2 )!

2 2
Pu := ( 1 − u ) ⋅ P0 + 2 ⋅ u ⋅ ( 1 − u ) ⋅ P1 + u P2

2 2
x := ( 1 − u ) ⋅ x 0 + 2 ⋅ u ⋅ ( 1 − u ) ⋅ x 1 + u x 2 = 2.305

2 2
y := ( 1 − u ) ⋅ y 0 + 2 ⋅ u ⋅ ( 1 − u ) ⋅ y 1 + u y 2 = 1.755

u := 0 , .1 .. 1
2
f0 ( u ) := ( 1 − u ) ⋅ y 0

f1 ( u ) := 2 ⋅ u ⋅ ( 1 − u ) ⋅ y 1
2
f2 ( u ) := u y 2

1.5

f0( u) 1

f1( u)

f2( u)
0.5

0
0 0.2 0.4 0.6 0.8 1
u
2 2
f ( u ) := ( 1 − u ) ⋅ y 0 + 2 ⋅ u ⋅ ( 1 − u ) ⋅ y 1 + u y 2

1.5

f ( u) 1

0.5

0
0 0.2 0.4 0.6 0.8 1
u

You might also like