Outils du site


script:compas

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
script:compas [28/04/2011 09:11] lzamoscript:compas [29/04/2011 15:40] (Version actuelle) lzamo
Ligne 4: Ligne 4:
  
 ===== Déplacement, apparition ===== ===== Déplacement, apparition =====
 +==== Afficher/masquer ====
 +
 Comme tous les instruments, le compas peut être masqué avec : Comme tous les instruments, le compas peut être masqué avec :
 <code XML><action objet="compas" mouvement="masquer" /></code> <code XML><action objet="compas" mouvement="masquer" /></code>
Ligne 11: Ligne 13:
 <code XML><action objet="compas" mouvement="montrer" abscisse="200" ordonnee="350" /></code> <code XML><action objet="compas" mouvement="montrer" abscisse="200" ordonnee="350" /></code>
 Les coordonnées du compas sont celles de l'extrémité de sa pointe. 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 : Le compas peut être déplacé jusqu'à un point en utilisant :
Ligne 23: Ligne 27:
 <action cible="1" mouvement="translation" objet="compas" /> <action cible="1" mouvement="translation" objet="compas" />
 </code> </code>
 +==== 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 :
 +<code XML>
 +<action mouvement="retourner" objet="compas" />
 +</code>
 +Si on "retourne" deux fois le compas, il retrouve sa configuration initiale.
  
 ===== Rotation ===== ===== 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''. 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.+''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°. 
 + 
 +{{   :script:rotation_compas.png   |}}
  
 ''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. ''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.
Ligne 33: Ligne 46:
 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. 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.
 <code xml> <code xml>
-<?xml version="1.0" encoding="UTF-8"?><INSTRUMENPOCHE version="2">+<?xml version="1.0" encoding="UTF-8"?> 
 +<INSTRUMENPOCHE version="2">
 <action mouvement="montrer" objet="compas" /> <action mouvement="montrer" objet="compas" />
 <action sens="5" angle="90" mouvement="rotation" objet="compas" /> <action sens="5" angle="90" mouvement="rotation" objet="compas" />
Ligne 39: Ligne 53:
 </code> </code>
  
-===== Ecartement =====+Si un [[:script: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** 
 +<code XML> 
 +<?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> 
 +</code> 
 + 
 +===== É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. 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.
  
Ligne 48: Ligne 74:
  
 Si ''ecart'' n'est pas un nombre compris entre 0 et 410, Instrumenpoche ignore ce mouvement. Si ''ecart'' n'est pas un nombre compris entre 0 et 410, Instrumenpoche ignore ce mouvement.
 +
 +Avec un [[:script: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**
 +<code XML>
 +<?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>
 +</code>
  
 ===== Tracé ===== ===== 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   ^
 +|   {{:interface:compas:compas_ouvert.png}}     {{:interface:compas:compas_tracant.png}}   |
 +|   <code XML><action mouvement="coucher" objet="compas" /></code>     <code XML><action mouvement="lever" objet="compas" /></code>   |
  
 +Un nœud permettant de tracer au compas doit préciser :
 +   * l'attribut ''mouvement'' égal à "tracer" ;
 +   * un attribut ''debut'' et un attribut ''fin'' 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 de ''debut'' jusqu'à ''fin'' ;
 +   * éventuellement, comme toutes les actions de tracé, les paramètres du trait : ''couleur'' et ''epaisseur''.
 +
 +**Exemples**
 +<code XML>
 +<?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>
 +</code>
 +va donner :
 +
 +{{   :script:compas_exemple1.png   |}}
 +
 +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'' :
 +
 +<code XML>
 +<?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>
 +</code>
 +
 +d'où la figure finale suivante :
 +
 +{{   :script:compas_exemple2.png   |}}
  
 ===== Voir aussi ===== ===== Voir aussi =====
-* [[http://instrumenpoche.sesamath.net/documentation_classes/CompasIep.html|La classe CompasIep.as]], pour les développeurs.+   * [[:interface:compas]] pour voir comment manipuler le compas avec la souris. 
 +   * [[http://instrumenpoche.sesamath.net/documentation_classes/CompasIep.html|La classe CompasIep]] présente les données à connaître pour programmer le compas depuis une autre application. 
script/compas.1303974663.txt.gz · Dernière modification : 28/04/2011 09:11 de lzamo