Il y a plusieurs types de graphiques: dans le plan (2-d), dans
l’espace (3-d), qui peuvent faire partie ou non d’une figure
géométrique. Pour créer les types de graphes les plus courants,
vous pouvez utiliser les assistants du menu Graphes qui
se chargera de créer un niveau avec une ligne de commande, de le
remplir et de le valider.
Ainsi une commande pour tracer un graphe de fonction :
plotfunc(sin(x),x=-5..5)
affichera un graphe 2-d (qui ne fait
pas partie d’une figure),
plotfunc(x^2-y^2,[x=-3..3,y=-4..4])
affichera un graphe 3-d (qui ne fait pas partie d’une figure).
Alors que le menu Geo->Nouvelle figure
permet d’ajouter un écran de
géométrie 2-d ou 3-d permettant de faire à la fois une figure
géométrique et des tracés de fonctions.
Chaque graphique dispose à sa droite de boutons permettant de changer la visualisation du graphique : déplacement selon les axes, zoom in et out, arrêt ou reprise d’une animation, configuration, ou d’exporter/imprimer le graphique. Les deux sous-sections qui suivent décrivent les réglages spécifiques au graphes dans le plan et dans l’espace, les deux sections qui suivent expliquent comment créer des figures dans le plan ou dans l’espace. Les sections décrivant les attributs des objets des figures 2-d et 3-d (13.6 et 14.3.2) peuvent être appliquées à la plupart des commandes de tracés même si elles ne font pas partie d’une figure, par exemple on peut saisir dans un niveau de calcul formel :
Les instructions animate
, animate3d
ou animation
permettent de créer des animations en
faisant défiler à l’écran une suite de graphe. Le bouton
à gauche du M
permet d’arrêter ou reprendre une animation
(raccourci clavier: p pour pause). Pour afficher une image en avant
on utilise le raccourci clavier n ou on clique dans le graphe en 3-d.
Pour revenir d’une image en arrière, on utilise
la touche b. On peut configurer le temps entre 2 images en cliquant
sur le bouton cfg
(et remplir la case animate
).
Le bouton M
permet aussi de créer une animation automatiquement pour
des graphes qui dependent d’un paramètre : dans ce cas il faut choisir :
M-Enlever le graphe
puis M-Creer animation
pour que le graphe
initial ne se superpose pas avec l’animation. Pour créer l’animation (on vous
demande combien vous voulez d’images (frame) différentes), le temps
entre 2 images est toujours définie dans cfg->animate.
Il ne faut pas confondre ces animations programmées avec les
animations de rotation des graphes 3-d (cf. la section 12.3.4).
On peut effectuer un zoom sur une zone rectangulaire d’un graphe n’appartenant pas à une figure en sélectionnant le rectangle avec le bouton droit de la souris.
Lorsqu’un niveau graphique a le focus, la molette de la souris permet de faire un zoom avant ou arrière.
Pour les graphes dans l’espace, on peut choisir entre une
représentation en perspective ou en projection orthogonale (dont on
peut modifier le point de vue) et entre
une visualisation en couleurs intrinsèques ou par éclairage
par 1 à 8 spots lumineux dont on peut controler la position et
les propriétés.
On peut choisir d’avoir les axes avec le tri‘edre et le plan de la souris en
cochant Montrer les axes ou d’avoir justr le trièdre en décochant
Montrer les axes et en cochant Triedre ou de ne rien avoie en
décochant Montrer les axes et Triedre.
Pour les graphes dans l’espace, on peut changer le point de vue en appuyant sur la souris en-dehors du parallélépipède de visualisation et en déplaçant la souris, ou avec les touches x,X, y,Y, z,Z pour faire tourner le point de vue autour de l’axe des x, y ou z.
L’axe de vision est une droite passant par l’observateur et de vecteur directeur la direction de la visée de l’objet : tous les points situés sur une parallèle à l’axe de vision seront représentés par un seul point.
Le plan de vision est un plan perpendiculaire à l’axe de vision et dont l’équation est inscrite en haut de l’écran. On peut le faire bouger le long de l’axe de vision grâce à la molette de la souris : les plans successifs sont obtenus par une translation de vecteur parallèle à l’axe de vision.
Attention
Si le repère est orthonormé et si le plan de vision a pour équation :
ax+by+cz=d |
l’axe de vision est dirigée selon le vecteur [a,b,c] mais si le repère n’est pas orthonormé ce n’est plus vrai!!!!
L’orientation du plan de vision peut être modifiée en changeant l’axe de vision comme expliqué ci-dessus. On peut aussi en tournant la molette de la souris faire bouger le plan de vision par translation le long de l’axe de vision : cela permet d’obtenir successivement des plans parallèles entre eux et perpendiculaires à l’axe de vision.
On peut aussi indiquer dans cfg
l’équation du plan
de vision.
Attention
Dans une figure 3-d, lorsqu’on déplace un point en mode
Pointeur à l’aide de la molette de
la souris, ce point reste dans le plan de vision, donc cela permet aussi de
translater le plan de vision.
Xcas permet d’effectuer une animation par rotation du point de vue
autour d’un axe passant par l’origine du repère. L’angle de rotation varie
d’un tour en un nombre de pas configurable, de même que l’intervalle
de temps entre 2 images successives. Tous ces paramètres sont
configurables dans l’écran que l’on fait apparaitre en
cliquant sur cfg
en bas à droite du graphe 3-d, à la ligne
commençant par Anim
, plus précisément :
Anim
: est un entier qui indique le type d’animation,
la mise à 1 du bit 8 de cet entier indique que la rotation s’effectue sur
le point de vue, la mise à 1 des bits 0 à 7 de cet entier
indique que la rotation s’effectue
sur les spots 0 à 7. La valeur par défaut est 256, c’est-à-dire que
seul le point de vue change. La valeur 255 permet de simuler
une rotation de tous les spots illuminant un objet. La valeur 1
permet de simuler une rotation du spot 1 illuminant un objet, par
exemple si cet objet est une sphère centrée en l’origine
représentant la Terre,
on peut simuler la rotation apparente du Soleil
pendant une journée en prenant pour axe l’axe de rotation de la sphère.
t
: intervalle de temps entre 2 images
n
: nombre d’images générées en un tour
x
, y
, z
: coordonnées de l’axe de rotation.
Ces valeurs peuvent être programmées par l’instruction
gl_rotation_axis=[x,y,z]
où x,y,z
sont
des valeurs numériques.
d
: normalement 0, peut servir à changer le numéro
d’image d’une animation
entre 2 images d’une animation
de rotation.
Le lancement de l’animation de rotation se fait par le M
du graphe, sous-menu 3-d ou par le raccourci clavier r.
Attention
Il ne faut pas confondre ce type d’animation avec les animations
obtenus par les instructions animate
, animate3d
ou animation
.
Dans la configuration d’un graphe 3-d (bouton cfg en bas à droite
de la figure), on peut cocher l’option Lights
. Dans ce cas,
au lieu de visualiser des objets émettant une couleur intrinsèque,
on va éclairer les objets avec un ou plusieurs spots lumineux. Ces
spots sont numérotés de 1 à 8 et peuvent être configurés avec les
boutons l1 à l8. Nous allons décrire brièvement dans cette section ce
type de visualisation, le lecteur souhaitant appronfondir pourra
se référer à la documentation d’OpenGL.
Il y a 2 types de spot: positionnel si w=1 et directionnel si w=0 (pour une lumière à l’infini, par exemple du Soleil). Chaque objet a des propriétés vis-à-vis de trois type de lumière: ambiante (sans direction privilégiée), diffuse (émise dans la direction spot-objet, diffusée dans toutes les directions, éventuellement atténuée selon la distance spot-objet et l’angle entre la direction du spot et la direction spot-objet), spéculaire (réémise préférentiellement dans la direction objet-spot). De plus un objet peut lui-même émettre de la lumière (propriétés d’émission).
exp
est un entier, c’est un coefficient permettant de régler
l’atténuation de la lumière. Plus précisément il s’agit de
l’exposant du cosinus de l’angle α entre la direction du spot
et la direction spot-objet éclairé,
il n’y a pas d’atténuation si w=0), on utilise 0 ou 1 ou plus selon
que l’on souhaite un spot moins ou plus focalisé,
cutoff
permet de régler l’angle θ du cône (d’axe
la direction du spot) où le spot
envoie de la lumière, il vaut 180 si le spot est isotrope
(émet identiquement dans toutes les directions)
ou une valeur entre 0 et 90 en degrés sinon, dans ce cas aucune
lumière n’est reçue si l’angle α est supérieur à θ.
att0
à att2
permettent d’atténuer
la lumière d’un spot positionnel
en fonction de la distance d spot-objet, en la multipliant par
|
Finalement, sur chaque canal de couleur, la luminosité est obtenue par la formule :
|
où :
Si on ne coche pas l’option Blend (pas de transparence), les objets situés devant d’autres objets les masquent complètement. Si on coche l’option Blend, la valeur du canal a (alpha=transparence) est utilisée pour composer la luminance des objets précédents avec celle de l’objet représenté ensuite. Enfin, l’option Gouraud permet de lisser la représentation des surfaces par des facettes (ce sont des facettes quadrangulaires sauf pour les surfaces implicites qui sont triangulées).
Retour à la page personnelle de Bernard Parisse.