NURBS

Un article de Wikipédia, l'encyclopédie libre.

Les NURBS (Non-Uniform Rational Basis Splines) correspondent à une généralisation des B-splines car ces fonctions sont définies avec des points en coordonnées homogènes. Le principal intérêt de ces courbes NURBS est qu'elles parviennent même à ajuster des courbes qui ne peuvent pas être représentées par des B-splines. Un exemple fameux est le tracé d'un quart de cercle.


Sommaire

[modifier] Définitions

[modifier] Définition étendue

Les NURBS sont utilisées pour représenter mathématiquement des objets géométriques. Elles généralisent la représentation par les B-splines des courbes et des surfaces en ajoutant un dénominateur. Elle sont en fait définies avec des points en coordonnées homogènes. Une B-spline ressemble à une représentation polynomiale par morceaux, alors qu'une NURBS est une représentation par fractions rationnelles par morceaux. Notamment utilisées dans les logiciels d'édition 3D, ces fonctions d'ajustement sont particulièrement utilisées dans le domaine de l'informatique, plus précisément dans la compression d'images et dans le design assisté par ordinateur, afin de générer et représenter des formes douces et ergonomiques. Du fait qu'elle présentent de nombreux avantages, leur utilisation est largement répandue :

  • facilité et précision pour évaluer une forme
  • capacité pour approximer des formes complexes
  • simplicité de construction et d'implémentation
  • faible complexité des algorithmes utilisés


[modifier] Définition formelle

Les fonctions NURBS de degré d sont définies par la formule doublement récursive de Cox-De Boor :

\left\{\begin{array}{ll}b_{j,0}(t)= \left\{
    \begin{array}{ll}
        1 & si\; t_j \leq t < t_{j+1} \\
        0 & sinon
    \end{array}
\right.\\
b_{j,d}(t)= \frac{t-t_j}{t_{j+d}-t_j} b_{j,d-1}(t)+\frac{t_{j+d+1}-t}{t_{j+d+1}-t_{j+1}}b_{j+1,d-1}\end{array}\right. où les tj sont des nœuds appartenant au vecteur nodal, et d le degré de la NURBS.

Lorsque plusieurs nœuds tj sont confondus, on pose \frac{0}{0}=0.

La formule des NURBS possède de grandes correspondances avec celle des B-splines. Elle est simplement généralisée afin d'être appliquée à des coordonnées homogènes :

S(t)=\frac{\sum_{i=1}^{m-d-1}w_iQ_ib_{i,d}(t)}{\sum_{i=1}^{m-d-1}w_ib_{i,d}(t)} où les Qi sont les points de contrôle donnés, m le nombre de nœuds, d le degré de la NURBS, les bi,d des coefficients calculés selon l'algorithme de Cox-de Boor, et t le paramètre.

[modifier] Exemples

Voici une NURBS tracé à l'aide de l'outil gnuplot (représentation type "file de fer" et type point) :

TSAY ! YAVA !

[modifier] Liens Externes