Tracé d`une courbe de Bézier par l`algorithme de Casteljau

publicité
LMRS
Tracé d’une courbe de Bézier
par l’algorithme de Casteljau
Gérard GRANCHER
Laboratoire de Mathématiques Raphaël Salem
CNRS - Université de Rouen
Propriétés
LMRS
Théorème 1 Soit (Pi )0≤i≤n la suite des n + 1 points de
définition de (C), une courbe de Bézier.
Soit, pour tout t, la suite (doublement indicée pour
(k)
0 ≤ k ≤ n et 0 ≤ j ≤ n − k) des points Pj (t) définis par
(0)
Pj (t)
= Pj et
−−−−−→
−−−−−→
−−−→
(k)
(k−1)
(k−1)
(t) + tOPj+1 (t)
OPj (t) = (1 − t)OPj
Alors on a pour tout t tel que t ∈ [0, 1]
M (t) est le point courant de (C).
(n)
P0 (t)
= M (t) où
L’algorithme de Casteljau est fondé sur le théorème cidessus.
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.1
Démonstration du théorème
LMRS
On a
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
n−1
i=0
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
i=1
−−−−
→
−
−−−
→
n
(0)
(0)
n−i i
n
(1 − t)
t OPi
+ t OPn
i
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
n−1
n−1
−−−−
→
(0)
n
= (1 − t) OP0 +
i=0
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
(1 − t)
n−i i
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
i=1
−−−−
→
−
−−−
→
(0)
(0)
n
t OPi + t OPn
n−1
n−1
+
i
i−1
i=1
n−1
n
n−1
−−−−
→
−
−−−
→
n
(0)
(0)
n−i i
n
(1 − t)
t OPi
+ t OPn
i
−−−−
→
(0)
= (1 − t) OP0 +
n−1
−−−−
→
(0)
n
= (1 − t) OP0 +
i=0
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
−−−−
→
−
−−−
→
n
(0)
(0)
n−i i
n
(1 − t)
t OPi
+ t OPn
i
n
i=1
−−−−
→
−
−−−
→
(0)
(0)
n
t OPi + t OPn
n−1
n−1
+
i
i−1
i=1
n−1
−−−−
→
(0)
= (1 − t) OP0 +
n−1
−−−−
→
(0)
n
= (1 − t) OP0 +
i=0
(1 − t)
n−i i
−
−−−
→ n−1 n − 1
−
−−−
→
(0)
(0)
n−1
n−1−i i
= (1 − t)
(1 − t)OP0 +
(1 − t)
t (1 − t)OPi
i
i=1
−
−−−
→
−
−−−
→
n−1
(0)
(0)
n−i i−1
n−1
(1 − t)
t
tOPi + t
tOPn
i−1
+
i=1
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
n−1
n−1
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
−−−−
→
−
−−−
→
n
(0)
(0)
n−i i
n
(1 − t)
t OPi
+ t OPn
i
n
i=1
−−−−
→
−
−−−
→
(0)
(0)
n
t OPi + t OPn
n−1
n−1
+
i
i−1
i=1
n−1
−−−−
→
(0)
= (1 − t) OP0 +
n−1
−−−−
→
(0)
n
= (1 − t) OP0 +
i=0
(1 − t)
n−i i
−
−−−
→ n−1 n − 1
−
−−−
→
(0)
(0)
n−1
n−1−i i
= (1 − t)
(1 − t)OP0 +
(1 − t)
t (1 − t)OPi
i
i=1
−
−−−
→
−
−−−
→
n−1
(0)
(0)
n−i i−1
n−1
(1 − t)
t
tOPi + t
tOPn
i−1
n−1
+
i=1
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
i=0
n−1
=
n
−
−−−
→
−
−−−
→
n−1
n−1
(0)
(0)
n−1−i i
n−1−(i−1) i−1
(1 − t)
t (1 − t)OPi +
(1 − t)
t
tOPi
i
i
−
1
i=1
n−1
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Démonstration du théorème
On a
−−→
OM (t) =
LMRS
n
−−→
i
Bn
(t)OPi
−−−−
→
−
−−−
→
n
(0)
(0)
n−i i
n
(1 − t)
t OPi
+ t OPn
i
n
i=1
−−−−
→
−
−−−
→
(0)
(0)
n
t OPi + t OPn
n−1
n−1
+
i
i−1
i=1
n−1
−−−−
→
(0)
= (1 − t) OP0 +
n−1
−−−−
→
(0)
n
= (1 − t) OP0 +
i=0
(1 − t)
n−i i
−
−−−
→ n−1 n − 1
−
−−−
→
(0)
(0)
n−1
n−1−i i
= (1 − t)
(1 − t)OP0 +
(1 − t)
t (1 − t)OPi
i
i=1
−
−−−
→
−
−−−
→
n−1
(0)
(0)
n−i i−1
n−1
(1 − t)
t
tOPi + t
tOPn
i−1
n−1
+
i=1
−
−−−
→
−−−−→
n−1
(0)
(0)
n−1−i i
(1 − t)
t (1 − t)OPi + tOPi+1
i
i=0
n−1
=
n
−
−−−
→
−
−−−
→
n−1
n−1
(0)
(0)
n−1−i i
n−1−(i−1) i−1
(1 − t)
t (1 − t)OPi +
(1 − t)
t
tOPi
i
i
−
1
i=1
n−1
=
i=0
n−1
−
−−−
→
(1)
i
Bn−1
(t)OPi
=
i=0
−−−−→
−−→
(n)
Ainsi, après n itérations, on obtient : OM (t) = OP0 (t).
Tracé d’une courbe de Bézierpar l’algorithme de Casteljau – p.2
Téléchargement