NURBS (B-splines rationnelles non uniformes)

Quel genre de mot est NURBS ?

Le mot NURBS est l’abréviation de « non-uniform rational B-spline », B-spline rationnelle non uniforme. Les courbes B-splines rationnelles non uniformes peuvent représenter une géométrie en 3D.

Pourquoi utiliser les NURBS pour représenter une géométrie 3D.

La géométrie NURBS a cinq qualités importantes qui font d’elle le choix idéal pour la modélisation assistée par ordinateur.

Il existe plusieurs normes d’échange de géométrie NURBS. Les utilisateurs doivent pouvoir exporter leurs modèles vers d’autres logiciels de modélisation, de rendu, d’animation et d’analyse technique. Ils peuvent enregistrer des informations de telle sorte qu’il soit possible de les utiliser dans 20 ans.

La définition des NURBS est précise et connue. Les mathématiques et l’informatique de la géométrie des NURBS sont enseignées dans la plupart des grandes écoles. Cela signifie que les distributeurs de logiciels, les équipes des bureaux d’étude, les entreprises de dessin industriel et les maisons d’animation qui ont besoin de créer des applications sur mesure, peuvent trouver des programmateurs qualifiés capables de travailler avec la géométrie NURBS.

Les NURBS peuvent représenter avec précision des objets géométriques simples comme des lignes, des cercles, des ellipses, des sphères et des tores et des géométries complexes de forme libre comme les carrosseries de voiture ou les parties du corps humain.

La quantité d’informations nécessaire à la représentation NURBS d’une pièce géométrique est beaucoup plus petite que la quantité d’informations nécessaire à l’approximation par facettes.

La règle d’évaluation NURBS, dont nous parlerons ci-dessous, peut être implantée sur un ordinateur pour obtenir efficacité et précision.

Qu’est-ce que la géométrie NURBS ?

Il y a plusieurs façons de répondre à cette question. Si vous êtes à l’aise avec les formules mathématiques et l’anglais, vous pouvez obtenir plus d’informations détaillées en visitant la section Books and papers on NURBS du site openNURBS (http://www.opennurbs.com/books.htm
).

Rhino utilise les NURBS pour représenter des courbes et des surfaces. Les courbes NURBS et les surfaces agissent d’une façon similaire et une grande partie de leur terminologie est la même. Puisque les courbes sont plus faciles à décrire, nous allons les traiter plus en détail. Rhino dispose d’outils pour les surfaces similaires aux outils pour les courbes que nous mentionnerons ci-après.

Une courbe NURBS est définie par quatre données : le degré, les points de contrôle, les nœuds et une règle d’évaluation.

Le degré est un nombre entier positif.

Cette valeur est normalement égale à 1, 2, 3 ou 5. Le degré des lignes et des polylignes de Rhino est de 1, celui des cercles 2 et celui de la plupart des courbes de formes libres 3 ou 5. Rhino vous permettra de travailler avec des Nurbs dont le degré variera entre 1 et 11. Dans certains cas les termes linéaire, quadratique, cubique et quintique sont utilisés. Linéaire signifie de degré 1, quadratique de degré 2, cubique de degré 3 et quintique de degré 5.

Vous pouvez rencontrer parfois des références à l’ordre d’une courbe NURBS. L’ordre d’une courbe NURBS est une valeur entière positive égale à (degré+1). Par conséquent le degré est égal à l’ordre -1.

Il est possible d’augmenter le degré d’une courbe NURBS sans changer sa forme, en revanche si le degré d’une courbe NURBS est réduit, sa forme changera obligatoirement. Rhino dispose des outils nécessaires pour changer le degré d’un élément. Le degré peut varier entre 1 et 11.

Les points de contrôle sont une liste d’au moins (degré+1) points.

Une des façons les plus simples de changer la géométrie d’une courbe NURBS est de déplacer ses points de contrôle. Rhino vous offre plusieurs possibilités pour déplacer les points de contrôle. Si vous voulez changer la forme d’un modèle dans de grandes proportions, utilisez la souris pour déplacer les points de contrôle. Si vous voulez changer la forme d’un objet dans de petites proportions, Rhino vous fournit d’autres outils plus précis.

Un nombre, appelé poids, est associé aux points de contrôle. Sauf dans quelques exceptions, les poids ont des valeurs positives. Si tous les points de contrôle d’une courbe ont le même poids (normalement 1), la courbe est appelée non-rationnelle, sinon la courbe est appelée rationnelle. Le R de NURBS signifie rationnelle et indique qu’une courbe NURBS a la possibilité d’être rationnelle. Cependant la plupart des courbes NURBS sont non-rationnelles. Certaines courbes, certains cercles et certaines ellipses NURBS sont toujours rationnels. Rhino dispose des outils nécessaires pour examiner et changer les poids des points de contrôle.

Les nœuds sont une liste de (degré+N-1) nombres, où N est le nombre de points de contrôle. Parfois cette série de nombres est appelée vecteur de nœud. Ici, le terme vecteur ne signifie pas direction en 3D.

La liste des nombres doit remplir certaines conditions techniques. Afin de vous assurer que les valeurs techniques sont correctes, le plus facile est d’obliger les nombres à rester égaux ou à augmenter lorsque vous descendez dans la liste et de limiter le nombre de valeurs dupliquées au degré. Par exemple, pour une courbe NURBS de degré 3 avec 15 points de contrôle, la liste de nombres 0,0,0,1,2,2,2,3,7,7,9,9,9 est une liste satisfaisante de nœuds. La liste 0,0,0,1,2,2,2,2,7,7,9,9,9 n’est pas acceptable car il y a quatre 2 et étant donné que le degré est égal à trois, le nombre de 2 ne peut pas être supérieur à trois.

Le nombre de fois que la valeur d’un nœud est dupliquée est appelée la multiplicité. Dans l’exemple précédent où la liste des nombres est acceptable, la multiplicité de la valeur 0 du nœud est de un, celle de la valeur 2 est de trois, celle de la valeur 7 est de deux et celle de la valeur 9 est de trois. On dit que la valeur d’un nœud est un nœud de multiplicité pleine lorsque la multiplicité est égale au degré. Dans l’exemple précédent, les valeurs de nœud 0, 2 et 9 ont une multiplicité pleine. Une valeur de nœud qui n’apparaît qu’une seule fois est appelée nœud simple Dans l’exemple précédent les valeurs de nœud 1 et 3 sont des nœuds simples.

Si une liste de nœuds commence par un nœud de multiplicité pleine, continue avec des nœuds simples et se termine par un nœud de multiplicité pleine et si les valeurs sont espacées régulièrement, les nœuds sont alors dits uniformes. Par exemple, si une courbe NURBS de degré 3 avec 7 points de contrôle possède les nœuds 0,0,0,1,2,3,4,4,4, alors les nœuds de cette courbe sont uniformes. Les nœuds 0,0,0,1,2,5,6,6,6 ne sont pas uniformes. Les nœuds qui ne sont pas uniformes sont appelés non uniformes. Les lettres NU dans NURBS signifient non uniforme et indiquent que les nœuds d’une courbe NURBS peuvent être non uniformes.

Si au milieu d’une liste de nœuds se trouvent des valeurs dupliquées, la courbe NURBS est moins lisse. Si au contraire, au milieu d’une liste de nœuds se trouve un nœud de multiplicité pleine, la courbe NURBS peut être pliée en un certain point et former ainsi un point de rebroussement
. Pour cette raison certains dessinateurs ajoutent et enlèvent des nœuds et déplacent ensuite les points de contrôle pour rendre les courbes plus ou moins lisses et pour ajouter ou supprimer des points de rebroussement. Rhino dispose des outils nécessaires pour ajouter et enlever des nœuds. Comme le nombre de nœuds est égal à (N+degré-1), où N est le nombre de points de contrôle, ajouter des nœuds ajoute aussi des points de contrôle et enlever des nœuds enlève des points de contrôle. Vous pouvez ajouter des nœuds sans changer la forme de la courbe NURBS. En général, si vous enlevez des nœuds, la forme de la courbe change. Rhino retire automatiquement le nœud correspondant lorsque l’utilisateur efface un point de contrôle.

On pense très souvent erronément que chaque nœud est associé à un point de contrôle. Ceci n’est vrai que pour les polylignes NURBS de degré 1. Pour les NURBS de degré supérieur, il y a des groupes de nœuds de 2 x degré qui correspondent à des groupes de points de contrôle de degré+1. Par exemple, si nous avons une NURBS de degré 3 avec 7 points de contrôle et les nœuds 0,0,0,1,2,5,8,8,8. Les quatre premiers points de contrôle sont groupés avec les six premiers nœuds. Les points de contrôle allant du deuxième au quatrième sont groupés avec les nœuds 0,0,1,2,5,8. Les points de contrôle allant du troisième au sixième sont groupés avec les nœuds 0,1,2,5,8,8. Les quatre derniers points de contrôle sont groupés avec les six derniers nœuds.

Certains modeleurs qui utilisent des algorithmes plus anciens pour l’évaluation des NURBS demandent deux valeurs de nœuds supplémentaires pour un total de degré+N+1 nœuds. Quand Rhino échange une géométrie NURBS avec d’autres programmes, il ajoute ou enlève automatiquement ces deux nœuds superflus si nécessaire.

La règle d’évaluation utilise une formule mathématique qui prend un nombre et assigne un point.

La formule prend en considération le degré, les points de contrôle et les nœuds. La formule utilise des éléments appelés fonctions de base B-spline. Les lettres BS dans NURBS signifient B-spline. Le nombre par lequel commence la règle d’évaluation s’appelle le paramètre. Vous pouvez imaginer la règle d’évaluation comme une boîte noire qui mange un paramètre et produit un point. Le degré, les nœuds et les points de contrôle déterminent le fonctionnement de la boîte noire.

Rhino possède des outils d’évaluation. Vous pouvez sélectionner une courbe NURBS, taper la valeur du paramètre et produire le point correspondant.

Les nœuds déterminent les fonctions de base B-spline. Les valeurs des fonctions de base B-spline pour le paramètre déterminent comment est calculée la moyenne des points de contrôle et des poids pour produire un point. De nombreux livres et pages Internet expliquent la règle d’évaluation et les fonctions de base B-spline.

Plus d’informations

http://fr.wikipedia.org/wiki/NURBS

À propos des NURBS