Courbes bezier

Courbes bezier

Courbe de Bézier

Les courbes de Bézier sont des courbes polynomiales paramétriques décrites pour la première fois en 1962 par l'ingénieur français Pierre Bézier qui les utilisa pour concevoir des pièces d'automobiles à l'aide d'ordinateurs. Elles ont de nombreuses applications dans la synthèse d'images et le rendu de fontes. Elles ont donné naissance à de nombreux autres objets mathématiques.

Il existait avant Bézier des courbes d'ajustement nommées splines, mais dont le défaut était de changer d'aspect lors d'une rotation de repère, ce qui les rendait inutilisables en CAO. Bézier partit d'une approche géométrique fondée sur la linéarité de l'espace euclidien et la théorie, déjà existante, du barycentre : si la définition est purement géométrique, aucun repère n'intervient puisque la construction en est indépendante, ce qui n'était pas le cas pour les splines (les splines conformes aux principes de Bézier seront par la suite nommée B-splines).

Sommaire

Théorie générale

Pour n+1 points de contrôle (\mathbf{P}_0, \dots, \mathbf{P}_n), on définit une courbe de Bézier par l'ensemble des points \sum_{i=0}^n B_i^n(t)\mathbf{P}_i, t \in[0,1] et où les B_i^n sont les polynômes de Bernstein. Le polygone \mathbf{P}_0, \dots, \mathbf{P}_n est appelé « polygone convexe de Bézier ».

Remarque : Puisque \sum_{i=0}^n B_i^n(t) = 1, alors la courbe est correctement définie. Chaque point de la courbe peut être vu comme un barycentre des points de contrôle.

Propriétés : [1]

  • La courbe est à l'intérieur de l'enveloppe convexe des points de contrôle.
  • La courbe commence par le point \mathbf{P}_0 et se termine par le point \mathbf{P}_n, mais ne passe pas a priori par les autres points de contrôle qui déterminent cependant l'allure générale de la courbe.
  • \overrightarrow{P_0P_1} est le vecteur tangent à la courbe en \mathbf{P}_0 et \overrightarrow{P_{n-1}P_n} au point \mathbf{P}_n.
  • Une courbe de Bézier est infiniment dérivable (de classe C^{\infty}).
  • La courbe de Bézier est un segment si et seulement si les points de contrôle sont alignés.
  • Chaque restriction d'une courbe de Bézier est aussi une courbe de Bézier.
  • Un arc de cercle ne peut pas être décrit par une courbe de Bézier, quel que soit son degré.
  • Le contrôle de la courbe est global : modifier un point de contrôle modifie toute la courbe, et non pas un voisinage du point de contrôle.
  • Pour effectuer une transformation affine de la courbe, il suffit d'effectuer la transformation sur tous les points de contrôle.

Technique

Quatre points P0, P1, P2 et P3 définissent une courbe de Bézier cubique. La courbe se trace en partant du point P0, en se dirigeant vers P1 et en arrivant au point P3 selon la direction P2-P3. En général, la courbe ne passe ni par P1 ni par P2 : ces points sont simplement là pour donner une information de direction. La distance entre P0 et P1 détermine la « longueur » du déplacement dans la direction de P1 avant de tourner vers P3.

Bezier curve.svg

La forme paramétrique de la courbe s'écrit:

\mathbf{P}(t)= \mathbf{P}_0(1-t)^3 + 3 \mathbf{P}_1 t(1-t)^2 + 3 \mathbf{P}_2 t^2(1-t) + \mathbf{P}_3 t^3

pour 0 ≤ t ≤ 1. Remarquons que les coefficients binomiaux apparaissent dans l'ordre (1, 3, 3, 1). La formule est inspirée d'une loi binomiale et montre que la courbe est toujours complètement contenue dans l'enveloppe convexe des quatre points donnés. Les courbes de Bézier sont intéressantes pour le traitement des images pour deux raisons principales :

  • Les points peuvent être rapidement calculés en utilisant une procédure récursive qui utilise la division par deux et les opérations de base en évitant toutes les opérations de l'arithmétique des nombres réels flottants.
\begin{pmatrix}A'\\B'\\C'\\D'\end{pmatrix}=\begin{pmatrix}1&0&0&0\\{1\over 2}&{1\over 2}&0&0\\{1\over 4}&{2\over 4}&{1\over 4}&0\\{1\over 8}&{3\over 8}&{3\over 8}&{1\over 8}\end{pmatrix}\cdot\begin{pmatrix}A\\B\\C\\D\end{pmatrix}
ou
                       D\leftarrow (C+D)/2,
           C\leftarrow (B+C)/2, D\leftarrow (C+D)/2,
 B\leftarrow (A+B)/2, C\leftarrow (B+C)/2, D\leftarrow(C+D)/2

Plus précisément, on peut décomposer la courbe P(t) en deux courbes PL et PR dont les points de contrôles sont respectivement (L1, L2,L3,L4) et (R1, R2,R3,R4) avec

\begin{pmatrix}L_1'\\L_2'\\L_3'\\L_4'\end{pmatrix}=\begin{pmatrix}1&0&0&0\\{1\over 2}&{1\over 2}&0&0\\{1\over 4}&{2\over 4}&{1\over 4}&0\\{1\over 8}&{3\over 8}&{3\over 8}&{1\over 8}\end{pmatrix}\cdot\begin{pmatrix}A\\B\\C\\D\end{pmatrix} et \begin{pmatrix}R_1'\\R_2'\\R_3'\\R_4'\end{pmatrix}=\begin{pmatrix}
{1\over 8}&{3\over 8}&{3\over 8}&{1\over 8}\\
0&{1\over 4}&{2\over 4}&{1\over 4}\\
0&0&{1\over 2}&{1\over 2}\\
0&0&0&1
\end{pmatrix}\cdot\begin{pmatrix}A\\B\\C\\D\end{pmatrix}

Bezier rec.png

Lors de cet appel récursif pour tracer P(t), étant donné que la courbe de Bézier passe par le premier et le dernier point de contrôle, la position des extrémités de chaque morceau (L1, L4=R1 et R4) est connue. Lorsque l'on implémente un tel tracé, le critère d'arrêt de la récurrence peut être lié à la distance entre la sous-courbe à tracer et le segment [L1,L4] par exemple.


Note: l'arithmétique des nombres réels flottants étant disponible directement sur les processeurs modernes, elle est devenue bien plus rapide que l'allocation de mémoire nécessaire pour une récursion. De plus, une méthode qui fournit les pixels de la courbe à tracer sans aller de proche en proche ne permet pas d'antialiasing. La récursion n'est donc plus la bonne méthode pour tracer les courbes de Béziers ; on utilisera avantageusement la méthode qui parcourt les pixels de proche en proche en calculant à chaque pas un "défaut de tangente" utilisable pour l'antialiasing.


Le calcul d'un point d'une courbe de Bézier peut également s'effectuer en utilisant la méthode de Horner en calculant préalablement les coefficients vectoriels \mathbf{a_i} du polynôme:


\mathbf{a_i}=\begin{pmatrix}m\\i\end{pmatrix}\sum_{j=0}^{i} (-1)^{i-j} \begin{pmatrix}i\\j\end{pmatrix} \mathbf{P_j} \qquad \mbox{pour} \qquad  i=0...m

Exemples

Courbe de Bézier linéaire (de degré 1)

Les points de contrôle P0 et P1 définissent la courbe de Bézier donnée par l'équation :

\mathbf{B}(t)=(1-t)\mathbf{P}_0 + t\mathbf{P}_1 \mbox{ , } t \in [0,1].

Il s'agit donc du segment [P0, P1].


Courbe de Bézier quadratique (de degré 2)

Une courbe de Bézier quadratique est la courbe B(t) définie par les points de contrôle P0, P1 et P2.

\mathbf{B}(t) = (1 - t)^{2}\mathbf{P_0} + 2t(1 - t)\mathbf{P_1} + t^{2}\mathbf{P_2} \mbox{ , } t \in [0,1].


Courbe de Bézier cubique (de degré 3)

Ce sont les courbes de Bézier les plus utilisées (car elles permettent d'assurer la continuité en tangence et en courbure de deux courbes raccordées). Une courbe de Bézier cubique est la courbe B(t) définie par les points de contrôle P0, P1, P2 et P3. Sa forme paramétrique est :

\mathbf{B}(t)=\mathbf{P_0}(1-t)^3+3\mathbf{P_1}t(1-t)^2+3\mathbf{P_2}t^2(1-t)+\mathbf{P_3}t^3 \mbox{ , } t \in [0,1].


Courbe de Bézier de degré supérieur à 3

Elles sont rarement utilisées. On préfère se ramener à l'utilisation de courbes cubiques que l'on raccorde. Pour cela, il faut et il suffit que le dernier point d'une courbe soit le premier d'une autre. On obtient ainsi une courbe continue.

Par exemple, pour une courbe définie par les points A, B, C, D, E, F et G, on utilise les courbes cubiques définies par A, B, C, et D, et par D, E, F, et G et la continuité est ainsi assurée. Pour avoir une courbe C1 en D, il faut que [C, D] = [D, E], et si en plus on veut qu'elle soit C2 en D, alors [B, D] = [D, F], et de même pour les dérivées successives.

Applications

Synthèse d'images
  • Les courbes de Bézier composent l'outil de la base du dessin vectoriel qui repose sur la transcription mathématique des objets.
  • Les courbes de Bézier cubiques, les plus utilisées, se retrouvent en graphisme et dans de multiples systèmes de synthèse d'images, tels que PostScript, Metafont et The GIMP, pour dessiner des courbes « lisses » joignant des points ou des polygones de Bézier.
  • Les courbes de Bézier cubiques sont également utilisées par les logiciels de dessin vectoriel suivants:
    • Dans Paint avec l'outil "Courbe", en traçant un trait de P0 à P3 puis en cliquant successivement aux lieux de P1 et P2.
    • Dans le logiciel libre jPicEdt il y a un outil pour créer et éditer des chaines de courbes de Bézier d'ordre 3.
Rendus de fontes
  • Les textes sont également définis par des courbes de Bézier dans le cadre des fonctions de PAO comme la mise en page complexe, la gestion de bloc de texte, les habillages.
  • Les fontes TrueType utilisent des courbes de Bézier quadratiques plus simples.

Courbe de Bézier rationnelle

Pour décrire très exactement des courbes comme les cercles (bien qu'en pratique les approximations par les courbes de Bézier soient suffisantes), il faut des degrés de liberté supplémentaires.

L'idée est d'ajouter des poids aux points de contrôle (ce sont les ωi). Le dénominateur n'est là que pour normaliser la somme des poids supplémentaires, afin que la courbe soit correctement définie.

Une courbe de Bézier rationnelle prend la forme générale suivante:

\mathbf{B}(t) = \dfrac{\displaystyle\sum_{i=0}^n b_{i,n}(t) \omega_i \mathbf{P}_{i} }
{\displaystyle\sum_{i=0}^n b_{i,n}(t) w_i }

Notes

  1. Grégory Massal, "Courbes et surfaces de Bézier", 2000. Consulté le 23 août 2008

Voir aussi

Articles connexes

Liens externes

Références

  • (fr) Modèles de Bézier, des B-splines et des NURBS, G Demengel, JP Pouget, éditions ellipses (Approche pédagogique pour dévoiler la boîte noire de ces modèles utilisés en CAO pour la modélisation des courbes et des surfaces.)
  • (fr) 'Systèmes De Cfao', 'Études En Cfao Cao Mecanique ', 'Éléments De Cao Volume 1 Materiels Et Logiciels De Base', 'Cao Mécanique', 'Systèmes De C.F.A.O. : Conception Et Fabrication Assistées Par Ordinateur : - Introduction Dans L'entreprise, Méthode De Réalisation ', 'La Cfao - Introduction, Techniques Et Mises En Œuvre, 3ème Édition Revue Et Corrigée ', 'La Cfao ', Yvon Gardan, Livre, édition Hermes, (modèles CSG, B-REP, modeleur paramétrique ou variationnel ect...)
  • (fr) Annexe G du livre Fontes et codages,
  • (en) Paul Bourke: Bézier curves,
  • (en) Donald Knuth : Metafont: the Program, Addison-Wesley 1986, pp. 123-131. Excellente discussion sur les détails de l'implémentation; disponible gratuitement comme partie intégrante de la distribution de TeX.
  • Portail de la géométrie Portail de la géométrie

Ce document provient de « Courbe de B%C3%A9zier ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Courbes bezier de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Bezier — Bézier Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Pierre Bézier est un ingénieur en mécanique et en électricité français, il est principalement connu pour les courbes de Bézier qui ont trouvé… …   Wikipédia en Français

  • Courbes planes — Courbe plane En géométrie, une courbe plane est une courbe qui est entièrement contenue dans un (unique) plan, et qui est identifiable à une fonction continue : où I est un intervalle de l ensemble des nombres réels. L image d une courbe est …   Wikipédia en Français

  • Bézier — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.  Pour l’article homophone, voir Besier. Jean Bezier, chouan ; Pierre Bézier est un ingénieur en mécanique et en électricité français, il est… …   Wikipédia en Français

  • Bézier — ● np. m. ►MATH Les courbes de Bézier (Pierre de son petit nom, un français qui travaillait à la Régie Renault) servent à dessiner des formes (e.g. des caractères) ou à modéliser des surfaces, en CAO ou en imagerie de synthèse. Elles sont… …   Dictionnaire d'informatique francophone

  • Bézier, Pierre — ● np. m. ►PERS Inventeur des courbes de Bézier …   Dictionnaire d'informatique francophone

  • Courbe de Bézier — Exemple de construction de courbe de Bézier Les courbes de Bézier sont des courbes polynomiales paramétriques décrites pour la première fois en 1962 par l ingénieur français Pierre Bézier qui les utilisa pour concevoir des pièces d automobiles à… …   Wikipédia en Français

  • Courbe De Bézier — Les courbes de Bézier sont des courbes polynomiales paramétriques décrites pour la première fois en 1962 par l ingénieur français Pierre Bézier qui les utilisa pour concevoir des pièces d automobiles à l aide d ordinateurs. Elles ont de… …   Wikipédia en Français

  • Courbe de Bezier — Courbe de Bézier Les courbes de Bézier sont des courbes polynomiales paramétriques décrites pour la première fois en 1962 par l ingénieur français Pierre Bézier qui les utilisa pour concevoir des pièces d automobiles à l aide d ordinateurs. Elles …   Wikipédia en Français

  • Courbe de bézier — Les courbes de Bézier sont des courbes polynomiales paramétriques décrites pour la première fois en 1962 par l ingénieur français Pierre Bézier qui les utilisa pour concevoir des pièces d automobiles à l aide d ordinateurs. Elles ont de… …   Wikipédia en Français

  • Pierre Bézier — (1er septembre 1910 à Paris 25 novembre 1999) est un ingénieur en mécanique et en électricité. Il est connu pour son invention des courbes et surfaces de Bézier, couramment utilisées en informatique. Diplômé de l École… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”