Page 1 sur 1

geo 2D et liste

Publié : mer. sept. 17, 2008 12:56 pm
par frederic han
J'ai une petite question:

Comment fait t'on pour afficher une liste d'objets deplacable a la souris:

Ex:
si je fais
L:=seq(point(j),j=1..3)
en mode geo2D, je ne sais pas deplacer un des points ni tout l'ensemble avec la souris.

Si j'utilise for, alors je ne vois que le dernier point, y a t'il un analogue de print pour le mode geo2d?

Re: geo 2D et liste

Publié : jeu. sept. 18, 2008 7:12 am
par parisse
frederic han a écrit :J'ai une petite question:

Comment fait t'on pour afficher une liste d'objets deplacable a la souris:

Ex:
si je fais
L:=seq(point(j),j=1..3)
en mode geo2D, je ne sais pas deplacer un des points ni tout l'ensemble avec la souris.
Ce n'est pas possible. Tu ne peux deplacer a la souris que des objets geometriques definis individuellement par une ligne de commande.
Si j'utilise for, alors je ne vois que le dernier point, y a t'il un analogue de print pour le mode geo2d?
Oui et non.
Chaque commande 2-d executee apparait dans la fenetre DispG (Cfg->Montrer->Montrer DispG), ce qui permet par exemple de programmer des dessins recursifs.
Par contre, n'apparait dans la fenetre graphique en-dessous d'une commande dans l'historique ou a cote d'une commande en geometrie que le resultat de l'evaluation. Si tu veux afficher des objets calcules dans une boucle for, tu dois initialiser une sequence a vide et y rajouter des objets au fur et a mesure puis evaluer cette sequence, en syntaxe xcas ca donnerait quelque chose comme:

Code : Tout sélectionner

res:=NULL;
for (...;...;...){
  ...
  res:=res,obj;
  ...
}
res;

Publié : jeu. sept. 18, 2008 8:52 am
par frederic han
OK, merci pour la reponse,

et si je fais creer un fichier contentant les lignes une par une:
Ex
point(1);
point(1+I);

Si je passe par le menu inserer la ca marche,
existe t'il une fonction qui fasse l'analogue du menu Fig>Insert?

Fred

Publié : jeu. sept. 18, 2008 9:04 am
par parisse
Non, parce que ca melange interface et noyau de calcul. Ce n'est pas impossible a faire, mais ca necessite une fonction qui est redefinie par l'interface et ce n'est pas tres propre.
Tu peux aussi par exemple taper (en syntaxe xcas
f:=fopen("example.cas");
for (j:=1;j<=10;j++){
fprint(f,Unquoted,"point(");
fprint(f,j);
fprint(f,Unquoted,");\n")
};
fclose(f);

Publié : jeu. sept. 18, 2008 9:17 am
par frederic han
OK merci

Fred