Simple Canvas example

use arrow keys to update

xMin: xMax: xStep: cte1:
yMin: yMax: yStep: cte2:
zCenter: xCenter:

10 FOR X = 40 TO 215
20 LET MMAX=999: LET MMIN=0
30 FOR Y = 16 TO 144 STEP 4
40 LET R = SQR((X-127) * (X-127) + (Y-80) * (Y-80)) / 15
50 LET Z = INT(Y + 90 * EXP(-R/3) * COS(R))
60 IF Z < MMAX OR Z > MMIN THEN PLOT X,Z
70 IF Z < MMAX THEN LET MMAX=Z
80 IF Z > MMIN THEN LET MMIN=Z
90 NEXT Y
100 NEXT X

ponto (0,0) inferior esquerdo tela
(0,0) bottom left, (255,0) bottom right, (0,175) top left, (255,175) top right
plot (0,0) to (255, 175) = 45.056 pontos

R = SQR(X^2 + Y^2) / 15
Z = Y + 90 * e ^ (-R/3) * COS(R)

r = distancia do centro do plano X-Y ate o ponto desenhado
EXP( aexpr ) = raise "e" to number "aexpr"
e = 2.718281828459045
Math.exp ( x ) = e ^ x