Page 1 of 1

changer aspect d'un point

Posted: Thu Sep 22, 2016 10:59 pm
by martinAcosta
Bonjour

J'aimerais controler depuis une expression l'etat visible ou caché d'un point, ainsi que l'activation de sa trace, si certaines conditions sont vraies.

Est-il possible? Des conseils?

Merci

Re: changer aspect d'un point

Posted: Mon Sep 26, 2016 6:23 pm
by monique31
Quelques idées, avec l'exemple de la médiatrice de A et B.
- On crée un point M quelconque
- puis un point P de coordonnées [x(M),y(M)], dont on active la trace.
- et on termine par le script suivant, attaché au point M, dans l'onglet "déplacé" :
Image

A tester ici :


Re: changer aspect d'un point

Posted: Sat Oct 01, 2016 3:09 pm
by martinAcosta
Merci Monique

Est-ce possible de faire cela avec une expression, sans utiliser le blockly?

Re: changer aspect d'un point

Posted: Tue Oct 11, 2016 11:19 am
by monique31
Oui, c'est tout à fait possible.
Ici on a créé deux expressions, E1 et E2 respectivement :

Code: Select all

abs(d(M,A)-d(M,B))<0.1

Code: Select all

P.setHidden(1-E1);"prog"

Bien évidemment, on aurait pu grouper ces deux expressions en une seule.
Et puis pour rendre cette expression définitivement invisible dans la fenêtre remplacer "prog" par la chaîne de caractères vide ""
La syntaxe pour ce genre d'expressions se trouve ici :

Code: Select all

A.setHidden(E1); "program" pour cacher/montrer : l'expression vaut 0 ou 1.
Poly1.setOpacity(E3); "program" pour jouer sur la transparence : l'expression est un décimal compris entre 0 et 1.
Poly1.setRGBColor(r,g,b); "program" pour choisir la couleur RGB : r, g et b sont des entiers entre 1 et 256.
S1.setPrecision(E5); "program" pour jouer sur la précision de l'affichage numérique : l'expression est un entier compris entre 0 et 10.
A.setFontSize(E6); "program" pour choisir la taille de la police : l'expression est un entier compris entre 6 et 60.
B.setShowName(E7); "program" pour afficher/cacher le nom : l'expression vaut 0 ou1.
S1.setSize(E9); "program" pour choisir l'épaisseur : l'expression est un décimal compris entre 0,5 et 25.
Poly1.setLayer(E8);"program" pour choisir un niveau de calque : l'expression est alors un nombre entier compris entre 0 et 10.
S1.setDashed(E1); "program" pour choisir le trait plein/pontillé : l'expression vaut 0 ou 1.
C.setxy(E8,C.gety()); "program" pour imposer l'abscisse d'un point (dans cet exemple l'ordonnée est inchangée).

Re: changer aspect d'un point

Posted: Thu Oct 13, 2016 10:59 am
by monique31
Petite correction à propos de la syntaxe du dernier post, relative au "cacher" des éléments. L'expression peut valoir 0, 1 ou 2 !
Le 2 correspond au "super-caché" : dans ce cas la bascule-gomme ne montre plus rien.

Code: Select all

E1.setHidden(2);"prog"

Code: Select all

A.setHidden(2);""
Voilà comment super-cacher très rapidement des éléments de la figure.

Re: changer aspect d'un point

Posted: Sat Oct 15, 2016 3:45 pm
by martinAcosta
Superb Monique, merci beaucoup.

Une derniere question:
Est il possible d'ajouter des commandes dans une meme expression, par exemple pour definir létat (visible/caché) de plusieurs points?
Je viens d'essayer en ecrivant P.setHidden(1-E1); Q.setHidden(1-E2); "prog", mais dgpad ne la reconnait pas...

Re: changer aspect d'un point

Posted: Sat Oct 15, 2016 7:24 pm
by monique31
Oui c'est possible de mettre de nombreuses commandes séparées pas des points-virgule, à condition de ne mettre aucun espace dans toute cette écriture. Il semblerait que tu en a mis, d'où le blocage.