PREMIERS EXEMPLES


UNE SÉQUENCE COMPLÈTE
CALCULS EN INTERACTIF
UN PEU DE GRAPHIQUE 2D
UN PEU DE GRAPHIQUE 3D



















































UNE SÉQUENCE COMPLÈTE

Lancement du programme

       Sous Windows cliquer sur anyflo_no_gra.exe
       Le programme se lance et imprime quelques messages.
       L´interpreteur est alors prêt et attend une commande.

Premières manipulations

Taper:
       help;
La liste des commandes est affichée.
Taper
       help cos;
Imprime la description de la commande cos.
Taper
       $help(0)cos;
Imprime le contenu du fichier de cos.0.htm
Taper
       $help(1)vol;
Imprime le contenu du fichier vol.1.htm

Une autre méthode consiste à cliquer sur le fichier
       AIDE_ANYFLO.htm (aide sur la machine), ou
      
AIDE_ANYFLO_WEB.htm (aide en ligne: nécessite une connexion internet),
qui donnent accès au help en hypertexte.

Taper:
       demo for; La démonstration de la commande for est lancée

Taper:
       bye; Le message "A bientot!..." apparait et le programme est stoppé

CALCULS EN INTERACTIF

Calculs
Variables
Tableaux
Indices
Pointeurs

Calculs

Taper:
       1+2*3;
       Rien ne se passe
Taper:
       print(1+2*3);
       Le résultat 7 apparait
Taper:
       $(1+2*3);
       Le résultat 7 apparait: ´$´ est l´abréviation de ´print´
Taper:
       $1+2*3;
       Le résultat 7 apparait: on peut oublier des parenthèses s´il n´y a pas d´ambiguité.

Les variables

Taper:
       x=1+2*3;
       Rien ne se passe
Taper:
       $x;
       Le résultat 7 apparait: la variable x a été initialisée à la valeur 7
Taper:
       x=1,2,3,4,5;$x;
       Le résultat (1.0,2.0,3.0,4.0,5.0) apparait:
       Une variable peut aussi être un tableau.
Taper:
       x=[1,5];$x;
       Le résultat (1.0,2.0,3.0,4.0,5.0) apparait:
       Une suite de valeurs consécutives peut être définie par ses bornes.
Exercices:
       1) x=[5,1];$x;
       2) x=[10,100,10];$x;
Taper:
       x="toto";$x;
       Le résultat toto apparait:
Une variable peut aussi être une chaine de caracteres.
       3) Taper:
       x=[1,5],"ABCD",-1;
       Puis
       $x;
       Le résultat (1.2,2.0,3.0,4.0,5.0)(ABCD)(-1.0) apparait:
       Une variable peut être de type hybride.
Taper:
       x=1;y=2;z=3;$x+y*z;
       Le résultat 7 apparait.

Tableaux

Taper:
       x=[1,5];y=[6,10];$x+y;
       Le résultat (7.0,9.0,11.0,13.0,15.0) apparait:
       Les calculs sur les nombres sont étendus aux tableaux.
Taper:
       $x,y;
       Le résultat (1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0) apparait:
       La virgule est l´opérateur de concatenation.
Exercices:
       1) x=[1,5];$1+2*x;
       2) x=[1,5];y=[6,12];$x+2*y;
       3) $x,1+2*y;

Indices

Taper:
       x=[1,12];$x[0];
       Le résultat 1 apparait:
       x[i] retourne l´élément de rang i de la variable x.
Remarque:
       Les indices commencent à 0, ainsi x[3] retourne 4 et x[12] provoque une erreur (12: indice illegal).
Exercices:
       1) x=[1,12];$x[0,4];
       2) $x[4,0];
       3) x[0,4]=[14,10];$x;
       4) x=[1,12];x[0,5]=x[11,6];$x;
Taper:
       edit x;
       La variable x est imprimée comme liste de points 3D:
0: 1.0 2.0 3.0
1: 4.0 5.0 6.0
2: 7.0 8.0 9.0
3: 10.0 11.0 12.0
Taper:
       $x{0};
       Le résultat (1.0,2.0,3.0) apparait:
       x{i}; retourne les composantes du point de rang i de la variable x.
Remarque:
       Les indices commencent à 0, ainsi x{2}; retourne (7.0,8.0,9.0) et x{4}; provoque une erreur (4: indice illégal)
Exercices:
       1) x=[1,12];$x{0,3};
       2) $x{3,0};
       3) x{0,2}=x{3,2};$x;
       4) x=[1,12];x{0,4}=x{4,0};$x;

Pointeurs

Taper:
t=[0,5];p=@t;$p;
       p est l´adresse du tableau t.
Taper:
$p[2]; produit 2 qui est l´élément numéro 2 de t.
Taper:
edit(p[0,5]); produit:
       0.0 1.0 2.0
       3.0 4.0 5.0

UN PEU DE GRAPHIQUE 2D

       Cliquer sur anyflo_video.exe, une fenêtre graphic de taille vidéo s´ouvre, elle peut cacher la fenêtre texte, pour récuperer celle-ci enfoncer simultanement les touches Alt et Tab cliquer sur l´icone anyflo.exe.
Taper:
       screen;
       L´écran est effacé en bleu (par défaut couleur du fond).
Taper:
       screen 1,.7,.5;
       L´écran est effacé en jaune orange: les couleurs se définissent par leurs composantes (rouge,vert,bleu) normalisées entre 0.0 et 1.0
Taper:
       screen;
       L´écran est effacé en bleu: la couleur du fond n´a pas été changée.
Taper:
       back 1;screen;
       L´écran est effacé en rouge: la couleur du fond a été changée.
Taper:
       x=arc 100,0,2*PI,12;
       x est la ligne polygonale régulière de centre l´origine, de rayon 100, d´angle un tour et de 12 points.
       edit x; imprime les coordonnées de cette ligne polygonale
       screen;displ line(x);
       Efface l´écran et affiche la ligne polygonale x
Taper:
       segment(0,0,200,100)col(1,1,1);
       Un segment blanc joint les points (0,0) et (200,100). Le centre du repère de l´écran est son centre, l´axe des x est dirigé vers la droite et l´axe des y est dirigé vers le bas.
Taper:
       segment(0,0,200,-100)col(0,1,0)cut(3,3);
       Un segment vert joint en pointillé les points (0,0) et (200,-100).
Taper:
       frame(-100,-100,100,100)col 0,1;
       Un cadre vert est affiché.
Taper:
       rectangle(0,0,50,50)col 0,1,1;
       Un rectangle plein de couleur cyan est affiché
Exercices:
       1) screen 0;rectangle(0,0,50,50)col(1);
       2) screen 0,0,1;rectangle(50,50,-50,-50)col(1,1,1);
       3) Taper:
       demo pixel;
       demo segment;
       demo frame;
       demo rectangle;
       demo disk;
       demo text;

UN PEU DE GRAPHIQUE 3D

       Cliquer sur anyflo_see.exe, une fenêtre graphic de taille maximum s´ouvre, ainsi qu´une fenêtre (sur l´image) permettant de taper du texte.
Taper:
       ini ini vol;
       Tous les flags sont réinitialisés et tous les volumes détruits.
Taper:
       ball(1);
       Un volume de type ball est créé par défaut (rayon de 100, 6 sections en x, 3 sections en y, 18 facettes et 24 sommets). Ces paramètres sont visualisés par la commande:
       edit vol(1)
Taper:
       screen;displ vol
       L´écran est effacé et la boule est affichée en fil de fer.
Taper:
       ball(2)dim(200)secy(12);screen;displ vol(2);
       Une boule de rayon 200, 24 sections en x, 12 sections en y, 338 facettes et 364 sommets, est créée, puis affichée.
Taper:
       col vol(2)=1;yes illum;screen;displ vol(2);
       Le volume 2 prend la couleur rouge et est affiché en plein (mode flat).
Taper:
       illum vol(2)=2,1,.1,.1,0;screen;displ vol(2)
       Le volume 2 est affiché en plein avec lissage de Gouraud.