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