Initiation à BRL-CAD/Formes primitives
La création d'un solide se fait par l'instruction in
, pour « insérer » (insert). Il faut donner un nom à chaque solide créé afin de pouvoir y faire référence par la suite. Le nom se termine par l'extension .s
.
On peut entrer toutes les caractéristiques du solide dans la même ligne, mais MGED fournit une assistance : il demande au fur et à mesure les informations manquantes.
La syntaxe générale est :
in nom.s type paramètres
Le nom « officiel » des solides élémentaires est primitive shape, « forme primitive ».
Premier exemple
modifierPar exemple, pour créer un cylindre (right circular cylinder, rcc) appelé « arbre » dont le centre de la base (vertex) a pour coordonnées (0 ; 0 ; 0), d'axe z, de hauteur 10 et de rayon 5, il faut taper
in arbre.s rcc 0 0 0 0 0 10 5
- la séquence
0 0 0
sont les coordonnées du centre de la base du cylindre ; - la séquence
0 0 10
sont les composantes du vecteur hauteur ; - la séquence
5
est le rayon.
On peut aussi se laisser guider par MGED :
in arbre.s rcc
Enter X, Y, Z of vertex: ''0 0 0''
Enter X, Y, Z of height (H) vector: ''0 0 10''
Enter radius: ''5''
L'objet s'affiche en fil de fer.
On peut afficher les repère avec le menu Modes | Axes de la fenêtre graphique :
- l'option
View
affiche le repère de base ; - l'option
Model
affiche le repère lié au solide.
Si l'on clique sur la fenêtre graphique avec le bouton principal, on fait un rétrécissement (zoom arrière) ; si l'on clique avec le bouton secondaire[1], cela fait un agrandissement (zoom avant).
Si l'on appuie sur la touche Maj (shift) en cliquant sur l'image et en bougeant la souris, on fait bouger la vue que l'on a de l'objet, mais cela ne bouge pas l'objet par rapport au repère. Si l'on appuie sur la touche Ctrl (contrôle) en cliquant sur l'image et en bougeant la souris, on fait tourner l'image (on change de point de vue, mais l'objet ne change pas d'orientation par rapport au repère).
Si l'on veut afficher l'objet avec un effet de matière, il faut d'abord créer une « région » (region), puis lui attribuer une « matière » (mater), et enfin tracer l'objet par la méthode de lancer de rayon (ray tracing).
Par exemple, nous allons créer la région resarbre.r
(pour « résultat de l'arbre ») à partir de la réunion (u
, union) de l'objet arbre.s
avec l'ensemble vide — c'est à dire que la région ne contient que l'objet arbre.s
, et l'on utilise pour cela la commande r
:
mged> r resarbre.r u arbre.s
Defaulting item number to 1001
Creating region id=1000, air=0, GIFTmaterial=1, los=100
Puis, on veut lui donner un aspect mat (plastic) de couleur violette, en utilisant la couleur définit par le code rouge-vert-bleu 128 0 255
:
mged> mater resarbre.r plastic 128 0 255 0
Le dernier 0
sera expliqué plus tard.
Le tracé par lancé de rayon (ray tracing, rt
) pour générer un dessin de taille 512×512 pixels (size, -s
) se fait par
mged> rt resarbre.r -s 512
Principales commandes
modifierLa commande in
permet donc de créer une forme primitive (solide élémentaire). La commande make
permet de créer une forme primitive avec des paramètres par défaut, avec la syntaxe
make nom.s type
par exemple, pour créer une sphère avec des paramètres par défaut :
mged> make sphere.s sph
La commande l
(« L » minuscule) permet de lister les paramètres de l'objet. Sa syntaxe est
l nom.s
par exemple
mged> l sphere.s
sphere.s: ellipsoid (ELL)
V (0, 0, 0)
A (500, 0, 0) mag=500
B (0, 500, 0) mag=500
C (0, 0, 500) mag=500
A direction cosines=(0, 90, 90)
A rotation angle=0, fallback angle=0
B direction cosines=(90, 0, 90)
B rotation angle=90, fallback angle=0
C direction cosines=(90, 90, 0)
C rotation angle=0, fallback angle=90
on voit que la sphère est en fait enregistrée comme une ellipsoïde — la sphère est d'ailleurs une ellipsoïde particulière.
On peut choisir une vue particulière :
- la commande
center
permet de définir le point placé au centre de la fenêtre ; il suffit d'indiquer les coordonnées de ce point séparés par un espace ; - la commande
ae
(azimuth, élévation) permet de définir les angles du point de vue ; il suffit d'indiquer les angles de cette orientation séparés par un espace.
Par exemple
mged> center 100 0 -50
mged> ae 25 95
place le point (100 ; 0 ; -50) au centre de la fenêtre, et place la caméra selon l'orientation (25 ° ; 95 °), c'est-à-dire azimuth θ = 25 ° et élévation δ = 95 °. Les vues standard sont :
- vue de face : (0 ° ; 0 °) ;
- vue de gauche : (90 ° ; 0 °) ;
- vue de derrière : (180 ° ; 0 °) ;
- vue de droite : (270 ° ; 0 °) ou (−90 ° ; 0 °) ;
- vue de dessus : (0 ° ; 90 °) ;
- vue de dessous : (180 ° ; 270 °) ou (180 ° ; −90 °).
Principales formes primitives
modifierInstruction | Type | Mnémotechnique | Paramètres | Remarques |
---|---|---|---|---|
arbn ( arb4 , arb5 , …) |
polyèdre convexe quelconque à n face | Arbitrary Convex Polyhedron | n sommets (vertex) | si n < 8, le solide est enregistré comme arb8
|
ell1 |
ellipsoïde de révolution | centre V (vertex), vecteur demi-grand axe, rayon | rayon : longueur d'un petit axe perpendiculaire au grand ; enregistré comme ell
| |
half |
demi-espace | Halfspace | vecteur normal au plan pointant vers l'extérieur, distance à l'origine | |
rcc |
cylindre standard | Right Circular Cylinder | centre de la base V (vertex), vecteur hauteur H | enregistré comme tgc , les vecteurs demi-axes sont de même longueur et sont perpendiculaires au vecteur hauteur
|
rec |
cylindre droit de section elliptique | Right Elliptical Cylinder | centre de la base V (vertex), vecteur hauteur, grand axe, petit axe | enregistré comme tgc
|
rpp |
parallélépipède rectangle | Rectangular Parallelepiped | 8 sommets (vertex) | enregistré comme arb8
|
sph |
sphère | Sphere | centre (vertex), rayon | enregistré comme ell
|
tec |
cône tronqué elliptique | Truncated Elliptical Cone | centre de la base V (vertex), vecteur hauteur H, vecteurs demi-axes de l'ellipse de base A et B, facteurs d'échelle pour l'autre face c et d | enregistré comme tgc
|
tor |
tore | Torus | centre V (vertex), vecteur d'axe, rayon du cercle moyen de l'anneau, rayon de la section droite | |
trc |
cône tronqué circulaire | Truncated Right Cone | centre de la base V (vertex), vecteur hauteur H, rayon de la base r, facteurs d'échelle pour l'autre face | enregistré comme tgc
|
Voir aussi
modifierNotes
modifier- ↑ clic droit sur les souris configurées pour droitier