Ecrit par Olivier Saraja (olivier_at_linuxgraphic.org)
Il y a en particulier deux Finite Solid Primitives qui sont susceptibles de nous intéresser dans le cadre de cette étude: Lathe et Surface of Revolution (SOR) . Les deux semblent fonctionner de façon identique: il s'agit de faire tourner autour de l'axe y une courbe (Lathe) ou une fonction mathématique (SOR) décrite dans le plan x-z. Les différences sont toutefois subtiles:
1-comme pour toutes les fonctions mathématiques, une ordonnée et une seule doit correspondre à une abscisse donnée. Cela implique que seule la Primitive Lathe vous permet de créer des profils de révolution clos (comme un tube, un verre ou même un tore) tandis que SOR vous permet d'avoir toutes les variations de rayon que vous souhaitez, mais le long d'une trajectoire strictement croissante (comme un cylindre, un pion de jeu d'échec ou un arbre avec des rayons et des épaulements, en construction mécanique). A noter que vous pouvez très bien créer avec une SOR le profil extérieur d'un verre et cocher l'option 'Open', ce qui vous donnera l'illusion d'un vrai verre (voir Figure 2) à ceci près que sa paroi n'aura pas d'épaisseur et que sa base sera toute aussi ouverte que l'extrémité par laquelle l'on boit. Mais nous y reviendrons un peu plus tard.
2-dans les deux cas, vous aurez à éditer les points de contrôle par lesquels la courbe (Lathe) ou la fonction mathématique (SOR) passeront. Mais l'autre principale différence réside dans l'allure de la courbe qui joindra tous ces points. Dans le cas du SOR, c'est forcément une Spline lissée qui passera par les points de contrôle, tandis que dans le cas du Lathe, vous pourrez choisir entre différents modèles: Linear Spline, Quadractic Spline, Cubic Spline, Bezier Spline.
Qui peut le plus peut le moins, et par conséquent, vous pouvez très bien vous servir de Lathe pour construire les objets auxquels est limité SOR: pourquoi donc utiliser ce dernier? Tout simplement parce que le modèle mathématique qui le régit est plus simple et que le temps de rendu est sensiblement plus court lorsque c'est un grand nombre de SOR est impliqué que lorsque ce sont des Lathes qui sont utilisés.
Choisir l'une ou l'autre des primitives est plus un choix d'ordre stratégique que technique: si vous avez une puissance de calcul infernale ou si vos scènes sont très simples, vous pouvez sans souci utiliser Lathe, considérablement plus flexible. L'avantage, c'est que Lathe et SOR respectent à quelques détails près la même philosophie, ainsi que le montre la figure 3.
Spline type (Lathe): c'est ici que vous choisissez l'allure de la Spline qui reliera les points de contrôle qui seront définis juste après: Linear Spline, Quadratic Spline, Cubic Spline, Bezier Spline.
1-Linear Spline: relie simplement les points de contrôle par un segment de droite
2-Quadratic Spline: la position du point précédent est prise en compte pour déterminer l'allure de la courbe jusqu'au point courant, mais le point suivant n'est pas pris en compte; il en résulte des courbes de jonction parfois brutales.
3-Cubic Spline: comme précédemment, sauf que la position du point suivant est également prise en compte, ce qui permet d'obtenir des courbes de jonction toujours lisses.
4-Bezier Spline: son fonctionnement est un peu plus particulier. Considérons des groupes de quatre points, qui chacun sont nécessaires pour déterminer un segment de courbe entier. Les points 1 et 4 définissent les deux extrémités du segment de courbe, tandis que les points 2 et 3 sont utilisés pour déterminer la pente de la courbe de jonction. Bien sûr, ces deux points particuliers ne sont pas des points de passage de la courbe, mais plus des points permettant de contrôler la pente de celle-ci. Ce type de courbe est très populaire dans les logiciels de dessin vectoriel.
Spline points (Lathe, SOR): ici, aucune différence entre les deux primitives. Par défaut, quatre points de contrôle sont générés, car c'est le minimum que peut gérer POV-Ray. La composante u indique le rayon de l'objet correspondant à l'ordonnée v de l'objet. Le bouton vert vous permet d'insérer une paire de composantes (u,v), tandis que la croix rouge vous permet d'en supprimer une. Il est toujours utile de garder un oeil sur la vue graphique de la scène pour voir ce que vous faites, voire même de bâtir votre objet dans ce mode. Vous pouvez en effet déplacer les points de contrôle avec la souris, en appuyant sur le bouton gauche et en la déplaçant. De plus, vous pouvez sélectionner plusieurs points de contrôle à la fois, et ce, de plusieurs façons:
1-bouton gauche vous permet de dessiner une boîte qui sélectionne tous les points contenus dedans ;
2-CTRL+bouton gauche vous permet de sélectionner/déselectionner des points individuels sans déselectionner les autres ;
3-SHIFT+CTRL+bouton gauche vous permet de faire des sélections multiples en enchaînant les boîtes.
A noter que pour obtenir une courbe fermée, le premier et le dernier point doivent être identiques.
Open (SOR): par défaut, SOR décrit une surface de révolution fermée. Cette option vous permet de l'ouvrir à ses deux extrémités si la composante u est différente de 0. Ce peut être intéressant pour modéliser rapidement des verres ou des vases que vous souhaitez creux. Attention cependant: les deux extrémités sont ouvertes et l'objet n'a pas d'épaisseur réelle. L'illusion est satisfaisante à une certaine distance, mais de plus près, la primitive Lathe est plus pertinente. Voir la Figure 2, plus haut.
Sturm (Lathe, SOR): il s'agit d'un modèle de calcul plus lent mais plus exact, que vous pouvez utiliser si les Lathes et SOR ne sont pas rendus correctement par POV-Ray, comme c'est le cas sur la figure 4: l'usage de l'option Sturm corrige en effet la distorsion de l'image observée sur le verre de gauche.
Les autres options sont communes à toutes les primitives et seront passées sous silence.