à dessiner des chapeaux
Modérateur : Politburo
Re: à dessiner des chapeaux
En fait, tu dois avoir un tableau aussi grand qu'il y a de points dans une "ligne"?
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: à dessiner des chapeaux
C'est bien cela:
DIM Y%(319) pour mémoriser l'ordonnée la plus basse de x%=0 à x%=319 inclus
DIM Y%(319) pour mémoriser l'ordonnée la plus basse de x%=0 à x%=319 inclus
Je vais méditer cette suggestion qui me parait bien sensée !bernouilli92 a écrit : ↑07 mars 2018 00:02 Pourquoi ne pas juste avoir un tableau Y qui contient les coordonnées Y des points les plus hauts tracés et ensuite n'afficher le point que s'il est plus haut que la valeur correspondante dans Y.
Mais il faut commencer le tracé par l'avant et aller vers l'arrière.
De cette manière, il n'est pas nécessaire d'effacer des points, il suffit juste de ne pas les dessiner.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
C'est marrant, tu as un bout de chapeau en plus que le calcul sur Apple II, sans changer les bornes ??
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: à dessiner des chapeaux
Remarque pertinente, je viens de me rendre compte que j'avais arrondi les bornes comme s'il s'agissait d'angles en degré, mais comme l'Apple, le Commodore trigone en radian.
D'où le début "bourrelet supplémentaire" !
Mais j'ai eut du mal à trouver le problème et faire disparaître ce "bourrelet".
En effet, même en prenant des variables au format flottant et en suivant rigoureusement les coefficients utilisés dans le code original, je n'obtenais pas le bon résultat.
J'ai d'abord suspecté une erreur dans le calcul de T (XT sur l'original). Mais non. Puis une erreur d'intervalle pour la boucle sur I. Notamment lors du calcul (ou de l'arrondi de L% (XL sur Apple). Mais non !
Le problème provient surtout de F (v.o. XF) et même en utilisant 4.71238905 ça ne colle pas, je n'obtient pas exactement la forme du chapeau original. J'en étais à suspecter un disfonctionnement des fonctions SIN() qui ne sont pas très bonne sur C=. C'est alors que je me suis souvenu d'une discussion ancienne initié par ben qui se plaignait, à juste titre, des mauvais calcul avec nombre fractionnaires sur les C= 8 bits!
C'est bien ça, le défaut vient des erreurs de calculs que produisent l'utilisation d'un facteur F que mon pauvre Commodore ne peut pas bien représenter un mémoire. D'où une erreur systémique qui surestime T est fait donc apparaître le "bourrelet supplémentaire".
En arrondissant F à 0.032 (qui est un nombre rond pour la représentation interne d'un CBM) au lieur de 5/139 ou même 4.71238905/139, les calculs de T sont bien plus justes (en fait moins faux - rappelons nous que nous tentons de faire des calculs sur un Commodore C= !! ) et j'obtient un chapeau "conforme" à l'original.
Je teste cela à l'instant, il suffit de très peu de modifications en fait.bernouilli92 a écrit : ↑07 mars 2018 00:02 [...]De cette manière, il n'est pas nécessaire d'effacer des points, il suffit juste de ne pas les dessiner.
Code : Tout sélectionner
10 dim y%(319) : color 0,1 : color 1,14 : color 4,1 : graphic 1,1 : slow
20 for z=-64 to 64 : z%=5*z*z : l%=sqr(20736-z%)
30 : for i=-l% to l% : t=5*sqr(i*i+z%)/139 : y=(sin(t)+sin(3*t)*.4)*56
40 : : x%=i-z+160 : y%=90-y-z : if y%<y%(x%) or y%(x%)=0 then y%(x%)=y% : draw 1,x%,y%
50 next i,z
J'en profite pour passer en mode 4 Mhz avec la commande FAST. L'affichage de chapeau disparaît pendant le tracé. Mais réapparait a près 40 bonnes minutes.
En restant en mode SLOW, on peut profiter de l'apparition très lente du chapeau, mais dans ce sens, le tracé est moins hypnotique car non-continu. et on se demande parfois pourquoi rien n'apparait pendant de longues minutes.
Il faut en effet 1h32 pour finir le dessin. Donc l'astuce, qui évite d'effacer, ne fait gagner que 10 min. Et fait perdre le plaisir langoureux de voir chaque strates apparaitre et s'éclipser sous la strate suivante.
D'où d'ailleurs ma version "aveugle" en mode FAST, dont je donne ici la version "chapeau conforme" où F est arrondi comme expliqué ci-dessus:
Code : Tout sélectionner
10 fast : dim y%(319) : color0,1 : color1,14 : color4,16 : graphic1,1 : for i=0 to 319 : y%(i)=200 : next : f=.032
20 for z=-64 to 64 : z%=5*z*z : l%=sqr(20480-z%) : for i=-l% to l% : t=f*sqr(i*i+z%) : y=56*(sin(t)+.4*sin(3*t))
30 x%=160+i-z : y%=90-y-z : if y%<y%(x%) then y%(x%)=y% : draw 1,x%,y%
40 next i,z : color4,1 : slow
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
Une version Apple II. ca ne trace pas le chapeau, mais c'est très paramètrable. D'ailleurs, c'est quoi, les equations du chapeau ?
Source: Microcomputer Graphics for Apple II, un bon bouquin. Qui n'existe pas en PDF, si quelqu'un l'a et peut le scanner, la communauté vous remercie.
Source: Microcomputer Graphics for Apple II, un bon bouquin. Qui n'existe pas en PDF, si quelqu'un l'a et peut le scanner, la communauté vous remercie.
1 REM PROGRAM 7.6 (HIDDEN LINES)
2 REM HIDDEN LINE ELIMINATION FOR SURFACES: Z=F(X,Y)
10 REM INITIALIZATION
20 HGR2 : HCOLOR= 3:RHO = 30:THETA = .4:PHI = 1.25:D = 420:CX = 140:CY = 96
30 S1 = SIN (THETA):C1 = COS (THETA)
40 S2 = SIN (PHI):C2 = COS (PHI)
50 DEF FN Z(X) = 7 * EXP ( - .1 * (X ^ 2 + Y ^ 2))
60 DIM YN(280),YX(280)
70 FOR I = 0 TO 279:YN(I) = 191: NEXT I
80 REM POINT GENERATING LOOP
90 FOR X = 8 TO - 8 STEP - 1
100 FL = 0
110 FOR Y = - 8 TO 8 STEP .5
120 Z = FN Z(X)
130 GOSUB 190
140 NEXT Y,X
150 HCOLOR= 2
160 HPLOT 0,0 TO 278,0 TO 278,191 TO 0,191 TO 0,0
170 END
180 REM PLOTTING SUBROUTINE
190 XE = - X * S1 + Y * C1
200 YE = - X * C1 * C2 - Y * S1 * C2 + Z * S2
210 ZE = - X * S2 * C1 - Y * S2 * S1 - Z * C2 + RHO
220 SX = D * (XE / ZE) + CX
230 SY = - D * (YE / ZE) + CY
240 IF FL = 0 THEN FL = 1:F = 0: GOTO 360
250 DX = OX - SX: IF DX = 0 THEN DX = 1
260 SL = (OY - SY) / DX:YP = OY
270 FOR XP = INT (OX) + 1 TO SX
280 FG = 1
290 YP = YP + SL
300 IF XP < 0 OR XP > 279 THEN FG = 0:F = 0: GOTO 350
310 IF YP > 191 OR YP < 0 THEN FG = 0:F = 0
320 IF YP < = YN(XP) THEN 370
330 IF YP > = YX(XP) THEN 420
340 F = 0
350 NEXT XP
360 OX = SX:OY = SY: RETURN
370 YN(XP) = YP
380 IF FG = 0 THEN 410
390 IF F = 0 THEN HPLOT XP,YP:F = 1
400 HPLOT TO XP,YP
410 IF YP < YX(XP) THEN 350
420 YX(XP) = YP
430 IF FG = 0 THEN 460
440 IF F = 0 THEN HPLOT XP,YP:F = 1
450 HPLOT TO XP,YP
460 GOTO 350
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Re: à dessiner des chapeaux
Sympa le programme!
Quelques petites adaptations pour le faire tourner sur le C-128
Quelques petites adaptations pour le faire tourner sur le C-128
Code : Tout sélectionner
1 rem program 7.6 (hidden lines)
2 rem hidden line elimination for surfaces: z=f(x,y)
10 rem initialization
20 graphic 1,1:color 0,1:color 4,1:color 1,6:rho=30:theta=.4:phi=1.25:d=420:cx=1
60:cy=110
30 s1=sin(theta):c1=cos(theta)
40 s2=sin(phi):c2=cos(phi)
50 def fn z(x)=7*exp(-.1*(x^2+y^2))
60 dim yn(320),yx(320)
70 for i=0 to 319:yn(i)=191:next i
80 rem point generating loop
90 for x=8 to -8 step -1
100 fl=0
110 for y=-8 to 8 step .5
120 z = fn z(x)
130 gosub 190
140 next y,x
160 draw 1,0,0 to 319,0 to 319,199 to 0,199 to 0,0
170 end
180 rem plotting subroutine
190 xe=-x*s1+y*c1
200 ye=-x*c1*c2-y*s1*c2+z*s2
210 ze=-x*s2*c1-y*s2*s1-z*c2+rho
220 sx=d*(xe/ze)+cx
230 sy=-d*(ye/ze)+cy
240 if fl=0 then fl=1:f=0:goto 360
250 dx=ox-sx:if dx=0 then dx=1
260 sl=(oy-sy)/dx:yp=oy
270 for xp=int(ox)+1 to sx
280 fg=1
290 yp=yp+sl
300 if xp<0 or xp>319 then fg=0:f=0: goto 350
310 if yp>199 or yp<0 then fg = 0:f = 0
320 if yp<=yn(xp) then 370
330 if yp>=yx(xp) then 420
340 f=0
350 next xp
360 ox=sx:oy=sy:return
370 yn(xp)=yp
380 if fg=0 then 410
390 if f=0 then draw 1,xp,yp:f=1
400 draw 1 to xp,yp
310 if yp>199 or yp<0 then fg = 0:f = 0
320 if yp<=yn(xp) then 370
330 if yp>=yx(xp) then 420
340 f=0
350 next xp
360 ox=sx:oy=sy:return
370 yn(xp)=yp
380 if fg=0 then 410
390 if f=0 then draw 1,xp,yp:f=1
400 draw 1 to xp,yp
410 if yp<yx(xp) then 350
420 yx(xp)=yp
430 if fg=0 then 460
440 if f=0 then draw 1 to xp,yp:f=1
450 draw 1 to xp,yp
460 goto 350
Re: à dessiner des chapeaux
Il faut un peu tâtonner avec le programme de jvernet
Si on ressert un peu les lignes Le C128 met plus de 3h pour le tracer en mode slow
Si on ressert un peu les lignes Le C128 met plus de 3h pour le tracer en mode slow
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
Tu peux jouer sur D (distance), PHI, THETA et RHO les angles de rotation. L'algorithme de face caché n'est toutefois pas optimal (voir en bas à droite de ton graph). Ou si en jouant sur les angles, tu "retourne" la figure: marche plus !
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
Un joli tracé sur mon Core i3 en QBASIC64, 800x600. temps de calcul inferieur au dixième de seconde
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Re: à dessiner des chapeaux
Ah oui, mais sur un I3! Moi, j'en suis encore au 8502
Tu publies la source QB?
Tu publies la source QB?
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
Version QB (QuickBasic, QB45 compilé, QB64) un peu pourrie
Une version en Turbo C pour Atari ST bientot
Une version en Turbo C pour Atari ST bientot
Code : Tout sélectionner
REM PROGRAM 7.6 (HIDDEN LINES)
REM HIDDEN LINE ELIMINATION FOR SURFACES: Z=F(X,Y)
REM INITIALIZATION
DECLARE FUNCTION zdx! (x!, y!)
DIM SHARED SCLARG, SCHAUT AS INTEGER
SCREEN 12: SCLARG = 640: SCHAUT = 480
DIM SHARED YN(SCLARG), YX(SCLARG) AS INTEGER
DIM SHARED S1, S2, C1, C2 AS SINGLE
DIM RHO, THETA, PHI AS SINGLE
DIM I AS INTEGER
DIM x, y, z AS SINGLE
COUL = 12
RHO = 30: THETA = .5: PHI = 1
D = 800: CX = SCLARG / 2: CY = SCHAUT / 2
REM POINT GENERATING LOOP
S1 = SIN(THETA): C1 = COS(THETA)
S2 = SIN(PHI): C2 = COS(PHI)
CLS
FOR I = 0 TO SCLARG - 1: YN(I) = SCHAUT - 1: NEXT I
FOR x = 8 TO -8 STEP -.2
FL = 0
FOR y = -8 TO 8 STEP .1
z = zdx(x, y)
REM 7 * EXP(-.1 * (x ^ 2 + y ^ 2))
GOSUB 190
NEXT y, x
LINE (1, 1)-(SCLARG - 1, SCHAUT - 1), 15, B
END
REM PLOTTING SUBROUTINE
190 XE = -x * S1 + y * C1
YE = -x * C1 * C2 - y * S1 * C2 + z * S2
ze = -x * S2 * C1 - y * S2 * S1 - z * C2 + RHO
SX = D * (XE / ze) + CX
SY = -D * (YE / ze) + CY
IF FL = 0 THEN FL = 1: F = 0: GOTO 360
DX = OX - SX: IF DX = 0 THEN DX = 1
SL = (OY - SY) / DX: YP = OY
270 FOR XP = INT(OX) + 1 TO SX
FG = 1
YP = YP + SL
IF XP < 0 OR XP > SCLARG - 1 THEN FG = 0: F = 0: GOTO 350
IF YP > SCHAUT - 1 OR YP < 0 THEN FG = 0: F = 0
IF YP <= YN(XP) THEN 370
IF YP >= YX(XP) THEN 420
F = 0
350 NEXT XP
360 OX = SX: OY = SY: RETURN
370 YN(XP) = YP
380 IF FG = 0 THEN 410
390 IF F = 0 THEN PSET (XP, YP), COUL: F = 1
400 LINE -(XP, YP), COUL
410 IF YP < YX(XP) THEN 350
420 YX(XP) = YP
430 IF FG = 0 THEN 460
440 IF F = 0 THEN PSET (XP, YP), COUL: F = 1
450 LINE -(XP, YP), COUL
460 GOTO 350
FUNCTION zdx (x, y)
REM zdx = 7 * EXP(-.1 * (x ^ 2 + y ^ 2))
zdx = SIN(2 * (x * x + y * y) ^ (.5))
END FUNCTION
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Re: à dessiner des chapeaux
Est-ce qu'il y aurait moyen de faire une version Amiga avec l'AmigaBASIC ? Il y a les fonctions nécessaire ? N'étant pas un grand spécialiste de l'Amiga.
- jvernet
- Fonctionne à 14400 bauds
- Messages : 7958
- Enregistré le : 24 mai 2002 09:57
- Localisation : France 69
- Contact :
Re: à dessiner des chapeaux
Sûrement! Connais pas du tout.
"l'ordinateur et l'homme sont les deux opposés les plus intégraux qui existent. L'homme est lent, peu rigoureux et très intuitif. L'ordinateur est super rapide, très rigoureux et complètement con."
Re: à dessiner des chapeaux
La commande Screen 12, ça donne du 640*480, non?
Sur le I5, on ne voit même pas que ça se dessine, j'ai du mettre la 2e boucle avec un step de 0.0005 pour voir quelque chose.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: à dessiner des chapeaux
Pour la version Amiga, je ne sais pas.
Mais je trouve ces derniers programmes bien sympa, en particulier l'étape utilisant la projection 3D de coordonnée (Xe Ye Ze) bien astucieuse.
par contre le code dessinant ou traçant les lignes est très mal foutu, un vrai code spaghetti, bien typique.
J'ai remis un peu d'ordre dans tout cela et j'en ait profité pour mettre les paramètres modifiable avant la ligne 10 comme cela j'ai juste à faire LIST-9 pour facilement les modifier.
L'avantage de cette version est de pouvoir choisir :
- les intervalles à dessiner [ XA XB ] et [ Ya YB] ainsi que la densité des points (NX% et NY% )
- la position de la caméra (RHo THéta et PHi
- le niveau de zoom DD% et les coordonnées pixels du centre de la figure XX% et YY%
- Deux options de rendu CC% qui permet d'éteindre des lignes et colonnes à intervalle régulière (multiple de 2) et mettre en épais les abscisse et coordonnées entières
En jouant avec ces paramètre, on obtient soit le même graphique que ceux de Ben, soit des effets de textures ou un tracé plus rigoureux indiquant avec plus ou moins de contraste les axes entiers.
Je vous donne le listing (qui n'est pas TOP-SECRET car ne contient pas de PEEK/POKE/WAIT ou SYS
Mais c'est dommage, car ce n'est pas rapide
Heureusement on peut faire des essais avec peu de points !
C'est le même programme (ou presque) que celui que ben et jvernet et moi utilisons ci-dessus.
C'est jusque que j'ai un peu rangé les instructions, ordonné les numéros de lignes et évité les répétitions de codes et un bon nombre de GOTOs.
Autre différence aussi, il n'y a plus d'instruction DRAW TO c'est à dire plus de tracé de ligne continue. L'idée est de maitriser via les argument NX% et NY% l'apparition des lignes, des points ou de texture plus ou moins denses afin de créer différents effets de "surface"
Mais je trouve ces derniers programmes bien sympa, en particulier l'étape utilisant la projection 3D de coordonnée (Xe Ye Ze) bien astucieuse.
par contre le code dessinant ou traçant les lignes est très mal foutu, un vrai code spaghetti, bien typique.
J'ai remis un peu d'ordre dans tout cela et j'en ait profité pour mettre les paramètres modifiable avant la ligne 10 comme cela j'ai juste à faire LIST-9 pour facilement les modifier.
L'avantage de cette version est de pouvoir choisir :
- les intervalles à dessiner [ XA XB ] et [ Ya YB] ainsi que la densité des points (NX% et NY% )
- la position de la caméra (RHo THéta et PHi
- le niveau de zoom DD% et les coordonnées pixels du centre de la figure XX% et YY%
- Deux options de rendu CC% qui permet d'éteindre des lignes et colonnes à intervalle régulière (multiple de 2) et mettre en épais les abscisse et coordonnées entières
En jouant avec ces paramètre, on obtient soit le même graphique que ceux de Ben, soit des effets de textures ou un tracé plus rigoureux indiquant avec plus ou moins de contraste les axes entiers.
Je vous donne le listing (qui n'est pas TOP-SECRET car ne contient pas de PEEK/POKE/WAIT ou SYS
Mais c'est dommage, car ce n'est pas rapide
Heureusement on peut faire des essais avec peu de points !
Code : Tout sélectionner
1 DEF FN Z(X)=7*EXP(-(X*X+Y*Y)/10)
2 XA=-8 : XB=+8 : NX%=40 : YA=-8 : YB=+8 : NY%=40
3 RH=30 : TH=.4 : PH= 1.25 : DD%=420 : XX%=180 : YY%=110
4 CC%=0 : WW%=1
5 :
rem ---------------------- INITIALIZE ----------------------
10 COLOR 0,1 : COLOR 4,1 : COLOR 1,2 : GRAPHIC 1,1 : SLOW : DIM YA%(319),YB%(319)
20 C1=COS(TH) : S1=SIN(TH) : C2=COS(PH) : S2=SIN(PH) : UX=(XB-XA)/NX% : UY=(YB-YA)/NY%
30 FOR P=0 TO 319 : YA%(P)=200 : NEXT P
rem ---------------------- MAIN LOOP ----------------------
50 FOR I=0 TO NX% : X=XB-I*UX
60 : FOR J=0 TO NY% : Y=YA+J*UY
70 : : Z=FNZ(X) : GOSUB100
80 NEXT J,I
rem ---------------------- BOX and END ----------------------
90 BOX 1,0,0,319,199 : LIST -9 : END
100 REM --------------- COMPUTE C% X% Y% (3D XE YE ZE) ----------------------
110 XE=Y*C1-X*S1 : YE=Z*S2-Y*S1*C2-X*C1*C2 : ZE=RH-Z*C2-Y*S1*S2-X*C1*S2
120 X%=XX%+DD%*(XE/ZE) : Y%=YY%-DD%*(YE/ZE)
130 IF CC% THEN C%=SGN((I AND CC%)*(J AND CC%)) : ELSE C%=1
140 WIDTH 1:IF WW% THEN IF ABS(X-INT(X))<.02 OR ABS(Y-INT(Y))<.02 THEN WIDTH 2
200 REM -------------- DRAW (C%) AT X% Y% ----------------------
210 IF X%<0 OR X%>319 THEN RETURN
220 IF Y%<YA%(X%) OR Y%>YB%(X%) THEN DRAW C%,X%,Y% : ELSE 410
300 REM -------------- UPGRADE DRAWING LIMITS YA%() & YB%() ------------------
310 I%=X% : J%=Y% : K%=0 : IF AX%<>X% THEN P=(Y%-AY%)/(X%-AX%) : ELSE P=0
320 DO
330 : IF J%<YA%(I%) THEN YA%(I%)=J%
340 : IF J%>YB%(I%) THEN YB%(I%)=J%
350 : K%=K%+1 : I%=X%-K% : J%=Y%-P*K%
360 LOOP WHILE I%>AX%
400 REM ---------------MEMORIZE LAST POS ----------------------
410 AX%=X%:AY%=Y%:RETURN
C'est jusque que j'ai un peu rangé les instructions, ordonné les numéros de lignes et évité les répétitions de codes et un bon nombre de GOTOs.
Autre différence aussi, il n'y a plus d'instruction DRAW TO c'est à dire plus de tracé de ligne continue. L'idée est de maitriser via les argument NX% et NY% l'apparition des lignes, des points ou de texture plus ou moins denses afin de créer différents effets de "surface"
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.