IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Description of Objects in VPython

La boîte (box)

Sur le premier schéma, nous montrons un simple exemple de création d'une boîte:

mybox = box(pos=(x0,y0,z0), length=L, height=H, width=W)

La position donnée est le centre de la boîte (x0, y0, z0). C'est une différence avec le cylindre, dont l'attribut pos est une des extrémités du cylindre. Comme pour le cylindre, nous pouvons faire référence aux composantes vectorielles individuelles de la boîte comme mybox.x, mybox.y, et mybox.z. La longueur (le long de l'axe x) vaut L , la hauteur (le long de l'axe y) vaut H , et la largeur vaut W (le long de l'axe z). Pour cette boîte, nous avons mybox.axis = (L, 0, 0) . Notez que l'axe de la boîte est semblable à l'axe du cylindre.

Pour une boîte qui n'est pas alignée avec l'axe des coordonnées, des problèmes supplémentaires entrent en jeu. L'orientation de la longueur de la boîte est donnée par l'axe (voir le second schéma):

mybox = box(pos=(x0,y0,z0), axis=(a,b,c), length=L,
height=H, width=W)

L'attribut axis donne une direction pour la longueur de la boîte, et la longueur, la hauteur et la largeur de la boîte sont données comme avant (si l'attribut length n'est pas donné, la longueur est définie par la norme du vecteur axis).

Il reste à savoir comment orienter la boîte tournant autour de l'axe spécifié. La règle que Visual utilise est d'orienter la largeur soit dans le plan orthogonal à la direction "up" de l'affichage, qui est par défaut l'axe y. Cependant sur le schéma, vous voyez que la largeur est dans le plan x-z. La hauteur de la boîte est orientée perpendiculairement à la largeur et à l'axe spécifié de la boîte. Cela aide de penser à la longueur initialement comme allant le long de l'axe x, la hauteur le long de l'axe y, et la largeur le long de l'axe z, et quand l'axe est incliné, la largeur reste dans le plan x-z.

Vous pouvez tourner la boîte selon son propre axe en changeant le vecteur "up" de la boîte, en spécifiant un attribut up pour la boîte qui est différent du vecteur up du système de coordonnées:

mybox = box(pos=(x0,y0,z0), axis=(a,b,c), length=L,
height=H, width=W, up=(q,r,s))

Avec cette instruction, la largeur de la boîte sera dans le plan perpendiculaire au vecteur (q,r,s), et la hauteur de la boîte sera perpendiculaire à la largeur et au vecteur (a,b,c).

La boîte a les attributs suivants et des valeurs par défaut comme ceux du cylindre: pos (0,0,0), x (0), y(0), z(0), axis (1,0,0), length (1), color (1,1,1) qui est la couleur color.white, red (1), green (1), blue (1), et up (0,1,0). Attributs supplémentaires de la boîte:

height Dans la direction y dans les cas simples, par défaut vaut 1

width Dans la direction z dans les cas simples, par défaut vaut 1

size (longueur, hauteur, largeur), par défaut vaut (1,1,1)
myell.size=(20,10,12) définit length=20, height=10, width=12

Notez que l'attribut pos pour le cylindre, la flèche, le cône et la pyramide correspond à une des extrémités de l'objet, alors que pour la boîte, sphère ou anneau, il correspond au centre de l'objet.



Copyright © 2006 Guillaume et Yoann Duriaud. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.