<< Précédent | Début | Suite >>

2. Les NURBS

1. NURBS et Filet de vertex

Les surfaces représentées dans Naval Designer sont des NURBS (Non Uniform Rational B-Splines).

L’origine de ce modèle mathématique sont les lattes flexibles (spline en anglais) utilisées par les architectes pour tracer des courbes et maintenues par des poids. En déplaçant un poids, la position de la latte est modifiée localement. En utilisant des lattes de différentes raideur, les courbes tracées sont plus ou moins tendues.

Les surfaces NURBS sont construites autour de filets de points de contrôles appelés sommets ou vertex qui jouent le rôle de poids.

Un filet est organisé en lignes et colonnes. Il n’est pas possible d’insérer un vertex isolé : on insère toujours une ligne ou une colonne entière.

Les vertex sont numérotés ainsi : (Ligne, Colonne).

Un vertex est localisé dans l’espace à trois dimensions grâce à ses coordonnées cartésiennes (x, y, z). En double-cliquant sur un vertex on édite ses coordonnées.

Note : une surface qui n’a qu’une ligne ou qu’une colonne est une courbe 3D.

En plus du nombre de lignes et de colonnes et des coordonnées (x, y, z) de ses vertex, une NURBS est définie par :

2. Propriétés des NURBS

généralités :

Un petit nombre de vertex permet d’obtenir une surface lissée complexe. Les NURBS approchent très précisément les formes analytiques usuelles (lignes, plans, coniques – cercles, ellipses –, courbes libres) utilisées en CAO.

Elles sont incorporées dans un grand nombre de modeleurs géométriques de l'industrie.

Les NURBS font partie des standards de fichiers comme IGES (Initial Graphic Exchange Specifications).

Les NURBS sont gérée par les moteurs de visualisation 3D tel qu’OpenGL ou VRML.

Propriétés techniques :

Un grand nombre de vertex augmente la complexité du calcul. On essaie donc de limiter le nombre de ligne ou de colonne. La surface passe uniquement par les quatre vertex des coin. Les surfaces peuvent être fermées ou se recouper.

Le contrôle de la surface est local. Chaque vertex affecte la forme de la surface dans un intervalle donné.
Cette propriété n'est vraie que si le nombre de points est supérieur à l'ordre de la courbe.

Les NURBS permettent de créer des courbes ou des surfaces avec des coins. Il suffit d’introduire des sommets multiples, c’est-à-dire des sommets adjacents du filet qui ont les mêmes coordonnées. Si l'ordre de la courbe est N, il faut N-1 points.

A l’inverse d’autres modèles mathématiques, plus l’ordre de la courbe diminue, plus la courbe se rapproche du polygone de vertex. Inversement plus le degré de la courbe augmente, plus la courbe est tendue entre les extrémités.

La base NURBS permet de changer l’ordre de la courbe sans changer le nombre de vertex. C’est intéressant car une courbe d’ordre plus élevé est plus difficile à contrôler avec précision. En général, les NURBS d’ordre 4 sont suffisantes. Une NURBS est toujours tangente aux côtés du polygone aux extrémités.
Cela entraîne une règle de continuité entre deux surfaces : les sommets doivent être confondus et les vertex adjacents aux sommets doivent être alignés.

Une NURBS d’ordre 3 est toujours tangente au milieux des côtés du polygone.

Elles sont toujours comprises à l’intérieur du contour polygonal convexe extrême déterminé par les vertex.

Le poids des vertex permet une très grande souplesse dans la définition des surfaces. Les NURBS sont indépendantes du système d’axes choisi. L'ordre de la courbe est au mieux égal au nombre de vertex. Dans Naval Designer, si on donne une flexibilité supérieure au nombre de points, l'ordre est automatiquement ramené à la bonne valeur. Par exemple si le nombre de lignes est 3, alors l'ordre transversale ne peut être supérieure à 3.

Si l’ordre de la courbe est égal au nombre de vertex, alors la courbe correspond à une courbe de Bézier.

3. Bien démarrer avec les NURBS

Plusieurs petits "trucs" permettent de bien démarrer quand on commence à utiliser les NURBS dans Naval Designer.

Commencer à dessiner les contours du bateau : ligne de quille, livet, étrave et tableau arrière.

Utiliser le plus petit nombre possible de lignes et colonnes de vertex : la surface aura moins de risque de présenter des discontinuités de courbure.

Préférer un ordre (flexibilité) 3 ou 4 : le contrôle de la courbe sera d'autant plus local (mais le risque de discontinuité de courbure est plus important si ne nombre de lignes ou de colonnes est grand).

Plutôt que d'utiliser des filets de points de contrôle très torturés, il est parfois préférable de scinder une surface complexe en deux surfaces plus simples.

Il est fortement déconseillé d'utiliser à outrance le poids du vertex. L'utilisation de valeurs très élevées ou très faibles peut conduire à des déformations de la surface invisibles à l'écran mais bien réelles.

4. En savoir plus sur les NURBS

Un grand nombre d'articles sont disponibles sur internet qui traitent de la théorie des NURBS ou du modelage des NURBS. Ces articles sont presque toujours en anglais. Pour cela, utilisez simplement un moteur de recherche avec pour mot clé NURBS.

<< Précédent | Début | Suite >>