Table des matières
Le compas
Cette page présente toutes les possibilités d'actions du compas dans un script Instrumenpoche. Ce sont les nœuds XML de la forme :
<action objet="compas" mouvement="..." ... />
Déplacement, apparition
Afficher/masquer
Comme tous les instruments, le compas peut être masqué avec :
<action objet="compas" mouvement="masquer" />
Il est montré avec :
<action objet="compas" mouvement="montrer" />
Il est possible de faire apparaître le compas à un autre endroit de la scène que celui qui est prévu par défaut en précisant les coordonnées de cet endroit, par exemple :
<action objet="compas" mouvement="montrer" abscisse="200" ordonnee="350" />
Les coordonnées du compas sont celles de l'extrémité de sa pointe.
Translation
Le compas peut être déplacé jusqu'à un point en utilisant :
<action objet="compas" mouvement="translation" abscisse="200" ordonnee="350" />
Un attribut vitesse
peut être précisé, il donne le nombre de pixels de déplacement du compas par dixième de seconde. La valeur par défaut est 8.
<action objet="compas" mouvement="translation" abscisse="200" ordonnee="350" vitesse="10" />
Si un point d'Instrumenpoche a été créé auparavant, on peut déplacer le compas jusqu'à ce point en utilisant l'attibut “cible” :
<action ordonnee="392.05" abscisse="113.45" couleur="noir" id="1" mouvement="creer" objet="point" /> <action mouvement="montrer" objet="compas" /> <action cible="1" mouvement="translation" objet="compas" />
Retourner
Par défaut, le compas s'ouvre vers la droite. On peut le “retourner” (lui faire subir une symétrie axiale) pour qu'il s'ouvre vers la gauche par :
<action mouvement="retourner" objet="compas" />
Si on “retourne” deux fois le compas, il retrouve sa configuration initiale.
Rotation
Le compas peut pivoter autour le l'extrémité de sa pointe. Dans ce cas, l'attribut mouvement
doit prendre la valeur “rotation”
et doit être accompagné de l'attribut angle
, et éventuellement de sens
.
angle
précise l'angle, mesuré en degrés, que formera le compas à la fin de la rotation avec la verticale, contrairement aux autres instruments pour lesquels l'angle est mesuré par rapport à l'horizontale. Cet angle est celui qui est formé par une demi-droite verticale tournée vers le haut et la bissectrice de l'angle formée par les deux branches du compas. Il faut se souvenir que, dans Instrumenpoche, le sens positif est celui des aiguilles d'une montre. Ainsi, sur la figure ci-dessous, le compas a été pivoté de 60°.
sens
précise à la fois le sens de rotation et sa vitesse : si sens
est positif, le compas tourne dans le sens des aiguilles d'une montre, et dans l'autre sens si sens
est négatif. La valeur absolue de sens
donne la vitesse de rotation, en degrés par dixième de seconde. Par défaut, sens
est égal à 5.
Le code ci-dessous montre le compas et le fait pivoter pour qu'il se trouve à l'horizontale, sa “tête” tournée vers la droite.
<?xml version="1.0" encoding="UTF-8"?> <INSTRUMENPOCHE version="2"> <action mouvement="montrer" objet="compas" /> <action sens="5" angle="90" mouvement="rotation" objet="compas" /> </INSTRUMENPOCHE>
Si un point a déjà été créé, on peut faire en sorte d'aligner la pointe et la mine du compas avec ce point, en utilisant l'attribut cible
:
Exemple
<?xml version="1.0" encoding="UTF-8"?> <INSTRUMENPOCHE version="2"> <action mouvement="montrer" objet="compas" /> <action ordonnee="333.7" abscisse="333.7" couleur="noir" id="1" mouvement="creer" objet="point" /> <action cible="1" mouvement="rotation" objet="compas" /> </INSTRUMENPOCHE>
Écartement
L'écartement du compas est modifié en utilisant mouvement=“ecarter”
et en ajoutant un attribut ecart
dont la valeur sera la distance voulue entre la pointe et la mine du compas, exprimée en pixels.
Par exemple, pour obtenir un écart de 6 cm (en considérant qu'un cm mesure trente pixels) :
<action ecart="180" mouvement="ecarter" objet="compas" />
Si ecart
n'est pas un nombre compris entre 0 et 410, Instrumenpoche ignore ce mouvement.
Avec un point déjà créé, on peut utiliser l'attribut cible
pour faire en sorte que l'écart entre la point et la mine soit égal à la distance entre la pointe du compas et le point. Cela ne règle que la distance, si on veut que la mine se déplace, il faut également régler la rotation.
Exemple
<?xml version="1.0" encoding="UTF-8"?> <INSTRUMENPOCHE version="2"> <action mouvement="montrer" objet="compas" /> <action ordonnee="333.7" abscisse="333.7" couleur="noir" id="1" mouvement="creer" objet="point" /> <action cible="1" mouvement="rotation" objet="compas" /> <action cible="1" mouvement="ecarter" objet="compas" /> </INSTRUMENPOCHE>
Tracé
Le compas admet deux positions : l'une où il est “levé” (en position de tracer) l'autre où “couché” (position normale, pour le déplacement). Elles sont données ci-dessous avec le script qui permet de les obtenir.
Compas couché | Compas levé, en train de tracer |
---|---|
<action mouvement="coucher" objet="compas" />
| <action mouvement="lever" objet="compas" />
|
Un nœud permettant de tracer au compas doit préciser :
- l'attribut
mouvement
égal à “tracer” ; - un attribut
debut
et un attributfin
qui donnent respectivement les angles que forment le début et la fin du tracé de l'arc de cercle tracé par rapport à l'horizontale ; on peut ici donner différentes mesures, par exemple, ajouter 360 àfin
fera en sorte que le compas fasse un tour supplémentaire ; - un attribut
sens
semblable à celui donné pour une rotation ; cependant ici,sens
ne donne que la vitesse angulaire de rotation en valeur absolue, pas le sens de rotation : le tracé se fait toujours dedebut
jusqu'àfin
; - éventuellement, comme toutes les actions de tracé, les paramètres du trait :
couleur
etepaisseur
.
Exemples
<?xml version="1.0" encoding="UTF-8"?> <INSTRUMENPOCHE version="2"> <action mouvement="montrer" objet="compas" /> <action ecart="200" mouvement="ecarter" objet="compas" /> <action mouvement="lever" objet="compas" /> <action sens="5" angle="-33.28" mouvement="rotation" objet="compas" /> <action couleur="noir" epaisseur="1" sens="-5" debut="0" fin="-90" id="1" mouvement="tracer" objet="compas" /> <action mouvement="coucher" objet="compas" /> </INSTRUMENPOCHE>
va donner :
Si on inverse debut
et fin
, l'arc de cercle tracé est le même, mais le compas se trouve, à la fin de l'animation, avec un angle de rotation égal à fin
:
<?xml version="1.0" encoding="UTF-8"?> <INSTRUMENPOCHE version="2"> <action mouvement="montrer" objet="compas" /> <action ecart="200" mouvement="ecarter" objet="compas" /> <action mouvement="lever" objet="compas" /> <action sens="5" angle="-33.28" mouvement="rotation" objet="compas" /> <action couleur="noir" epaisseur="1" sens="-5" fin="0" debut="-90" id="1" mouvement="tracer" objet="compas" /> <action mouvement="coucher" objet="compas" /> </INSTRUMENPOCHE>
d'où la figure finale suivante :
Voir aussi
- compas pour voir comment manipuler le compas avec la souris.
- La classe CompasIep présente les données à connaître pour programmer le compas depuis une autre application.