formulaire courbes de bézier de degré 2 et 3€¦ · pages 36 et 37 [1] modèles de bézier des...

37
Formulaire courbes de Bézier de degré 2 et 3 I I’ 1 1

Upload: others

Post on 18-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Formulairecourbes de Bézier

de degré 2 et 3

I

I’

11

Page 2: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Réalisé par Alexandre Christophe GLON le 29-01-2019

2 2

Page 3: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Table des matières

Bibliographie

Equations des courbes de Bézier de degré 2................................... pages 4 et 5Equations des courbes de Bézier de degré 3................................... pages 6 et 7Courbes de Bézier 3 spéciales........................................................... page 8Changement de paramètres d’une courbe de Bézier .................... page 9Intersection d’une droite avec une courbe de Bézier .................... page 10Estimation de paramètre t ................................................................ page 11Parabole paramétrique , calcul du sommet et du foyer .............. pages 12 et 13Points stationnaires et de croisement d’une courbe de Bézier .... pages 14 et 15Subdivisions récursives (De Casteljau) .......................................... pages 16 et 17Réunion de 2 courbes de Bézier ...................................................... page 18Distance d’un point à une courbe de Bézier .................................. page 19Centre de courbure (cercle osculateur) .......................................... page 20Paramétrisation d’une fonction de 2ème ou 3ème degré ............. page 21Aire, abscisse curviligne d’une courbe de Bézier .......................... pages 22 et 23Simulation d’un arc de cercle par une courbe de Bézier .............. pages 24 et 25Simulation d’un arc de clothoïde par une courbe de Bézier ........ pages 26 et 27Courbe de Bézier passant strictement par 3 et 4 points............... pages 28 et 29Lissage d’un polygone par approximation dichotomique............. pages 30, 31, 32, 33 et 34Rotation d’une courbe Bézier par changement de base............... page 35Résolution d’une équation du 3ème degré ................................... pages 36 et 37

[1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses

[2] Topographie et topométrie modernes tome 1 : par S. MILLES et J. LAGOFUN éditions Eyrolles

[3] Topographie et topométrie modernes tome 2 : par S. MILLES et J. LAGOFUN éditions Eyrolles

[4] Cours de géométrie : par M. TROYANOV Presses polytechniques et universitaires romandes

[5] Method’S classe de première : par T. PETIT éditions Ellipses

3 3

Page 4: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Équations des courbes de Bézier de degré 2 [1]

Pour calculer les coordonnées d’un point M(t) de la courbe il faut connaitre son paramètre t *Les points A0 A1 A2 sont les points de définitions d’une courbe paramétrique de Bézier de degré 2

Equations vectorielles et analytiques de C2

OM(t) = (1-t)²OA0 + 2t(1-t)OA1 + t ²OA2

xM(t) = (1-t)² xA0 + 2t(1-t) xA1 + t² xA2yM(t) = (1-t)² yA0 + 2t(1-t) yA1 + t² yA2

OM(t) = t ² (A1A0+A1A2) + 2t(A0A1) + OA0

a) selon les polynômes de Bernstein b) définition canonique ( selon les puissances de t)

x = f(t) = t² (xA0 - 2xA1 + xA2) + 2t(xA1 - xA0) + xA0y = g(t) = t² (yA0 - 2yA1 + yA2 ) + 2t(yA1 - yA0) + yA0

M(t) M(t)

M(t)

Équations de la dérivée première des courbes de Bézier de degré 2 appelé aussi Hodographe premier

Dérivée seconde

* l’usage veut que le paramètre t ∈ [0 1]

OH1(t) = 2[ (1-t) (A0A1) + t(A1A2) ]

OH1(t) = -2[ (1-t)A0 - (1-2t )A1 - t A2 ]

xH1(t) = 2[ (1-t) (xA1 - xA0) + t (xA2 - xA1) ]yH1(t) = 2[ (1-t) (yA1 - yA0) + t (yA2 - yA1) ]

x’’= f ’’(t) = 2 ( xA0 - 2xA1 + xA2 ]y’’= g’’(t) = 2 ( yA0 - 2yA1 + yA2 ]

OH1(t) = 2t(A1A0 + A1A2) + 2(A0A1)

a’) selon les polynômes de Bernstein

ou

b’) canonique (selon les puissances de t )

x’= f ’(t) = 2t (xA0 - 2xA1 + xA2) + 2(xA1 - xA0)y’= g’(t) = 2t (yA0 - 2yA1 + yA2) + 2(yA1 - yA0) M’(t) M’(t)

M’’(t)

t >1

t < 0

A1

A0

A2

x

y

échelle 1

M(0,2)34,149,3

M(0,635)

M(1,1)

65,346,0

C2

Exemple

x = f(t) = -108t² + 162t + 6y = g(t) = -117t² + 90t + 36

la courbe C2 est une portion de parabole

Les vecteurs A0A1 et A2A1 sont respectivements tangent à C2 en A0 et A2

t xM(t) yM(t)

1 60 90,2 34,1 49,30,3 44,9 52,50,4 53,5 53,30,5 60 51,80,635 65,3 46,00,7 66,5 41,71,1 53,5 -6,60 6 36

C2 X YA0

A1

A2

6 3687 8160 9

G

44

Page 5: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

xH1(t) = (1-t)(162)+ t (90) yH1(t) = (1-t)(-54) + t (-144)

Hodographe

La dérivée ’ permet de connaitre le coef. directeur de la tangente à C2 au point M(t) .

L’hodographe H1 est la représentation graphique de la dérivée première de la courbe C2 .

Définition matricielle d’une B2

xM(t) yM(t) =1 t t21 0 0

-2 2 01 -2 1

xA0 yA0xA1 yA1xA2 yA2

OM(t)Od

C2M(0.5)

Hodographe

α ≈ -26,6°

H1(0.5)

H1(0.5)

D0(0)

D1(1)échelle : 0,5

Exemple

x’= f ’(t) = t (-216) + 162y’= g’(t) = t (-234) + 90

29,1° 0 162,0 90,020,0° 0,2 118,8 43,211,5° 0,3 97,2 19,8-2,7° 0,4 75,6 -3,6

-26,6° 0,5 54,0 -27,0-57,3° 0,6 32,4 -50,4-81,7° 0,7 10,8 -73,883,7° 0,8 -10,8 -97,269,4° 1 -54,0 -144,0

t xH1(t) yH1(t)

La tangente à C2 en un point M(t) =

ou

= tan (α) yH1(t)

xH1(t)

M’(t)

M’(t)

C2’ X YD0

D1

162 90-54 -144

p2wn

matrice de passage xA yA

α

5 5

Page 6: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

P3C3

M(0,3)

M(0,7)34,3238,15

échelle 1

P0 échelle : 1/3

A0

74,2257,12

M’(0,3)

A1

A2

P1 P2

φ3

φ0

α0

α3

Définition matricielle.

X YP0

P1

P2

P3

14 1034 5464 5490 26

Les vecteurs P0P1 et P2P3 sont respectivements tangents à C3 en P0 et P3

X YA0=

A1=

A2=

60 13290 078 -84

3(P0P1)3(P1P2)3(P2P3)

C3 Hodographe 1er de C3

matrice de passage

w

t 1 t t² t3

p3

xP yP xM(t) yM(t)0 1 0 0 0 1 0 0 0 14 10 14,00 10,00

0,3 1 0,3 0,1 0,027 × -3 3 0 0 × 34 54 = 34,32 38,150,7 1 0,7 0,5 0,343 3 -6 3 0 64 54 65,90 43,211 1 1 1 1 -1 3 -3 1 90 26 90,00 26,00

n

Définition vectorielle, canonique, matricielle des pts. d’une courbes de Bézier de degré 3

a) Définition selon les polynomes de Bernstein.

OM(t) = (1-t)³ OP0 + 3t(1-t)² OP1 + 3t²(1-t) OP2 + t³OP3 xM(t) = (1-t)³ xP0 + 3t(1-t)² xP1 + 3t²(1-t) xP2 + t³ xP3yM(t) = (1-t)³ yP0 + 3t(1-t)² yP1 + 3t²(1-t) yP2 + t³ yP3 M(t)

xM’(t) = 3[ (1-t)² (xP1-xP0) + 2t(1-t)(xP2-xP1) + t²(xP3-xP2) ]yM’(t) = 3[ (1-t)² (yP1-yP0) + 2t(1-t)(yP2-yP1) + t²(yP3-yP2) ] M’(t)

xM’’(t) = 6[ (1-t) (xP2-xP0) + t (xP1-2xP2+xP3) ]yM’’(t) = 6[ (1-t) (yP2-yP0) + t (yP1-2yP2+yP3) ] M’’(t)

xM’’’(t) = 6[ xP3-xP0 +3(xP1-xP2) ]yM’’’(t) = 6[ yP3-yP0 + 3(yP1-yP2) ] M’’’(t)

OM’(t) = 3[ (1-t)² (P0P1) + 2t(1-t) (P1P2) + t² (P2P3) ]

c) Définition vecteurs et contraintes .b) Définition avec P0 P1 P2 P3 isolés .

En posant : V0=OP0 ; V1=(OP1 - OP0) ; V2 =(OP2 - OP1) ; V3=(OP3 - OP2)

M’(t)x’ = f ’(t) = -3[ (1-t)² xP0 - (1-t)(1-3t) xP1 - t(2-3t) xP2 - t² xP3 ]y’ = g’(t) = -3[ (1-t)² yP0 - (1-t)(1-3t) yP1 - t(2-3t) yP2 - t² yP3 ]

M’’(t)x’’ = f ’’(t) = 6[ (1-t) xP0 - (2-3t) xP1 + (1-3t) xP2 + t xP3 ]y’’ = g’’(t) = 6[ (1-t) yP0 - (2-3t) yP1 + (1-3t) yP2 + t yP3 ]

M’’’(t)x’’’ = f ’’’(t) = 6[ xP3 - xP0 + 3( xP1 - xP2)]y’’’ = g’’’(t) = 6[ yP3 - yP0 + 3( yP1 - yP2)]

x = f(t) = (1-t)³ xP0 + 3t(1-t)² xP1 + 3t²(1-t) xP2 + t³ xP3y = g(t) = (1-t)³ yP0 + 3t(1-t)² yP1 + 3t²(1-t) yP2 + t³ yP3 M(t)

OM(t) = V0 + (1-(1-t)³) (V1) + (3t²-2t³) (V2) + t³ (V3)OM’(t) = 3[(1-t)²) (V1) + 2t(1-t) (V2) + t² (V3)]OM’’(t) = -6[(1-t) (V1) - (1-2t) (V2) - t(V3)]OM’’’(t) = 6[ (V1) -2 (V2) + (V3)]

OM’’(t) = 6[ (1-t) (P1P0 + P1P2) + t (P2P1 + P2P3) ]

OM’’’(t) = 6[ (P0P3) + 3(P2P1) ]

OM(t)Os

66

[1]

Page 7: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

x = f(t) = -14t³+30t² +60t +14y = g(t) = 16t³ -132t²+132t +10M(t)

Et matriciellement avec :

Les définitions e) et f ) sont très pratiques pour certains calculs.

Of = T Of wx0 x1 x2 x3y0 y1 y2 y3 n

OM(t) = OC0t³ + OC1t² + OC2t + OC3

OM(t) =

d) Définition canonique (selon les puissances de t).

e) Définition canonique avec P1 et P3 définis par coordonées polaires .

e1) Avec P1 connus et fixe .

f ) Définition par coordonées polaires avec éléments isolés.

xC0 = x3 = (xP3 - xP0 + 3(xP1-xP2))xC1 = x2 = 3(xP0 + xP2 - 2xP1)xC2 = x1 = 3(xP1-xP0)xC3 = x0 = xP0

xP1 = x1 + xP0xP0 = x0

( Resp. pour les y)

( Resp. pour les y)

x = f(t) = x3t³+x2t²+x1t+x0y = g(t) = y3t³+y2t²+y1t+y0M(t) M’(t)

x’= f ’(t) =3x3t ²+2x2t+x1y’= g’(t) = 3y3t ²+2y2t+y1 M’’(t)

x’’= f ’’(t) = 6x3t+2x2y’’= g’’(t) = 6y3t+2y2

x’’’= 6x3y’’’= 6y3M’’’(t)

3 xP2 = x2 - xP0 + 2xP1 3 xP3 =x3 + xP0 - 3(xP1-xP2)

Réciproquement

Donc dans notre exemple les points de C3 sont aussi définis par :

En posant :

x = f(t) = t³ (2xP0 + 3φ0 cos(α0)-3φ3 cos(α3) -2xP3 ) - 3t² ( xP0 + 2φ0 cos(α0) - φ3 cos(α3) -xP3 ) + 3t φ0 cos(α0) + xP0 y = g(t) = t³ (2yP0 + 3φ0 sin(α0)-3φ3 sin(α3) -2yP3 ) - 3t² ( yP0 + 2φ0 sin(α0) - φ3 sin(α3) -yP3 ) + 3t φ0 sin(α0) + yP0M(t)

x = f(t) = t³ (- xP0 + 3xP1-3φ3 cos(α3) -2xP3 ) + 3t² ( xP0 - 2xP1 +φ3 cos(α3) +xP3 ) + 3t ( xP1-xP0 ) + xP0 y = g(t) = t³ (- yP0 + 3yP1-3φ3 sin(α3) -2yP3 ) + 3t² ( yP0 - 2yP1 +φ3 sin(α3) +yP3 ) + 3t ( yP1-yP0 ) + yP0M(t)

e2) Avec P2 connus et fixe .

x = f(t) = t³ (2xP0 + 3φ0 cos(α0) - 3xP2 + xP3 ) - 3t² ( xP0 + 2 φ0 cos(α0) - xP2 ) + 3t φ0 cos(α0) + xP0 y = g(t) = t³ (2yP0 + 3φ0 sin(α0) - 3yP2 + yP3 ) - 3t² ( yP0 + 2 φ0 sin(α0) - yP2 ) + 3t φ0 sin(α0) + yP0M(t)

avec α0 = angle orienté P0P1 et φ0 = ||P0P1|| et α3 = angle orienté P3P2 et φ3 = ||P3P2||

x = f(t) = (1-t)²(2t+1) xP0 + 3t(1-t)² φ0 cos(α0) + 3t²(1-t) φ3 cos(α3) + t²(3-2t)xP3y = g(t) = (1-t)²(2t+1) yP0 + 3t(1-t)² φ0 sin(α0) + 3t²(1-t) φ3 sin(α3) + t²(3-2t)yP3 M(t)

x’ = f ’(t) = 3 [ -2t(1-t) xP0 + (1-t)(1-3t) φ0 cos(α0) +t(2-3t) φ3 cos(α3) + 2t(1-t)xP3 ]y’ = g’(t) = 3 [ -2t(1-t) yP0 + (1-t)(1-3t) φ0 sin(α0) + t(2-3t) φ3 sin(α3) + 2t(1-t)yP3 ] M’(t)

x’’ = f ’’(t) = 6 [ -(1-2t) xP0 -(2-3t) φ0 cos(α0) +(1-3t) φ3 cos(α3) + (1-2t)xP3 ]y’’ = g’’(t) = 6 [ -(1-2t) yP0 -(2-3t) φ0 sin(α0) + (1-3t) φ3 sin(α3) + (1-2t)yP3 ] M’’(t)

x’’’ = f ’’’(t) = 6 [ 2xP0 +3 φ0 cos(α0) -3 φ3 cos(α3) -2xP3 ]y’’’ = g’’’(t) = 6 [ 2yP0 +3 φ0 sin(α0) -3 φ3 sin(α3) -2yP3 ] M’’’(t)

7 7

Page 8: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

b) Courbe B3 qui est une portion de parabole

Dans la plupart des logiciels de dessin vectoriel seules les courbes de Bézier de degré 3 sont utilisées.Voici une méthode pour afficher un vrai segment de parabole avec une B3.

Il faut que P1 soit au de A0A1 et P2 au de A2A123

23

Courbes de Bézier de degré 3 spéciales.

c) Courbe définie par «3 points» utilisée dans le système Postscript.

Courbes de type 3 avec rebroussement en P3

La courbe est définie avec les points P0 P1 P2 P3 mais P2 est confondu avec P3.

d) Courbe avec P2 sur la tangente en P0 e) Courbe avec P2 sur la tangente en P0 et P1 au milieu de P0P2

Courbe de type 2 avec deux inflexions dont une en P0

X YP0

P1

P2

P3

5 520 530 535 20

Courbe de type 1 avec une inflexion en P0

X YP0

P1

P2

P3

5 517.5 530 535 20

X YP0

P1

P2

P3

90 2634 5414 1014 10

X YP0

P1

P2

P3

14 1034 5490 2690 26

P0 P0

P1 P1

P3 P3

P2 P2

P0P0

P1 P1

P2 = P3

P2 = P3

C2

A1

P0 = A0

P3 = A2

P1

P2

x

y

échelle 0.5

C2 C2 X YP0

P1

P2

P3

6 3660 6678 5760 9

X YA0

A1

A2

6 3687 8160 9

=

Type 1 Type 2 Type 3 Type 4

1 point d’inflexion 1 rebroussementde 1ère espèce

1 point de croisement

Type 5

1 arc de parabole2 points d’inflexions

a ) Les différents types de courbes de degré 3.

88

Page 9: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

y

xo

H1

échelle : 5H2

f(t) ≈ 0 t³ -2,34 t² + 6,41 t + 0g(t) ≈ 24,35 t³ -38,93 t² + 18,11 t + 0C4

C4

C4 X YP0

P1

P2

P3

0 02,14 6,043,49 -0,904,07 3,53

α

y

xo

H1

C4

échelle : 10H2

xM(t) = f(t) = 8t³ -15t² + 12t + 1yM(t) = g(t) = 23t³ -36t² + 15t + 3

a

C4

= = =>

C4 X YP0

P1

P2

P3

1 35 84 16 5

courbe de type 2

α ≈ 70,821°y3x3

238

b = = => β ≈ 67,380°y2x2

-36-15

c = = => γ ≈ 51,340°y1x1

1512

d = = => δ ≈ 71,565°y0x0

31

Changement de paramètres d’une B3 par rotation et / ou translation

Exemple avec une courbe ‘‘gauche’’ et ses hodographes

Méthode pour ‘’ dégauchir ‘’ et simplifier une courbe B3 par rotation et translation.

NB : a = C4’’’

Avec une rotation de -α c’est le coefficient y3 qui sera nul.

De la même manière une rotation impliquant β les coef. x2 ou y2 seront = 0 etc...

Appliquer une rotation* de (90°-α ) ≈ 19°179 de centre P0 et une translation de -P0

Nous utiliserons la définition canonique d’une B3 =>

* Rotation à l’aide d’une formule du changement de base (voir page 35 )

Ces changements de paramètres peuvent permettre de simplifier des équations

notamment pour determiner le point de croisement d’une courbe de type 4 (voir page 15)

En fait l’invariance affine du paramètre t autorise ces changements.

Nous pouvons dans certains cas exprimer une équation d’une manière différente et arriver indirectement

à un résultat pour revenir à une méthode directe.

x = f(t) = x3t³+x2t²+x1t+x0y = g(t) = y3t³+y2t²+y1t+y0M(t)

13

-1-3

99

Page 10: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Intersection d’une B3 avec une droite définie par un point E et son coef. directeur a

Intersection d’une droite avec une B3, calcul du paramètre tIl est très utile de déterminer le paramètre t d’un point de la courbe dont on connait l’abscisse ou l’ordonnée

Cela revient à calculer l’intersection de la courbe avec une droite d’équation x = x(M) ou y = y(N)

Intersection de 2 courbes B3

Un algorithme s’impose => https://pomax.github.io/bezierinfo/#intersections

L’avantage est que l’algorithme calcule sur l’intervalle [0 1] donc pas de confusions possible.

M1

23

M2

EC4

échelle : 10

M3

xo

xM ( t ) = f(t) = 8 t ³ -15 t ² + 12 t + 1yM( t) =g(t) = 23 t³ -36 t² + 15 t + 3

23

3,784,78

-1,21-0,21

7,458,45

15t³ - 21t² + 3t + 1 = 0

C4

yC4 - yD xC4 - xD

E

M1 M2 M3

= a

Exemple 3

=> 3 solutions réelles :

t3 ≈ 1,1834t1 ≈ 0,3692 t2 ≈ -0,1526

2,474,5

4,144.5

5,734.5

N1 N2 N3

Posons :

En développant =>

(y3-ax3)t ³+(y2-ax2)t ²+(y1-ax1)t+(y0-ax0-yE+xEa) = 0=>

a =1

N1 N2 N3

y

xo

C4

échelle : 10x=2

y=4,5M

xM(t) = 8t³-15t² + 12t + 1 = 2

8t³ -15t² + 12t - 1 = 0

23t³ -36t² + 15t - 1,5 = 0

t1 ≈ 0,0938 =>

xM(t)= f(t) = 8t³ -15t² + 12t + 1yM(t) = g(t) = 23t³ -36t² + 15t + 3

yM(t) = 23t³ -36t² + 15t + 3 = 4,5

2?

?

4,5

C4

avec C4 et

M

24,11M

N

Exemple 1

Exemple 2

Donc il faut résoudre :

=> 1 solution réelle :

=> 3 solutions réelles :t3 ≈ 0,9523t1 ≈ 0,1470 t2 ≈ 0,4660

C4 X YP0

P1

P2

P3

1 35 84 16 5

1010

Page 11: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

X YM0

M0

M1

M1

M1’

M2’

M2

M2

1 139 2724 40

M3

M3

40 44

αβ

α ≈ 11,171° β ≈ 1,754°

échelle 2

Estimation du paramètre t

t(M1) = ≈ 0,3175

Et aussi avec :

Nous pouvons constater que la méthode des normes engendre 2 solutions.Nous pourrions par exemple faire la moyenne des 2 estimations de t.

Avec :

||M0M1|| COS(α)

||M0M3||

t(M2) = ≈ 0,7116||M0M2|| COS(β)

||M0M3||

t(M1) = ≈ 0,3237||M0M1||

||M0M3||

t(M1)moyen ≈ 0,3070

t(M2) = ≈ 0,7119||M0M2||

||M0M3||

t(M2)moyen ≈ 0,6905t(M1) = 1 - ≈ 0,2903||M3M1||

||M0M3||t(M2) = 1- ≈ 0,6690

||M3M2||

||M0M3||

||M0M3||≈49,82 ||M0M1||≈16,13 ||M0M2||≈35,47

||M0M3||≈49,82 ||M0M1||≈16,13 ||M0M2||≈35,47

||M0M3||≈49,82 ||M3M1||≈35,36 ||M3M2||≈16,49

Nous pouvons constater que le calcul de t implique souvent 3 solutions.Et pour éviter certaines confusions j’ai situé les exemples de courbes dans le premier quadrant du cercle trigonométriqueafin d’avoir une pseudo équivalence avec une fonction.Cela implique que le calcul de t avec la définition canonique f(t) accepte une seule solution sur l’intervalle [0 1]. D’ou l’utilité parfois d’effectuer un changement de paramètre par rotation et ou translation pour effectuer certains calculs.

Dans la réalité, notamment dans le domaine du design avec des logiciels «vectoriels» seule la portion continue des courbes sont utilisées (en majorités ce sont des courbes de type 2 ou 4).Si par le calcul un point stationnaire est situé sur [0 1] il est préférable de diviser la courbe en ce point.

Dans certains calculs, il est parfois necessaire d’estimer le paramètre t d’un ou plusieurs points .

Voici 2 méthodes :

Exemple 1 : méthode du projeté orthogonal sur M0M3

Exemple 2 : méthode des normes

11 11

Page 12: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

d = 108 117

a = 117 108

Parabole B2 : calcul de son axe A, son sommet S et son foyer F

La tangente au sommet S = d =

A l’aide de l’équation de la dérivée première et de d calculer le paramètre t du sommet S

* voir page 24 intersection de 2 droites a l’aide de la formule de Delambre.

L = ( S ; a ) + A2A1

Et nous pouvons aussi calculer le point K situé sur la directrice et qui est le symétrique de F par rapport à S

donc t(sommet) =d =

1a

2t (yA0 - 2yA1 + yA2) + 2(yA1 - yA0) (yA1 - yA0) - d(xA1 - xA0)2t (xA0 - 2xA1 + xA2) + 2(xA1 - xA0) d(xA0 - 2xA1 + xA2) - (yA0 - 2yA1 + yA2)

donc t(sommet) ≈ 0,552716

Calcul du sommet S

Calcul du foyer F

Exemple

Il faut savoir que l’intersection d’une tangente à C2 (par exemple A2A1) avec son axe A => Let que + de la médiatrice de A2L avec l’axe A de la parabole est son foyerF .

xS(tsommet) ≈ 62.547 yS(tsommet) ≈ 50.002SxM(t) = -108t² + 162t + 6

yM(t) = -117t² + 90t + 36

Exemple*

S

S F = ( S ; a ) + médiatrice de A2L

1.0833 (a)

C2 X YA0

A1

A2

6 3687 8160 9

S 62,6 50,0

le coef dir. de l’axe A de la parabole = a = xC2’’ yC2’’

X Y

A2 60 9

L 84.15 73.41

coef dir.

coef dir.

2.6667 (coef dir. de A2A1)

62.55 50.00 1.0833 (a)

X Y

F 58.96 46.12

K 66.13 53.88

62.55 50

C2

M 72.08 41.2 -0.3750 (-1÷ 2.6667)

1212

Page 13: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Dans un premier temps il faut que le sommet de la parabole soit à l’origine du repère et son axe A doit coïncider avec l’axe OY.Nous allons donc effectuer un changement de base avec une rotation dedont le centre Ω est le sommet S et une translation de -xS et -yS .

Calcul du foyer F : méthode indirecte

xS ≈ 62.547 yS ≈ 50.002S

xS ≈ 62,547 yS ≈ 50,002S

xM(t) = -108t² + 162t + 6 yM(t) = -117t² + 90t + 36

117 108 = arctan ( ) ≈ 42,7094°

Donc dans ce cas la avec

Donc directement avec A =(xA0 - xS) , B =(yA0 - yS) , et son sommet S

NB : le calcul peut se faire sur R² avec A0 = n’importe quel point de la parabole hormis son sommet.

En interpolant les points A0’, S’, A3’ par la méthode de Newton

la paramètre a de la parabole =

xA0’= - sinα (yA0 - yS) ≈ -32.054cosα (xA0 - xS) yA0’=

x F’= 0

y F’=

+ cosα (yA0 - yS) ≈ -48.643sinα (xA0 - xS)

x F= sin(α) (y F’) + xS =

y F= cos(α) (y F’) + yS =

xA3’ ≈ 32,054yA3’ ≈ -48,643

≈ -5,281

≈ -0,047344yA0’

1le foyer est définis par :

4a

(xA0’)²

(cosα A - sinα B )²4 ( A + cotanα B )

4 yA0’

(xA0’)²

Ω = Δx ≈ - 62,547Δy ≈ - 50,002

α

α

+ xS

(cosα A - sinα B )²4 ( tanα A + B ) + yS

avec

C2S

F

K

L

axe A

A1

A0

A2

x

y

echelle 1

Directrice DM

y

A0’

F

F’

A3’est le symétrique de A0’

S’

F’

x

echelle 1

A0’ A3’

=

13 13

Page 14: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Points stationnaires et point de croisement d’une B3

Pour déterminer les points stationnaires utilisons la formule suivante : le déterminant de

Avec :

En développant :

Si Δ>0 et A=0 => 1 pt d’inflexionSi Δ>0 et A≠0 => 2 pt d’inflexions

Si Δ=0 => 1 pt rebroussementSi Δ<0 => 1 pt croisement

Si A =0 et B =0 => 1 arc de parabole

et => = 0-=B’3 =>x’= f ’(t) = 3x3t ²+2x2t+x1

=> (x2y3 - x3y2)t ² +(x1y3 - x3y1)t + (x1y2 - x2y1) /3 = A t ² +B t + C = 0

y’= g’(t) = 3y3t ²+2y2t+y1f ’(t) f ’(t)g’(t)

g’(t)f ’’(t) f ’’(t)g’’(t)g’’(t)B’’3 =>

x’’= f ’’(t) = 6x3t+2x2y’’= g’’(t) = 6y3t+2y2

B3’(t) , B3’’(t) =0

échelle 6

RP1

P0

P2

P3

C33 X YP0

P1

P2

P3

1 19 51 59 1

f(t) = 32t³ - 48t² + 24t + 1

x’ y’’ - y’ x’’ => 384t² - 384t + 96 = 0 (Δ=0)

=> t = 0,5

g(t) = 0t³ - 12t² + 12t + 1C33

3) courbe de type 3 (acceptant un point de rebroussement de 1ère espèce)

échelle 15

I1

I2

P1

P0

P2

P3

C32 X YP0

P1

P2

P3

1 13 31.6 2.55 2

f(t) =8,2t³ - 10,2t² + 6t + 1

x’ y’’ - y’ x’’ => 36t² - 34,2t + 5,4 = 0 (Δ=36)=> t1 ≈ 0,2 t2 ≈ 0,75

g(t) = 2,5t³ - 7,5t² + 6t + 1C32

2) courbe de type 2 (acceptant deux points d’inflexion)

2 points d’inflexions en

1 point de rebroussement en R

échelle 6I(0,5)55

I1 1.8581.920 I2 3.222

2.336

54

I 55

P1

P0 P2

P3

C31 X YP0

P1

P2

P3

1 55 105 09 5

f(t) = 8t³ - 12t² + 12t + 1

x’ y’’ - y’ x’’ => 0t² + 240t - 120 = 0 (Δ=57600 et A=0)=> t1 = t2 = 0,5

g(t) = 30t³ - 45t² + 15t + 5C31

1 point d’inflexion en

1) courbe de type 1 (acceptant un point d’inflexion)

1414

Page 15: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

4) courbe de type 4 (acceptant un point de croisement ou point double)

5) courbe de type 5 (arc de parabole)

Calcul du point double

f(t1) - f(t2) = 0 => x3 (t1²+ t2²+t1t2) + x2 (t1 + t2) + x1 = 0

f(t1) - f(t2) = 0 => x3 (t1³- t2³) + x2 (t1²- t2²) + x1(t1 - t2) = 0

f(t1) = f(t2) => x3t1³+ x2t1²+ x1t1 + x0 = x3t2³+ x2t2²+ x1t2 + x0 g(t1) = g(t2) => y3t1³+ y2t1²+ y1t1 + y0 = y3t2³+ y2t2²+ y1t2 + y0

D

A présent le but est de définir t2 à partir de t1 , nous allons donc faire en sorte que dans ( f(t1) - f(t2)) x3 = 0en appliquant une rotation sur ( f(t1) - f(t2)) avec tan (α) = y3/x3

Résoudre avec

=>

x3 (t1²+ t2²+t1t2) + x2 (t1 + t2) + x1 = 0

( π - α ) 2

A l’ aide de la formule du changement de base (rotation des axes) X1 = x1 sin(α) - y1 cos(α)

x2 tan(α) - y1x1 tan(α) - y2 t2 = - -t1

x3y3x1 - y1

x3y3x2 - y2

X2X1

t2 = - -t1X2X1

X2X1G = = = =

X2 = x2 sin(α) - y2 cos(α)

+ t1² + + = 0 - t1G G G x3

x2x3

x1ou + t1² + + = 0 - Gt1 G²

x2x3

x1

{ Donc f(t1) - f(t2) => X2 (t1 + t2) + X1 = 0 =>

x2y3 - y2x3x1y3 - y1x3

=>

échelle 1

P1

P0

P2

P3

4.8573.571

α échelle 10

P1

P0

P2

P3

C34 X YP0

P1

P2

P3

4 27 61 47 3

f(t) = 21t³ - 27t² + 9t + 4 x’ y’’ - y’ x’’ => 189t² - 189t + 54 = 0 (Δ= -5103)

x’ y’’ - y’ x’’ => 0t² + 0t - 3078 = 0

g(t) = 7t³ - 18t² + 12t + 2C34 donc la courbe C34 accepte un point double

=> t1 ≈ 0,1727 t2 ≈ 0,8273

Exemple avec

=> G = -1

- 71

73

f(t) = 21t³ - 27t² + 9t + 4g(t) = 7t³ - 18t² + 12t + 2C34

=> -t1² + t1 = 0 ( Δ= )

f(t) = 0t³ - 108t² + 162t + 6g(t) = 0t³ - 117t² + 90t + 36C2

C2 X YP0

P1

P2

P3

6 3660 6678 5760 9

1 point de croisement en D

Exemple

G

15 15

Page 16: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Subdivisions récursives d’une B2 avec la méthode de ‘‘De Casteljau’’ [1] Cette méthode permet de calculer les coordonnées d’un point M(t) sans passer par les équations traditionnelles.

Les points A0 A1 A2 sont les points de définitions d’une courbe paramétrique de Bézier de degré 2.Et B un point de cette courbe de paramètre t = 0.4

Subdivisions récursives d’une B3

Les points P0 P1 P2 P3 sont les points de définitions d’une courbe paramétrique de Bézier de degré 3et M un point de cette courbe de paramètre t = 0.4

C3

P1

P0

P2

P3

M(0,4)41,942,7

échelle 1.5

Q2

Q3

S1

S2

Q1

X YP0

P1

P2

P3

14 1034 5464 5490 26

Q1 = (1-t)P0 + t P1

Q2 = (1-t)P1 + t P2

Q3 = (1-t)P2 + t P3

S1 = (1-t)Q1 + t Q2

S2 = (1-t)Q2 + t Q3

M = (1-t)S1 + t S2

Et de ce fait nous pouvont diviser la courbe C3 en M(0,4) en 2 courbes définies par : C3a P0 Q1 S1 MC3b M S2 Q3 P3

donc avec t = 0.4

Q1 22 27,6Q2 46 54Q3 74,4 42,8S1 31,6 38,2S2 57,4 49,5M 41,9 42,7

X Y

Q1

Q2

A1

A0

A0A1 t

A0A1 (1- t)

A 1A2

t

A 1A2

(1- t

)

Q1Q2 t Q1Q2 (1- t)

A2

x

y

échelle 1

B(0.4)

C2

Q1 = (1-t)A0 + t A1 ou t (A1 - A0) + A0

Q2 = (1-t)A1 + t A2 ou t (A2 - A1) + A1

B = (1-t)Q1 + t Q2 ou t (Q2 - Q1) + Q1

C2 X YP0

P1

P2

6 3687 8160 9

X YQ1

Q2

B

38,4 5476,2 52,253,5 53,3

donc avec t = 0.4

1616

Page 17: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Méthode pour calculer les points de définition des courbes C3a et C3b avec C3 et t=0,4

Méthode pour prolonger une courbe B3 jusqu’au point E de paramètre t >1

Méthode pour prolonger une courbe B3 jusqu’au point H de paramètre t <0

Nous remarquons que A2 est sur la parabole définie par P0 P1 P2 et B1 sur la parabole P1 P2 P3

Quelques applications pour une B3

P0

D0 =H

D1 D2

D3 = P3

échelle 3/4

t en H = -0.2 3,312 -21,808donc H(-0.2)

C3

C3 bis X YD0

D1

D2

D3

3,312-21,80821,840 52,88058,8 59,690 26

X YP0

P1

P2

P3

14 1034 5464 5490 26

D1 = (1-t)²P1 + t(1-t)P2 + tD2D0 = H(t)

D3 = P3D2 = t (P3-P2) +P2

C0=P0

C2

C3=E

échelle 1

C1

P3

P1

P2

P1

P2

t en E = 274,03239,312donc E(2)

X YC0

C1

C2

C3

14 1030 45,252,4 52,24074,032 39,312

C3a

C3a bis

X YP0

P1

P2

P3

14 1022 27,631,6 38,16041,904 42,704

C1 = t (P1-P0) + P0C0 = P0

C3 = E(t)C2 = (1-t)C1 +t(1-t)P1 + t²P2

avec t = 2

avec t = -0.2

C3b

C3a

échelle 3/4

P1

P0 = A0

P2

P3= B3

C3

B1 =(1- t)[t(P2-P1) + P1 - B2]+B2B0 = M(t)

B3 = P3B2 = t (P3-P2) +P2

A1 = t (P1-P0) + P0A0 = P0

A3 = M(t)A2 = t[ t(P2-P1) + P1 - A1]+A1

avec t = 0,4

C3a X YA0

A1

A2

A2

A1

A3 = B0

A3

14 1022 27,631,6 38,16041,904 42,704

C3b X YB0

B1

B1

B2

B2

B3

41,904 42,70457,360 49,55274,4 42,890 26

X YP0

P1

P2

P3

14 1034 5464 5490 26

17 17²

Page 18: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Réunion de 2 courbes de Bézier de degré 3La subdivision De Casteljau implique une formule simple pour effectuer cette réunion.

Exemple 1 : soit 2 courbes A et B ayant un raccordement de classe C1 (A3’= B0’).

à l’aide de la subdivision récursive des B3 nous pouvons «naïvement» réunir A et B en posant :

NB : cette méthode respecte les tangentes en P0 et Q3 mais R ne passe pas par P3.Nous verrons à la section courbe passant par 1 point page 29 qu’il est possible de faire varier P1 ou P2 afin que Pbis passe strictement par A3 .tout en conservant les tangentes en P0 et P3 (voir ci dessous) .

A1= t(P1-A0)+A0 => B2= t(B3-P2) +P2 =>

Exemple 3 : idem Exemple 1 mais avec un raccordement de classe C0 (A3’ ≠ B0’) avec

t = = 0,5||A2A3||+

||A2A3||

||B0B1 ||

Dans ce cas la et personnellement je pense que visuellement le résultat est correct car la réunion épouse au mieux les courbes A et B.

P1 = A1-A0 (1-t) t

P2 = B2 - tB3 (1-t)

X YA0

A1

A2

A3

8 1825 3040 3556 35

x = f(t) = 3t³ - 6t² + 51t + 8y = g(t) = 2t³ - 21t² + 36t + 18

A

A

X YP0

P1

P2

P3

8 1842 4280 46104 14

X YB0

B1

B2

B3

56 3572 3592 30104 14

x = f(t) = -12t³ + 12t² + 48t + 56y = g(t) = -6t³ - 15t² + 0t + 35

B

B

x = f(t) = -18t³ + 12t² + 102t + 8y = g(t) = -16t³ - 60t² + 72t + 18

échelle 1

A0=P0

A3=B0

B3=P3

P1

A2

B2

B1

A1

P2

A B

P P

P=>

X YA0

A1

A2

A3

8 1825 3040 4056 35

A X YP0

P1

P2

P3

8 1842,57 42,4080,39 45,48

104 14

P

=>+

échelle 0,5

A0=P0

A3=B0

B3=P3

P1

A2

B2

B1

A1

P2

A B

P

X YB0

B1

B2

B3

56 3572 4092 30104 14

B

t = = 0,5||A2A3||+

||A2A3||

||B0B1 ||

X YP0

P1

P2

P3

8 1834,61 36,78

80 46104 14

Pbis variation sur P1 X YP0

P1

P2

P3

8 1842 42

84,02 40,64104 14

Pbis variation sur P2

t en A3 ≈ 0,4907912 t en A3 ≈ 0,4496878

1818

Page 19: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Distance d’un point à une courbe B3.Lors d’un lissage d’une suite de points par approximation avec une ou plusieurs courbes B3 il est souvent utile de savoir si le ou les points de départ ne sont pas trop éloignés des B3 calculées.Cela implique qu’il faut se fixer une tolérance de +/- λ .

Exemple : avec une courbe P et un point M

M’≈

Le problème est de calculer le point M’ situé sur la courbe P dont la normale passe par le point M.

Déterminons les équations pour résoudre le problème .

la normale en un point de paramètre t de P =

donc ||MM’|| ≈ 1,882

Nous pouvons donc poser :

En utilisant la définition canonique d’une B3

En développant

Et en résolvant h(t)=0 par la méthode de Raphson Newton =>

h(t) = 1740t5 + 3720t4 - 4464t3- 5880t2 + 16476t - 6120

=>

=>

= -f ’(t)g’(t)

f(t) - xM g(t) - yM

f ’(t) ( g(t) - yM ) + g’(t) ( f(t) - xM ) (t) = 0

(3x3t ²+2x2t+x1) (y3t³+y2t²+y1t+y0-yM ) + (3y3t ²+2y2t+y1) (x3t³+x2t²+x1t+x0-xM ) = 0

=> h (t) = 3(y3²+x3² )t5 + 5(y3y2 + x3x2 )t4 + [ 4(y3y1+x3x1)+2(y2²+x2² )] t3 + [ 3(y2y1+y3(y0-yM) + x2x1+x3(x0-xM)] t2 +[y1²+2y2(y0-yM)+x1²+2x2(x0-xM)] t +y1(y0-yM)+x1(x0-xM)

h’(t) = 8700t4 + 14880t3- 13392t2 - 11760t + 16476

t(M’ )≈ 0,4617252

Dans cet exemple il existe une seule solution sur l’intervalle [0 1].

Dans notre exemple =>

échelle 1

P0

M

P3

P1

P2

P X YP0

P1

P2

P3

8 1842 4280 46104 14

x = f(t) = -18t³ + 12t² + 102t + 8y = g(t) = -16t³ - 60t² + 72t + 18

P

P

-f ’(t)g’(t)

5635

55.88236.878

échelle : 6

M

M’

[5]

19 19

Page 20: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Vecteur vitesse , accélération , rayon de courbure (cercle osculateur) [4]

P1 P2

C3 M(0.3)

échelle 1

P3

P0

M(0.5)

Ω

R

calcul du rayon de courbure R en un point M(t)

Calcul du centre de courbure Ω

avec

Dans le repère de Frenet en nous avons

Donc directement : avec x = f(t) et y = g(t)

(x’ ² + y’ ² )R en M(t) =3/2

519729,318

-17388R en M(0.5) = ≈ 29.89

x’ = f ’(0,5) = 79,5y’ = g’(0,5) = 12M’(0,5)

49.7545M(0,5)

(xN)(R)(1)+xM(0,5) = 54.21(yN)(R)(1)+yM(0,5) = 15.44Ω(0,5)

x’’ = f ’’(0,5) = 18y’’ = g’’(0,5) = -216M’’(0,5)

x’ y’’ - y’ x’’

(x’ ² + y’ ² )0,5

N(-y’ )C

(x’ ² + y’ ² )0,5(x’)C

80,4-12(1)

80,4(79.5)(1)

≈ 0,15

≈ -0,99

exemple avec :

Le vecteur vitesse d’une courbe B3 en un point M(t)est la norme du vecteur dérivé premier au point M(t)

x = f(t) = -14t³+30t²+60t+14y = g(t) = 16t³-132t²+132t+10M(t)

x’ = f ’(0,3) = -42t²+ 60t + 60 = 74,22 y’ = g’(0,3) = 48t²- 264t + 132 = 57,12M’(0,3)

x’’ = f ’’(0,3) = -84t+60 = 34,8y’’ = g’’(0,3) = 96t-264 = -235,2M’’(0,3)

Le vecteur accélération d’une courbe B3 en un point M(t)est la norme du vecteur dérivé second au point M(t)

sa norme ≈ 93,66

sa norme ≈ 237,76

=

=

C3 X YP0

P1

P2

P3

14 1034 5464 5490 26

NB : si au point M(t) x'y"-x"y' < 0 la courbe est concave en M(t) donc C= 1 si non C= -1

(x’ ² + y’ ² )x’ y’’ - y’ x’’

(-y’)x Ω(t) = + x M(t)(x’ ² + y’ ² )

x’ y’’ - y’ x’’ (x’)y Ω(t) = + yM(t)

Sources : http://prof.math.free.fr/textes/cours/normal/courbure_html/index.html2020

Page 21: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

matrice de passage

ww

t 1 t t² t3

p3

xP yP xM(t) yM(t)0 1 0 0 0 1 0 0 0 xP0 yP0

xP1 yP1xP2 yP2xP3 yP3

-1 11/3 1 0,33 0,11 0,037 × -3 3 0 0 × = -0,5 12/3 1 0,67 0,44 0,296 3 -6 3 0 0 11 1 1 1 1 -1 3 -3 1 0,5 2,5

n OM(t)Os

Paramétrisation d’une fonction du second ou troisième degré sur un intervalle borné.

donc =>= OM(t)Os wn p3-1 ××

La réciproque est possible à l’aide d’une interpolation de type Hermite ou Lagrange.

Mais pour avoir des résultats cohérents la courbe de Bézier doit être de type 1 ou 5 et «dégauchie».

-1 0,5-0,5 0

X

Y

M0M1

M2

M3

échelle : 20

f(x) = 2x³ + 3x² + x +1

Exemple

Soit la fonction :

Pour y arriver nous allons nous servir de la définition matricielle d’une B3en choisissant 4 points : M0 qui est au début de l’intervalle M1 , M2, 2 points intermédiaires et M3 à la fin de la courbe B3

a) calcul de

Dans ce cas là le calcul est simple car t est proportionnel aux abscisses.

NB : pour une parabole la méthode est identique.

b) calcul des paramètres t en M0, M1 , M2, M3

C est une B3 de type 1.

que l’on veut paramétrer sur l’intervalle [-1 0,5].

OM(t)

X f(x)M0

M1

M2

M3

-1 1-0,5 1

0 10,5 2,5

X YP0

P1

P2

P3

-1 1-0,5 1,50 -0,250,5 2,5

C

C

t en M0 = 0 t en M3 = 1

xM3 - xM0xM1 - xM0

1,50,5t en M1 = =

31 =

xM3 - xM0xM2 - xM0

1,51t en M2 = =

32 =

21 21

Page 22: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Aire d’une courbe de Bézier de degré 3.

a) Aire d’une courbe B3 fermée sur son domaine de définition [ 0 1] (méthode WEB).

b) Aire d’une courbe B3 fermée acceptant un point d’inflexion sur son domaine de définition [ 0 1].

Il existe plusieurs méthodes plusieurs méthodes pour calculer la superficie d’une courbe B3.

Mais quelque soit la méthode utilisée et pour avoir des résultats probants et compréhensible il est préférabled’effectuer un changement de paramètre de la courbe par translation de -xP0 et -yP0.

Notamment la forme : aire = qui permet de calculer l’aire d’une B3 fermée.12 0

1

f

Et aussi permettant un calcul sur un intervalle donné [a b]a

b

f

M

P0

y

xo

échelle : 10

P3

C4

C4

X YP0

P1

P2

P3

1 35 84 16 5

P3

échelle 1/2

P1

P0

P2

C3 En posant exceptionnellement : X0 =xP0 , Y0=yP0 ; X1 =xP1 , Y1=yP1 etc...

NB : La translation de - P0 est intégrée dans la formule et fonctionne sur R²

Dans cet exemple Aire de C3 = 1414,8 mm²

Que représente ce chiffre ?

Le point M est l’intersection de la droite P0P3 avec C4 .

En fait c’est l’aire du segment de courbe de P0 à M = A1+ l’aire du segment de M à P3 = A2

A1 ≈ 2,177 et A2 ≈ - 0,977 donc A1 + A2 = 1,2 mm²

Aire de C4 = 1,2 mm²

P0

P1

P2

P3

14 1034 5464 5490 26

C3

A1 A2

Aire = 3 / 20 [ (Y1-Y0) ( X2 + X3 -2X0)- (X1-X0) (Y2 + Y3 -2Y0) - 2[ X0(Y2-Y3) + Y0(X3-X2) + Y3X2-Y2X3 ] ]

=>

xP0=x0yP0=y0

g(t) - yP0f(t) - xP0

yP3 - yP0xP3 - xP0 P0d =

d = g(t) - y0f(t) - x0

=

nous pouvons donc diviser At ³+Bt ²+Ct par ( t ² - t)

(y3-dx3)t ³+(y2-dx2)t ²+(y1-dx1)t = 0 => At ³+Bt ²+Ct = 0

=> donc At3+A+B = 0 AB- (1+ )= -(1+ )(y3-dx3)

(y2-dx2)t 3 =

x = f(t) = x3t³+x2t²+x1t+x0y = g(t) = y3t³+y2t²+y1t+y0M(t)

Ce polynôme accepte 2 racines réelles : t 1= 0 et t 2= 1 => (0- t)(1- t) =( t ² - t)

Voici son calcul dans le cas général.

4,2954,318MxM ( t ) = 8 t ³ -15 t ² + 12 t + 1

yM( t) = 23 t³ -36 t² + 15 t + 3 d=0,4 0.51515151t (M ) ≈Dans cet exemple

(g(t) f ’(t) - f(t) g’(t))

( g(t) f ’(t) )

2222

Page 23: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Abscisse curviligne s ou longueur d’un arc d’une courbe de Bézier de degré 3.

c) Aire d’une courbe B3 sur un intervalle [a b] .

En utilisant la formule : aire = et la définition canonique d’une B3 a

b

f

la théorie veut que la longueur d’un arc d’une courbe paramétrique =

NB : les variables a et b sont les valeurs possible du paramètre t

Pour une courbe B3 s = =

a

b

f

a

b

f f ’(t)a

b

f (3x3t ²+2x2t+x1) (3y3t ²+2y2t+y1)

Mais dans la pratique il est quasiment impossible de calculer cette intégrale d’où la nécessitée de procéder à une approximation.

Je peut donc calculer son rayon, la corde M0 M2 de l’arc, sont angle au centre θ et enfin sa longueur.

Pour ma part je divise la courbe en 100 parties sur l’intervalle [a b] avec un pas de (b-a) / 100.Je calcule les coordonnées des points M correspondants allant de M0 à M100.Je détermine le centre du cercle passant par M0 M1 M2

Et ainsi de suite avec M2 M3 M4 , M4 M5 M6 etc... jusque M98 M99 M100

C5

C5

X YP0

P1

P2

P3

0 01 24 36 0

ox

y

échelle : 10

Dans cet exemple :

L’aire de C5 sur l’intervalle [0,2 0,6] = H(0,6) - H(0,2) ≈ 4,15 mm²

Exemple avec C5 sur l’intervalle [0,2 0,6] => pas = (0,6 - 0,2) / 100 = 0,004

Donc s de C5 sur [0,2 0,6] ≈ 2,705 mm

x = f(t) = x3t³+x2t²+x1t+x0y = g(t) = y3t³+y2t²+y1t+y0M(t)

f(t) = -3t³+ 6t²+ 3t + 0 g(t) = -3t³-3t²+ 6t + 0

3x3y3t5+(3x3y2+2x2y3)t4+(3x3y1+2x2y2+x1y3)t3+(3x3y0+2x2y1+x1y2)t2+(2x2y0+x1y1)t +x3y0

t n xM yM xC yC corde rayon θ Lg, arc0,200 0 0,8160 1,05600,204 1 0,8362 1,0737 3,15 -1,60 0,05 3,53 0,015 rad 0,050,208 2 0,8566 1,09120,212 3 0,8771 1,1086 3,15 -1,59 0,05 3,53 0,015 rad 0,050,216 4 0,8977 1,1258

0,584 96 3,2008 1,88330,588 97 3,2286 1,8809 2,96 -1,07 0,06 2,97 0,019 rad 0,060,592 98 3,2564 1,87820,596 99 3,2842 1,8752 2,96 -1,08 0,06 2,97 0,019 rad 0,060,600 100 3,3120 1,8720

( g(t) f ’(t) )

g(t) f ’(t) = h(t) =

h(t) = 27t5- 9t4- 99t3+ 63t2+18t + 0H(t) = 4,5t6-1,8t5- 24,75t4+ 21t3+ 9t2+ C

g’(t)

√ dxdt

dydt dt² ²+( ) ( )

√ ² ²√ ² + ²+( ) ( )

23 23

Page 24: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Simulation d’un arc de cercle avec une B3* ( pour avoir une bonne précision l’angle au centre de l’arc doit être ≤ 90° )

*D’autres méthodes existent entre autre celle de monsieur krauss voir : http://d.krauss.free.fr/documents/Transverses/Bezier/Arc_cercle/Arc_Cercle.htm

Calculer les angles orientés suivants : α0 ≈ 80,431° et α3 ≈ 175,884 °

Avec P1 et P2 déterminés par coordonnées polaires :

X YM1

M2’

M3

I

P0=

P3=

1,5Pts

3,437 5,603

2 7,4328 7

1

=>

=>=>

B0 B1 B2 B3(1-t)³ 3t(1-t)² 3t²(1-t) t³0,125 0,375 0,375 0,125

xM2’ = B0 xP0 + B1 (φ0 cos(α0)+xP0) + B1 (φ3 cos(α3)+xP3) + B3 xP3

X YP0

P1

P2

P3

1 1,51,567 4,8634,598 7,2458 7

Astuce : ne connaissant pas le paramètre t en M2 déterminer le point M2’

qui est sur la bissectrice de M1 Ω M3. ( t en M2’ = 0,5) .

Polynôme de Bernstein avec t=0.5

≈ 3,410940045xM2’- 0,5 ( xP0 + xP3) φ0 = φ3 = 0,375 [cos(α0)+cos(α3)]

Calcul de la courbe de bézier B3

y

échelle 10

M1

M2

B

A

M3

α

β

Ω

θ

=

=

=

=

X YM1

M2

M3

1,5Pts

4 68 7

1

C2R

(yA-yB)-(xA-xB)tan(β)tan(β)-tan(α)

xΩ = xA+ ≈ 7,525

yΩ = yA+ (xΩ-xA)tan(α) = 0,4

θ = 2 arcsin( ) ≈ 84,542°

Le centre Ω du cercle passant par M1 M2 M3 est déterminépar l’intersection des médiatrices de M1M2 et M2M3.

Calcul de l’intersection par la méthode de Delambre.

rayon R =||M1 Ω|| ≈ 6,617 corde C = ≈ 8,902||M1M3||

Calculs préliminaires avec

2424

Page 25: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Avec : S = sin(θ) , C=cos(θ)

x = -0.118433799202707

[-S + S²+ 6(1-C) ] √K° =

K1 =

Voici la méthode Krauss

tan( )

Kidéal =

Kidéal . Rayon ≈ 3,409176983

α = 6 ( 3K° + S )

βK1 - α x K° β - α x

1343

β = 9 ( 1-C)K1 + 12 S )

θ4

φ0 = φ3 =

t ΔR perso ΔR Krauss écart0 0,00000 0,00000 0,00000

0,1 0,00069 0,00058 0,000110,2 0,00123 0,00088 0,000360,3 0,00094 0,00032 0,000620,4 0,00031 -0,00051 -0,000200,5 0,00000 -0,00089 -0,000890,6 0,00031 -0,00051 -0,000200,7 0,00094 0,00032 0,000620,8 0,00123 0,00088 0,000360,9 0,00069 0,00058 0,000111 0,00000 0,00000 0,00000

φ0

φ3

y

échelle 20

P0

P1

P2

P3

M2’

Ω

α0

α3

I

25 25

Page 26: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

M(35)

O X

Y

I

τ(35) = 21°, 93

r(35) = 45.71

τ(35) = 21°, 93 r(35) = 45.71

xM(35) = 34,49 yM(35) = 4,42dans l’exemple 1 avec s = 35 et A= 40

I

I’

OX

Y

2626

La clothoïde [2] [3]Avant propos.

Quelques définitions mathématiques [2][3] [géogébra] . Exemple 1

La particularité d’une clothoïde, appelée aussi spirale de «Cornu»,est que son rayon de courbure est progressif au fur et a mesure l’on avance sur la courbe.

La législation impose un virage avec un rayon de courbure minimal à respecter pour chaque catégories de route.

Par exemple pour une autoroute de catégorie L120 où la vitesseest limitée à 130 Km/h le rayon du virage circulaire doit être >= à 665m.

C’est pour cela que dans le domaine des travaux publicle début de la spirale est utilisé pour raccorder des axes routiers par une partie courbe en permettant d’aborder une partie circulaireprogressivement sans changement brusque de direction.

coordonnées de I :

L’équation intrinsèque de la spirale est :

Les coordonnées d’un point de la courbe sont :

Ces intégrales dites de Fresnel ne peuvent pas s’exprimer à partir de fonctions élémentaires,mais le calcul à l’aide d’un développement limité au voisinage de 0 est possible :

πx = y =

x = fcos S X

s

ds

τ = =

s r = A²

s²2A²

xM(s) = s5s40A4

s²2A²

s2r

y = fsin S X dss²2A²

+ s93 456A8

- s13599 040A12

+ ...- yM(s) = s36A2

- s7336A6

+ s1142 240A10

s159 676 800A14

- + ...

A est appelé paramètre de la clothoïde

Soit : l’abscisse curviligne de la clothoïde

son rayon de courburel’angle en radian d’une tangente de la courbe

2 √A

Page 27: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Calcul traditionnel abscisse curviligne tous les 5 m

param. A 35,5 rayon de l'arc de cercle à raccorder 32 m A moyen 35,6

s X Y τ r X Y écart des Y r estimé s estimé A estimé

0,00 0,000 0,000 0,000° infinis 0,000 0,000 0,000 infinis

5,00 5,000 0,017 0,568° 252,05 5,000 0,017 -0,001 248,5 5,00 35,3

10,00 9,998 0,132 2,273° 126,03 9,998 0,135 -0,002 128,6 10,00 35,9

15,00 14,988 0,446 5,115° 84,02 14,988 0,446 0,000 86,0 15,00 35,9

20,00 19,950 1,056 9,093° 63,01 19,950 1,048 0,008 63,5 20,00 35,6

25,00 24,847 2,057 14,207° 50,41 24,847 2,038 0,019 49,7 25,00 35,2

30,00 29,620 3,538 20,459° 42,01 29,620 3,515 0,023 40,9 30,00 35,0

35,00 34,182 5,575 27,847° 36,01 34,182 5,563 0,012 35,9 35,00 35,4

39,383 37,917 7,862 35,257° 32,00 37,917 7,862 0,000 34,1 39,389 36,6

approximation par la courbe de bézier

rayon = 32

Soit un arc de cercle de rayon 32 m que l’on veut raccorder par une clothoide de paramètre 35,5 .

Définition de la courbe de Bézier

Tableaux comparatifs

s r = A² donc s(32) = 35,5²/32 ≈ 39,383 m

39,3832*32τ(39,383) = ≈ 35,257°

xM(39,383) ≈ 37,917 yM(39,383) ≈ 7,862M

τ

M’

échelle 1/500

D1

D2

Soit : les droites D1 et D2 et M’ qui est le projeté orthogonal de M sur la droite D1

27 27

Simulation d’un arc de clothoïde par une courbe de Bézier de degré 3.

Exemple 2

P0 P1 P2

P3

X YP0

P1

P2

P3

0 012,639 026,796 037,917 7.862

P1 est à 1/3 de P0M’ P2 est l’intersection de D1 et D2

P3 est le point M

Nous pouvons constater que avec un angle de τ≈ 35° la précision se dégrade vers la fin de la courbe.

Si τ≈ 20° l’écart maxi est de 0,014 et avec τ≈ 40° l’écart maxi est de 0,040.Donc la précision diminue si τ augmente .

L’utilité de cette approximation est que la courbe de Bézier peut être calculée sur R² sans effectuerun changement de base par rotation et ou translation, d’ou peut être visualiser un avant projet à petite échelle.Et aussi le ‘’A moyen‘’ me semble correct.

Mais ATTENTION : la méthode traditionnelle fait Foi et Loi.

P0 est à l’origine de la clothoïde

donc la courbe de Bézier ≈

Page 28: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Courbes de Bézier passant strictement par 3 pointsa) Paraboles passant par 3 points

A0

A2

A1

t en M1 ≈ 0,537706xA1 ≈ 16,817 yA1 ≈ 35,331

et en posant xA0 = x0 yA0 = y0xA2 = x2 yA2 = y2

=>

xM1 = t²(xA0 + xA2 - 2xA1) + 2t(xA1 - xA0) + xA0yM1 = t² (yA0 + yA2 - 2yA1) + 2t(yA1 - yA0) + yA0 {

4) M1 est le sommet de la parabole .

Il faut donc résoudre à l’aide des équations des dérivées 1ère et secondes :

f ’(t) g’(t) = -

g’’(t) f ’’(t)

+ t3 [( x0 - x2 )² + ( y0 - y2 )²] - 3t² [( x0² + x0x2 + x0 xM1 - x2 xM1 ) + ( y0² + y0y2 + y0 yM1 - y2 yM1 )] + t [( 3x0² - x0x2 - 5x0 xM1 + x2 xM1 + 2xM1²) + ( 3y0² - y0y2 - 5y0 yM1 + y2 yM1 + 2yM1²)] - (x0 - xM1)² - (y0 - yM1)² = 0

α2

t en M1 ≈ 0,435382xA1 ≈ 24,015 yA1 ≈ 39,091

A1

A0

A2

Exemple 3 : avec α2 = 140°

=>

xM1 = t²(xA0 + xA2 - 2xA1) + 2t(xA1 - xA0) + xA0yM1 = t² (yA0 + yA2 - 2yA1) + 2t(yA1 - yA0) + yA0

yA1 - yA2xA1 - xA2α2 ={

t² [ α2(xA2 - xA0) + yA0 - yA2] + 2t [ α2(xA0 - xA2) + yA2 - yA0] + α2(xM1 - xA0) - yM1 + yA0 = 0

3) La tangente en A2 est imposée .

Calcul de t en M1 :

α0

A0

A2

A1

t en M1 ≈ 0,630865

xA1 ≈ 9,298 yA1 ≈ 33,268

=> t² ( α0(xA0 - xA2) + yA2 - yA0) + α0(xM1- xA0) + yA0- yM1 = 0

xM1 = t²(xA0 + xA2 - 2xA1) + 2t(xA1 - xA0) + xA0yM1 = t² (yA0 + yA2 - 2yA1) + 2t(yA1 - yA0) + yA0

yA1 - yA0xA1 - xA0α0 ={

Exemple 2 : avec les mêmes points que l’exemple 1 et α0 = 85°

2) La tangente en A0 est imposée .

Dans ce cas il faut calculer le paramètre t en M1 .

Pour calculer t en M1 il faut résoudre :

A0 = M0

M1

A2 = M2

A1

X YA0 = M0

M1A2 = M2

7 722 2642 24

Exemple 1

soit

t estimé en M1 = 0,5

1) Les tangentes en A0 et A2 sont libres.Dans ce cas il existe une infinités de solutions car tout dépend de l’estimation du paramètre t en M1 .

xA1 = (xM1-(1-t)² xA0- t² xA2) / 2t(1-t)= 19,5 yA1 = (yM1-(1-t)² yA0- t² yA2) / 2t(1-t) = 36,5

2828

Page 29: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Courbes de Bézier passant strictement par 4 points

NB : toutes ces définitions strictes peuvent engendrer des résultats incohérents ou pas du tout de solutions.

b) Cubiques passant par 3 points

http://d.krauss.free.fr/documents/Transverses/Bezier/Simulation_Bezier/Simulation_Bezier.htm

M1

M2

P0

P1

P3

P2

X YP0

P1

7 7

25,810 36,873

X YP0 = M0

M1

P3 = M3

7 722 26

M2 36 3142 24

soit

{

{

{[ xM1 - (1-t1)³ xP0 - t1³ xP3 ] / [3t1(1-t1)] =>=>

(1-t1) xP1 + t1 xP2 =a1

a2

[ xM2 - (1-t2)³ xP0 - t2³ xP3 ] / [3t2(1-t2)] (1-t2) xP1 + t2 xP2 =

xP1 = t2-t1

t2-t1xP2 =

a1 t2 - a2 t1

a2(1-t1) - a1(1-t2)idem pour les y

3t1(1-t1)² xP1 + 3t1²(1-t1) xP2 = xM1 - (1-t1)³ xP0 - t1³ xP33t2(1-t2)² xP1 + 3t2²(1-t2) xP2 = xM2 - (1-t2)³ xP0 - t2³ xP3

Dans ce cas il faut estimer t1 en M1 et t2 en M2

Exemple avec t1 = 0,3 et t2 = 0,7

Résoudre

P0

P1

P3

P2

α0

t en M1 ≈ 0,302471

xP1 ≈ 24,472 yP1 ≈ 37,262

=>

{

Donc xP1 = [ xM1 -(1-t)³ xP0 - 3t²(1-t) xP2 - t³ xP3 ] / [3t(1-t)²] et idem pour yP1

Source :

Exemple 6 : avec : xP2= 40 yP2= 34 et α0 = 60°

t³[ α0(-xP3 -2xP0+3xP2)-(-yP3 -2yP0 +3yP2)]+3t²[ α0(xP0 - xP2)-(yP0 - yP2)] + α0(xM-xP0 )-(yM-yP0) =0

6) P2 est fixe et la tangente en P0 est imposée .

Résoudre :

xM1 = t³ (2xP0 + 3φ0 cos(α0) - 3xP2 + xP3 ) - 3t² ( xP0 + 2 φ0 cos(α0) - xP2 ) + 3t φ0 cos(α0) + xP0 yM1 = t³ (2yP0 + 3φ0 sin(α0) - 3yP2 + yP3 ) - 3t² ( yP0 + 2 φ0 sin(α0) - yP2 ) + 3t φ0 sin(α0) + yP0

α3

P0

P1 P3

P2

t en M1 ≈ 0,479595

xP2 ≈ 33,679 yP2 ≈ 38,412

Exemple 5 : avec : xP1= 11 yP1= 22 et α3 = 120°

=>

{

Donc xP2 = [ xM1 -(1-t)³ xP0 - 3t(1-t)² xP1 - t³ xP3 ] / [3t²(1-t)] et similairement pour yP2

t³ [ α3(xP0 - 3xP1+2xP3)-(yP0 - 3yP1+2yP3 )]+3t²[ α3(-xP0 + 2xP1-xP3)-(-yP0 + 2yP1 -yP3 )]+3t [ α3(xP0-xP1)-(yP0-yP1)] + α3(xM-xP0)-(yM-yP0)=0

5) P1 est fixe et la tangente en P3 est imposée .

Pour calculer t en M1 il faut résoudre :

xM1 = t³ (- xP0 + 3xP1-3φ3 cos(α3) -2xP3 ) + 3t² ( xP0 - 2xP1 +φ3 cos(α3) +xP3 ) + 3t ( xP1-xP0 ) + xP0 yM1 = t³ (- yP0 + 3yP1-3φ3 sin(α3) -2yP3 ) + 3t² ( yP0 - 2yP1 +φ3 sin(α3) +yP3 ) + 3t ( yP1-yP0 ) + yP0

P2

P3

37,476 35,397

42 24

29 29

Page 30: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

α0

α3

A mon avis, visuellement, le résultat n’est pas correct car je distingue des «pics» au point de tangence des cercles.Donc je vais «améliorer» l’effet visuel en lissant le quart d’ovale par une B3.

Dans un premier temps je vais choisir 7 points qui vont me servir au lissage.

En second je définis les données de départ.

1 A ) En suite avec la formule ( page 29 paragraphe 5 je calcule les paramètres des points M(n) respectifs.

NB : au début P1 = T

Cela me permet de calculer 5 valeurs possibles :

Et enfin je fait la moyenne pondérée suivante :

Puis je détermine les 5 normes suivantes :

φ3(M2) = || P3 P2(M2) ||φ3(M3) = || P3 P2(M3) ||φ3(M4) = || P3 P2(M4) ||φ3(M5) = || P3 P2(M5) ||φ3(M6) = || P3 P2(M6) ||

φ3(M2) w2 + φ3(M3) w3 + φ3(M4) w4 + φ3(M5) w5 + φ3(M6) w6

|| M2 P2(M2) ||-1=w2

|| M3 P2(M3) ||-1=w3

|| M4 P2(M4) ||-1=w4

|| M5 P2(M5) ||-1=w5

|| M6 P2(M6) ||-1=w6

w2 + w3 + w4 + w5 + w6 =φ3(Moyen) => P3 (Moyen)

t³ [ α3(xP0 - 3xP1+2xP3)-(yP0 - 3yP1+2yP3 )]+3t²[ α3(-xP0 + 2xP1-xP3)-(-yP0 + 2yP1 -yP3 )]+3t [ α3(xP0-xP1)-(yP0-yP1)] + α3(xM-xP0)-(yM-yP0)=0

X YM1 = P0 0.000 0.000

M2 1.502 6.441M3 6.317 12.215M4 12.4 16.868M5 19.349 20.64M6 28.128 23.613

M7 = P3 40 25

M1

M2

M3M4

M5M6 M7

M1

M2

M3M4

M5M6 M7

T0

TT3

P0

P3α3α0

Lissage d’un polygone par approximation dichotomique.Pour bien comprendre ma méthode je vais prendre l’exemple d’un quart d’ovale définis par 2 arcs de cercles.

=>

3030

Page 31: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

X YP0

P1

P2

P3

0 00 13.2

21.23 2540 25

1 B ) De façon similaire avec la formule ( page 29 paragraphe 6 je calcule le P1(moyen) avec le P2 (moyen) précédent

2 A ) idem 1A avec P1 de 1B etc....

1/4 d’ovale lissé

NB : voir les détails numériques page 33

Le résultat c’est amélioré mais si cela n’est pas encore probant,il faut effectuer un autre lissage avec un déplacement (interactif) d’un ou plusieurs points M.

Pour vérifier la précision du lissage je calcule les distances des points M(n) à la courbe de bézier.

φ0 = 13.20φ3 = 18.77

|| M2 B3 ||=0.143

|| M3 B3 ||=0.177

|| M4 B3 ||=0.202

|| M5 B3 ||=0.035

|| M6 B3 ||=0.062

t³[ α0(-xP3 -2xP0+3xP2)-(-yP3 -2yP0 +3yP2)]+3t²[ α0(xP0 - xP2)-(yP0 - yP2)] + α0(xM-xP0 )-(yM-yP0) =0

=>

Quelques conseils.

La dichotomie est «simple» pour ce genre de calcul mais à chaque itération il faut vérifier certains points.

1) Les φ ne doivent pas dépasser le point de tangence T si non la courbe aura un

point d’inflexion sur son domaine de définition [0 1] donc bloquer le φ concerné .2) Le calcul des paramètres t peuvent aussi être hors domaine [0 1]=> attribuer un poids nul

sur le ou les points M respectifs peut y remédier.3) La convergence de la dicho. peut engendrer un déséquilibre des φ (un φ très petit par rapport à l’autre)

le bloquage du φ concerné avec une valeur équilibrée résout le problème.4) Quant cela est possible la précision peur être améliorée en faisant varier légèrement un α .5) Faire en sorte qu’un point d’inflexion soit la fin et ou le début de la courbe à traiter.

J’ai sciament fait le contraire dans l’exemple du lissage (dans le méandre).

31 31

Page 32: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Note importante.Pour réaliser ce type de lissage il faut à chaque fois determiner les α3 cohérents.Ils doivent anticiper la courbe suivante => α0(+n) = α3(n-1) +Voici ma métode.

Je calcule le cercle passant par M3 M4 M5et je détermine aisément α3.

α3

X YM1 1 13M2 9.8 27M3 24.4 40M4 40 44.2M5 54.5 41.5M6 65.2 34.5M7 73.8 26.6M8 86.9 14M9 105 4.5

M10 125 1.3M11 146 1.9M12 167 5.5M13 183 9.8M14 198 15.5M15 208 23.2M16 213.2 34.5M17 211 46M18 204.5 53.5M19 193 62M20 171.8 76.5M21 146.3 92M22 125.3 103.4M23 118 106.7M24 110.5 109.5M25 104.3 109.2M26 97 105M27 91 97.4M28 87 87.5M29 85.2 74M30 84.5 64.6M31 82 58M32 75 53.6M33 66 53.9M34 60 60M35 58.5 70.6M36 58.4 79M37 54.8 87M38 45 93M39 34 94.4M40 25 93M41 17 90

Lissage d’un polygone complexe par 4 points.

Dessin d’origine.

Définition des points de lissage

Courbes Lissées avec raccordements de classe C1

échelle 1/2

i

M1

M3 M4M5

3232

M2

Page 33: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

X YP0

P1

P2

P3

1 135.829 23.475

19.254 43.59640 44

1ère courbe A

X YP0

P1

P2

P3

40 4453.423 44.59160.302 39.225

74 27

2ème courbe B

X YP0

P1

P2

P3

40 4448.682 44.45358.945 40.494

74 27

2ème courbe B classe C2

Exemple avec les 2 premières courbes du lissage classe C1

Dés à présent le but est de faire varier φ0 et ou φ3avec A’’en P3 et à l’aide des formules suivantes :

Variation de φ0 avec A’ ’ = -2.66605 * 0,7=-1.86624 et pour φ3 A’ ’ = -2.66605

φ0 de B =

φ3 de B =

φ0 =11.53 φ0 =13.43

φ3 =18.48 φ3 =20.75

2 cos(α0)A’’ -2 sin(α0)

sin(α3) - cos(α3)A’’

A’’en P3 = -2.66605

B’’en P0 = 0.87972

φ0 =8.69

φ3 =20.34

B’’en P0 = -2.66605

Courbes Lissées avec raccordement de classe C2 (dans la mesure du possible)

A’ ’ ( xP3 - xP0) + yP0 - yP3 + φ3 [ cos(α3)A’’ - sin(α3) ]

A’ ’ ( xP3 - xP0) + yP0 - yP3 + 2 φ0 [ sin(α0) - cos(α0)A’’ ]

=>

33 33

Page 34: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

3434

XY

poid

T0.0

000.0

00α0

=1.57

rad

xT= 0

T0= 2

5P2

-M2

α3=3

.14 ra

d ϕ

0= 25

t1(M2

) = 0.0

95 ϕ

3= 20

.50.0

16 xP

0= 0

yP0=

0 xP

1= 0

yP1=

25 xP

2= 60

.48 yP

2= 25

xP3=

40 yP

3= 25

P1-M

2α0

=1.57

rad

ϕ3=

9.75

t2(M

M21.5

026.4

41α3

=3.1 r

ad yT

= 25

T3= 4

0P2

-M3

3.14

25.00

t1(M3

) = 0.2

00 ϕ

3= 22

.30.0

17 xP

0= 0

yP0=

0 xP

1= 0

yP1=

25 xP

2= 62

.28 yP

2= 25

xP3=

40 yP

3= 25

P1-M

31.5

79.7

5 t2(

M

M36.3

1712

.215

P2-M

43.1

425

.00 t1(

M4) =

0.312

ϕ3=

15.58

0.023

xP0=

0 yP

0= 0

xP1=

0 yP

1= 25

xP2=

55.58

yP2=

25 xP

3= 40

yP3=

25P1

-M4

1.57

9.75

t2(M

M412

.400

16.86

8P2

-M5

3.14

25.00

t1(M5

) = 0.4

41 ϕ

3= 8.

70.0

34 xP

0= 0

yP0=

0 xP

1= 0

yP1=

25 xP

2= 48

.75 yP

2= 25

xP3=

40 yP

3= 25

P1-M

51.5

79.7

5 t2(

M

M519

.349

20.64

0P2

-M6

3.14

25.00

t1(M6

) = 0.6

19 ϕ

3= 2.

60.0

69 xP

0= 0

yP0=

0 xP

1= 0

yP1=

25 xP

2= 42

.62 yP

2= 25

xP3=

40 yP

3= 25

P1-M

61.5

79.7

5 t2(

M

M628

.128

23.61

31A

Débu

tmo

yenne

pond

érée

ϕ3= 9

.75 xP

0= 0

yP0=

0 xP

1= 0

yP1=

25 xP

2= 30

.25 yP

2= 25

xP3=

40 yP

3= 25

1Bmo

yenne

pM7

= P3

4025

α3=3

.1 rad

poid

α0=1

.57 ra

d xT

= 0 T0

= 25

P2-M

2α3

=3.14

rad

ϕ0=

17.35

t 1 =

0.134

ϕ3=

9.7

0.029

xP0=

0 yP

0= 0

xP1=

0 xP

1= 17

.35 xP

2= 30

.31 yP

2= 25

xP3=

40 yP

3= 25

P1-M

2α0

=1.57

rad

ϕ3=

12.70

t 2α3

=3.1 r

ad yT

= 25

T3= 4

0P2

-M3

3.14

17.35

t 1 =

0.277

ϕ3=

7.0

0.034

xP0=

0 yP

0= 0

xP1=

0 xP

1= 17

.35 xP

2= 32

.95 yP

2= 25

xP3=

40 yP

3= 25

P1-M

31.5

712

.70 t 2

P2-M

43.1

417

.35 t 1

= 0.4

20 ϕ

3= 9.

180.0

50 xP

0= 0

yP0=

0 xP

1= 0

xP1=

17.35

xP2=

30.82

yP2=

25 xP

3= 40

yP3=

25P1

-M4

1.57

12.70

t 2P2

-M5

3.14

17.35

t 1 =

0.572

ϕ3=

11.8

0.101

xP0=

0 yP

0= 0

xP1=

0 xP

1= 17

.35 xP

2= 28

.22 yP

2= 25

xP3=

40 yP

3= 25

P1-M

51.5

712

.70 t 2

P2-M

63.1

417

.35 t 1

= 0.7

57 ϕ

3= 14

.20.3

72 xP

0= 0

yP0=

0 xP

1= 0

xP1=

17.35

xP2=

25.83

yP2=

25 xP

3= 40

yP3=

25P1

-M6

1.57

12.70

t 22A

moyen

ne po

ndéré

e ϕ3

= 12.7

0 xP

0= 0

yP0=

0 xP

1= 0

xP1=

17.35

xP2=

27.30

yP2=

25 xP

3= 40

yP3=

252B

moyen

ne p

=> =>

poid

= 40

yP3=

25P1

-M2

α0=1

.57 ra

d ϕ

3= 9.

75 t2(

M2) =

0.134

ϕ0=

17.33

0.091

xP0=

0 yP

0= 0

xP1=

0 yP

1= 17

.332

xP2=

30.24

6 yP

2= 25

xP3=

40 yP

3= 25

= 40

yP3=

25P1

-M3

1.57

9.75

t2(M3

) = 0.2

88 ϕ

0= 16

.410.1

32 xP

0= 0

yP0=

0 xP

1= 0

yP1=

16.40

7 xP

2= 30

.246

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

41.5

79.7

5 t2(

M4) =

0.423

ϕ0=

17.11

0.081

xP0=

0 yP

0= 0

xP1=

0 yP

1= 17

.113

xP2=

30.24

6 yP

2= 25

xP3=

40 yP

3= 25

= 40

yP3=

25P1

-M5

1.57

9.75

t2(M5

) = 0.5

56 ϕ

0= 18

.370.0

51 xP

0= 0

yP0=

0 xP

1= 0

yP1=

18.37

3 xP

2= 30

.246

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

61.5

79.7

5 t2(

M6) =

0.721

ϕ0=

20.02

0.035

xP0=

0 yP

0= 0

xP1=

0 yP

1= 20

.017

xP2=

30.24

6 yP

2= 25

xP3=

40 yP

3= 25

= 40

yP3=

251B

moyen

ne po

ndéré

e ϕ0

= 17.3

5 xP

0= 0

yP0=

0 xP

1= 0

yP1=

17.35

4 xP

2= 30

.246

yP2=

25 xP

3= 40

yP3=

25

= 40

yP3=

25P1

-M2

α0=1

.57 ra

d ϕ

3= 12

.70 t 2

= 0.1

41 ϕ

0= 16

.370.1

00 xP

0= 0

yP0=

0 xP

1= 0

yP1=

16.36

5 xP

2= 27

.297

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

31.5

712

.70 t 2

= 0.3

02 ϕ

0= 15

.290.1

42 xP

0= 0

yP0=

0 xP

1= 0

yP1=

15.29

2 xP

2= 27

.297

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

41.5

712

.70 t 2

= 0.4

42 ϕ

0= 15

.800.0

80 xP

0= 0

yP0=

0 xP

1= 0

yP1=

15.79

7 xP

2= 27

.297

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

51.5

712

.70 t 2

= 0.5

80 ϕ

0= 16

.860.0

51 xP

0= 0

yP0=

0 xP

1= 0

yP1=

16.86

3 xP

2= 27

.297

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

P1-M

61.5

712

.70 t 2

= 0.7

45 ϕ

0= 18

.310.0

35 xP

0= 0

yP0=

0 xP

1= 0

yP1=

18.31

2 xP

2= 27

.297

yP2=

25 xP

3= 40

yP3=

25= 4

0 yP

3= 25

2Bmo

yenne

pond

érée

ϕ0= 1

6.11

xP0=

0 yP

0= 0

xP1=

0 yP

1= 16

.108

xP2=

27.29

7 yP

2= 25

xP3=

40 yP

3= 25

=> =>

Page 35: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Rotation d’une courbe en utilisant une formule du « changement de base ».

Il est utile de connaitre cet outil car il permettra de simplifier certaines équations.Le but est d’effectuer à la courbe une rotation α ayant pour centre de rotation un point Ω et éventuellement une translation Δx , Δy de cette courbe.

Notation Matricielle

donc

Opération réciproque

xP’yP’

(xP - xΩ)(yP - yΩ)

xΩ + ∆xyΩ + ∆y= cosα -sinα

sinα cosαP’ . + P’ xP’ = - sinα (yP - yΩ) + xΩ + ∆xcosα (xP - xΩ)yP’ = + cosα (yP - yΩ) + yΩ + ∆ysinα (xP - xΩ)

xPyP

(xP’ - xΩ - ∆x)(yP’ - yΩ - ∆y)

xΩyΩ= cos(-α) -sin(-α)P . +

P xP = - sin(-α)(yP’ - yΩ -∆y) +xΩcos(-α)(xP’- xΩ -∆x)yP = + cos(-α)(yP’ - yΩ -∆y)+yΩsin(-α)(xP’- xΩ -∆x) P xP = + sin(α)(yP’ - yΩ -∆y) +xΩcos(α)(xP’- xΩ -∆x)

yP = + cos(α)(yP’ - yΩ -∆y) +yΩ-sin(α)(xP’- xΩ -∆x)

sin(-α) cos(-α)xPyP

(xP’ - xΩ - ∆x)(yP’ - yΩ - ∆y)

xΩyΩ= cos(α) sin(α)ou . +-sin(α) cos(α)

Exemple

α = 70°

avec Δx = -30Δy = 30

=>4515Ω

P X YP0

P1

P2

P2-P0P3

Origine

45 1572 6015 4575 150 0

X Y

Origine’ 19,81 -2,19

P0’

P1’

P2’

P3’

15 45-18,1 85,8-23,5 27,125,3 73,2

P

α = 70°x

y

o

P0’

P1’

P2’

P3’

P

P

P0

P1

P2

P3

35 35

Page 36: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

Comment résoudre un équation du 3ème degré ?

Le signe et la valeur du discriminant impliquent cas

L’équation se présente sous la forme : ax³ + bx² + cx + d = 0

x³ + Bx² + Cx + D = 0a

aa

x1 ≈ -1,398

p = q =

Dans un premier temps nous allons simplifier les termes de cette équation

x = z − 3B( )

q² Le discriminant Δ de =

avec : et 3B²C( ( 327

2B³ BCD( )4 p³2 7+

z³ − 0,25z + 0,5 = 0=>

Δ > 0er cas : si il existe racine réelle :

) En développant et simplifiant => z³+ pz + q = 0

=>

z − 3B( ) z − 3

B z − 3B( )( )

) on divise tous les coefficients par :

) on change de variable en posant :

a a

2x³ + 3x² + x +1= 0Exemple 1

Δ ≈ 0,25

32 2B3 3x1 = -q+ -q- ΔΔ

1 + B + C + D = 03 2

=>

ax³ bx² cx² d 0

z³+ pz + q

3636

Page 37: Formulaire courbes de Bézier de degré 2 et 3€¦ · pages 36 et 37 [1] Modèles de Bézier des B-Splines et des Nurbs par G. DEMENGEL et J.P. POUGET éditions Ellipses [2] Topographie

x1 = 13x2 = x3 = 1

x3 ≈ 0,41x2 ≈-1,11x1 ≈ 2,02

z³−48z−128 = 0=>

Δ = 0 ème cas : si il existe racines réelles :

Δ < 0 ème cas : si il existe racines réelles :

3qp − 3

Bx1 =3q2p − 3

Bx2 = x3 = -

x³ - 15x² + 27x - 13 = 0Exemple 2

z³ − 2.75z − 0.25 = 0=>

2x³ - 3x² - 4x + 2 = 0Exemple 3

Δ = 0

Δ ≈ -3,02

+2¼

+4¼

x1 =3q

32p

-3p-p

3

Arccoscos (( ((

2

x2 =3q

32p

-3p-p

3

Arccoscos (( ((

2

x3 =3q

32p

-3p-p

3

Arccoscos (( ((

2

− 3B

− 3B

− 3B

37 37