CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

5/04 - Tracé de droites en BASICCoding Classeurs Weka

[INCOMPLET]

5/4 - Tracé de droites en BASIC

En BASIC, nous disposons de quatre instructions relatives au tracé de droites :
DRAW, DRAWR, GRAPHICS PEN et MASK.
DRAW < Abscisse>, < Ordonnée >[, < encre>[,]]

– < Abscisse > est compris entre 0 et 639,
– < Ordonnée > est compris entre 0 et 399.

Cet ordre permet de tracer un trait de la position courante du curseur graphique à la position absolue spécifiée.

DRAWR , [, < encre>[, < mode d'encre>]]
Cet ordre permet de tracer un trait de la position courante du curseur graphique à la position relative (par rapport au point courant) spécifiée.

Si la position courante du curseur graphique est X,Y, le trait prendra fin en X+ , Y+ .

GRAPHICS PEN [][, ]
Cet ordre n'existe pas sur CPC 464.

Si vous possédez un CPC 664 ou 6128, GRAPHICS PEN vous permettra de choisir une couleur de stylo (< encre >) pour dessiner, et la nature du fond de l'écran ( = 0 pour un fond opaque, et =  1 pour un fond transparent.)

MASK [][, ]
– est compris entre 0 et 255,
– < premier point tracé> vaut 0 ou 1.

Cet ordre permet de définir le mode de tracé des lignes fabriquées à partir des ordres DRAW ou DRAWR.

Le paramètre < entier > est un nombre sur 8 bits où chaque bit représente un pixel. Si un bit est à 1, le pixel correspondant est allumé. Le pixel est éteint si le bit est à zéro.

Si le paramètre < premier point trace > vaut 0, le premier point n'apparaîtra pas. Le premier point apparaîtra si ce paramètre vaut 1.

Pour illustrer

• le tracé de droites avec l'ordre DRAW,

• le positionnement du curseur avec l'ordre MOVE ou PLOT.

Nous vous proposons une série de programmes de tracé de courbes de type Y(t), X(t).

a) Courbes de Lissajous

10 CLS
20 FOR F = 0.2 TO 4 STEP 0.2 30 PLOT 490,200
40 A = 0
50 A = A + 0.1
60 DRAW 300+ 190*COS(A*F), 200+ 190*SIN(A)
70 IF INKEY$ = THEN 50
80 CLS
90 NEXT

b) Rectangles tournants

10 CLS:C = 1
15 PLOT 290,200
20 FOR I = 1 2 TO 600 STEP 8
30 A = 1/200
40 X = I*SIN(A)
50 Y = I*COS(A)
70 DRAW 300-Y,200 + X:DRAW 300 - X,200 - Y:DRAW 300 +Y,200 - X:DRAW 300 + X,200 + Y
80 NEXT

c) Spirales

1000 REM Spirales
1010 '
1020 CLS:INPUT"Nombre de cotes'';NC
1030 INPUT"lncrement entre deux cotes";IC
1040 INPUT"lncrement d'angle";IA
1050 DEG:CLS:C= 1:U = 0 'Cote initial et angle de départ
1060 MOVE 320,200
1070 'Boucle sans fin
1080 MOVE 320,200
1090 FOR N = 1 TO NC
1100 AN = (360/NC)* (N - 1 )
1110 X = C*COS(U + AN)
1120 Y = C*SIN(U + AN)
1130 DRAWR X,Y
1140 NEXT N
1150 C = C + IC:U = U + IA
1160 GOTO 1070

 

Page précédente : 5/03 - Déplacement du curseur graphique en BASIC

CPCrulez[Content Management System] v8.7-desktop
Page créée en 485 millisecondes et consultée 807 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.