-DECLARE SUB sc10 ()\r
-DECLARE SUB sc9 ()\r
-DECLARE SUB sc8 ()\r
-DECLARE SUB sc7 ()\r
-DECLARE SUB sc6 ()\r
-DECLARE SUB inpur ()\r
-DECLARE SUB sc5 ()\r
-DECLARE SUB box (x1!, y1!, x2!, y2!)\r
-DECLARE SUB pri (x!, y!, s!, c!, a$)\r
-DECLARE SUB getfnt ()\r
-DECLARE SUB sc4 ()\r
-DECLARE SUB mkback ()\r
-DECLARE SUB sc3 ()\r
-DECLARE SUB calc (tx1!, ty1!, tz1!, tx2!, ty2!, tz2!, tx3!, ty3!, tz3!, c!)\r
-DECLARE SUB getan (x1!, y1!, x2!, y2!, N!)\r
-DECLARE SUB rot (zx!, zy!, x1!, y1!, N!)\r
-DECLARE SUB fp (x1!, y1!, x2!, y2!, x3!, y3!, c!)\r
-DECLARE SUB sc2 ()\r
-DECLARE SUB pal (r!, g!, b!, c!)\r
-DECLARE SUB sc1 ()\r
-DECLARE SUB start ()\r
-\r
-\r
' AI presentation\r
' made by Svjatoslav Agejenko\r
' in 2002\r
' homepage: svjatoslav.eu\r
' email: svjatoslav@svjatoslav.eu\r
- \r
+\r
DIM SHARED pii\r
DIM SHARED pi\r
DIM SHARED angl1, angl2\r
DIM SHARED font(0 TO 7, 0 TO 7, 32 TO 150)\r
+\r
start\r
'GOTO 6\r
sc1\r
sc10\r
sc9\r
\r
-SYSTEM\r
-\r
SUB box (x1, y1, x2, y2)\r
\r
-'FOR a = 0 TO 30\r
-'IF a <= 5 THEN buf1(a) = 120 + (SQR((20 - a) * a))\r
-'IF (a > 5) AND (a < 25) THEN buf1(a) = 120 + 10\r
-'IF a >= 25 THEN buf1(a) = 120 + (SQR((30 - a) * (a - 10)))\r
-'NEXT a\r
-\r
FOR y = y1 TO y2\r
-s = 10\r
-IF y - y1 <= 10 THEN\r
-s = (SQR((20 - (y - y1)) * (y - y1)))\r
-END IF\r
-\r
-IF y2 - y <= 10 THEN\r
-s = (SQR((20 - (y2 - y)) * (y2 - y)))\r
-END IF\r
-\r
-FOR x = x1 - s TO x2 + s\r
-c = POINT(x, y)\r
-IF c <= 127 THEN\r
-c = c + 127\r
-IF c > 245 THEN c = 245\r
-PSET (x, y), c\r
-END IF\r
-NEXT x\r
+ s = 10\r
+ IF y - y1 <= 10 THEN\r
+ s = (SQR((20 - (y - y1)) * (y - y1)))\r
+ END IF\r
+\r
+ IF y2 - y <= 10 THEN\r
+ s = (SQR((20 - (y2 - y)) * (y2 - y)))\r
+ END IF\r
+\r
+ FOR x = x1 - s TO x2 + s\r
+ c = POINT(x, y)\r
+ IF c <= 127 THEN\r
+ c = c + 127\r
+ IF c > 245 THEN c = 245\r
+ PSET (x, y), c\r
+ END IF\r
+ NEXT x\r
NEXT y\r
\r
END SUB\r
\r
SUB calc (tx1, ty1, tz1, tx2, ty2, tz2, tx3, ty3, tz3, c)\r
-x1 = tx1\r
-y1 = ty1\r
-z1 = tz1\r
-\r
-x2 = tx2\r
-y2 = ty2\r
-z2 = tz2\r
-\r
-x3 = tx3\r
-y3 = ty3\r
-z3 = tz3\r
-\r
-\r
-'LINE (x1, y1)-(x2, y2), 3\r
-'LINE (x3, y3)-(x2, y2), 3\r
-'LINE (x1, y1)-(x3, y3), 3\r
-\r
-\r
-getan x1, y1, x2, y2, n1\r
-rot x1, y1, x2, y2, -n1\r
-rot x1, y1, x3, y3, -n1\r
-\r
-getan y1, z1, y2, z2, n2\r
-n2 = n2 + pi / 2\r
-rot y1, z1, y2, z2, -n2\r
-rot y1, z1, y3, z3, -n2\r
-\r
-getan x1, z1, x3, z3, n3\r
-n3 = n3 + pi / 2\r
-rot x1, z1, x2, z2, -n3\r
-rot x1, z1, x3, z3, -n3\r
-\r
-x4 = x1\r
-y4 = y1\r
-z4 = z1 + 30\r
-\r
-rot x1, z1, x4, z4, n3\r
-rot y1, z1, y4, z4, n2\r
-rot x1, y1, x4, y4, n1\r
-\r
-'LINE (tx1, ty1)-(x4, y4), 255\r
-x1 = tx1 + 20\r
-y1 = ty1 + 10\r
-a = SQR((x1 - x4) ^ 2 + (y1 - y4) ^ 2)\r
-c = 49 - a\r
-IF c < 0 THEN c = 0\r
+ x1 = tx1\r
+ y1 = ty1\r
+ z1 = tz1\r
+\r
+ x2 = tx2\r
+ y2 = ty2\r
+ z2 = tz2\r
+\r
+ x3 = tx3\r
+ y3 = ty3\r
+ z3 = tz3\r
+\r
+ getan x1, y1, x2, y2, n1\r
+ rot x1, y1, x2, y2, -n1\r
+ rot x1, y1, x3, y3, -n1\r
+\r
+ getan y1, z1, y2, z2, n2\r
+ n2 = n2 + pi / 2\r
+ rot y1, z1, y2, z2, -n2\r
+ rot y1, z1, y3, z3, -n2\r
+\r
+ getan x1, z1, x3, z3, n3\r
+ n3 = n3 + pi / 2\r
+ rot x1, z1, x2, z2, -n3\r
+ rot x1, z1, x3, z3, -n3\r
+\r
+ x4 = x1\r
+ y4 = y1\r
+ z4 = z1 + 30\r
+\r
+ rot x1, z1, x4, z4, n3\r
+ rot y1, z1, y4, z4, n2\r
+ rot x1, y1, x4, y4, n1\r
+\r
+ 'LINE (tx1, ty1)-(x4, y4), 255\r
+ x1 = tx1 + 20\r
+ y1 = ty1 + 10\r
+ a = SQR((x1 - x4) ^ 2 + (y1 - y4) ^ 2)\r
+ c = 49 - a\r
+ IF c < 0 THEN c = 0\r
END SUB\r
\r
SUB fp (x1, y1, x2, y2, x3, y3, c)\r
\r
-\r
DIM yb(-100 TO 300)\r
\r
mx1 = x1\r
mkl:\r
IF my2 < my1 THEN SWAP my1, my2: SWAP mx1, mx2\r
FOR y = my1 TO my2 - 1\r
-x = mx1 + (mx2 - mx1) * ((y - my1) / (my2 - my1))\r
-IF yb(y) = 0 THEN\r
-yb(y) = x\r
-ELSE\r
-LINE (x, y)-(yb(y), y), c\r
-END IF\r
+ x = mx1 + (mx2 - mx1) * ((y - my1) / (my2 - my1))\r
+ IF yb(y) = 0 THEN\r
+ yb(y) = x\r
+ ELSE\r
+ LINE (x, y)-(yb(y), y), c\r
+ END IF\r
NEXT y\r
RETURN\r
-1\r
\r
+1\r
\r
'LINE (x1, y1)-(x2, y2), 0\r
'LINE (x3, y3)-(x2, y2), 0\r
END SUB\r
\r
SUB getan (x1, y1, x2, y2, N)\r
-IF y1 = y2 THEN\r
-IF x2 > x1 THEN N = pi / 2 ELSE N = pi * 1.5\r
-GOTO 2\r
-END IF\r
+ IF y1 = y2 THEN\r
+ IF x2 > x1 THEN N = pi / 2 ELSE N = pi * 1.5\r
+ GOTO 2\r
+ END IF\r
+\r
+ IF y2 > y1 THEN\r
+ IF x2 = x1 THEN N = pi: GOTO 2\r
+ IF x2 > x1 THEN\r
+ N = (pi * 1) - ATN((x2 - x1) / (y2 - y1))\r
+ ELSE\r
+ N = pi + ATN((x1 - x2) / (y2 - y1))\r
+ END IF\r
+ ELSE\r
+ IF x2 = x1 THEN N = 0: GOTO 2\r
+ IF x2 > x1 THEN\r
+ N = ATN((x2 - x1) / (y1 - y2))\r
+ ELSE\r
+ N = pi * 2 - ATN((x1 - x2) / (y1 - y2))\r
+ END IF\r
+ END IF\r
\r
-IF y2 > y1 THEN\r
-IF x2 = x1 THEN N = pi: GOTO 2\r
-IF x2 > x1 THEN\r
-N = (pi * 1) - ATN((x2 - x1) / (y2 - y1))\r
-ELSE\r
-N = pi + ATN((x1 - x2) / (y2 - y1))\r
-END IF\r
-ELSE\r
-IF x2 = x1 THEN N = 0: GOTO 2\r
-IF x2 > x1 THEN\r
-N = ATN((x2 - x1) / (y1 - y2))\r
-ELSE\r
-N = pi * 2 - ATN((x1 - x2) / (y1 - y2))\r
-END IF\r
-END IF\r
2\r
END SUB\r
\r
pal 0, 0, 0, 70\r
COLOR 70\r
FOR a = 32 TO 150\r
-LOCATE 1, 1\r
-PRINT CHR$(a)\r
-FOR y = 0 TO 7\r
-FOR x = 0 TO 7\r
-font(x, y, a) = POINT(x, y)\r
-NEXT x\r
-NEXT y\r
+ LOCATE 1, 1\r
+ PRINT CHR$(a)\r
+ FOR y = 0 TO 7\r
+ FOR x = 0 TO 7\r
+ font(x, y, a) = POINT(x, y)\r
+ NEXT x\r
+ NEXT y\r
NEXT a\r
\r
END SUB\r
SUB inpur\r
a$ = INPUT$(1)\r
\r
-\r
END SUB\r
\r
DEFINT A-Z\r
pal 0, 5, 5, 255\r
\r
FOR a = 0 TO 127\r
-OUT &H3C8, a\r
-OUT &H3C9, SIN(a / 22) * 30 + 30\r
-OUT &H3C9, SIN(a / 18) * 5 + 5\r
-OUT &H3C9, COS(a / 12) * 10 + 10\r
+ OUT &H3C8, a\r
+ OUT &H3C9, SIN(a / 22) * 30 + 30\r
+ OUT &H3C9, SIN(a / 18) * 5 + 5\r
+ OUT &H3C9, COS(a / 12) * 10 + 10\r
NEXT a\r
\r
FOR a = 128 TO 245\r
-OUT &H3C8, a\r
-b = a - 128\r
-OUT &H3C9, SIN(b / 22) * 4 + 10\r
-OUT &H3C9, SIN(b / 18) * 4 + 10\r
-OUT &H3C9, COS(b / 12) * 4 + 10\r
+ OUT &H3C8, a\r
+ b = a - 128\r
+ OUT &H3C9, SIN(b / 22) * 4 + 10\r
+ OUT &H3C9, SIN(b / 18) * 4 + 10\r
+ OUT &H3C9, COS(b / 12) * 4 + 10\r
NEXT a\r
\r
DIM lm\r
lm = 127\r
\r
-\r
s = 2 ^ 8\r
5\r
s = s \ 2\r
y2 = (199 \ s) - 1\r
\r
FOR y = 0 TO y2\r
-FOR x = 0 TO x2\r
-x1 = x * s\r
-y1 = y * s\r
-c1 = POINT(x1, y1)\r
-c2 = POINT(x1 + s, y1)\r
-c3 = POINT(x1, y1 + s)\r
-c4 = POINT(x1 + s, y1 + s)\r
-\r
-sp = s \ 2\r
+ FOR x = 0 TO x2\r
+ x1 = x * s\r
+ y1 = y * s\r
+ c1 = POINT(x1, y1)\r
+ c2 = POINT(x1 + s, y1)\r
+ c3 = POINT(x1, y1 + s)\r
+ c4 = POINT(x1 + s, y1 + s)\r
\r
-cc2 = ((c1 + c2) / 2) + (RND * 6) - 3\r
-IF cc2 > lm THEN cc2 = lm\r
+ sp = s \ 2\r
\r
-cc3 = ((c1 + c3) / 2) + (RND * 6) - 3\r
-IF cc3 > lm THEN cc3 = lm\r
+ cc2 = ((c1 + c2) / 2) + (RND * 6) - 3\r
+ IF cc2 > lm THEN cc2 = lm\r
\r
-cc4 = ((c2 + c4) / 2) + (RND * 6) - 3\r
-IF cc4 > lm THEN cc4 = lm\r
+ cc3 = ((c1 + c3) / 2) + (RND * 6) - 3\r
+ IF cc3 > lm THEN cc3 = lm\r
\r
-cc5 = ((c3 + c4) / 2) + (RND * 6) - 3\r
-IF cc5 > lm THEN cc5 = lm\r
+ cc4 = ((c2 + c4) / 2) + (RND * 6) - 3\r
+ IF cc4 > lm THEN cc4 = lm\r
\r
-cc1 = ((cc2 + cc3 + cc4 + cc5) / 4) + (RND * 6) - 3\r
-IF cc1 > lm THEN cc1 = lm\r
+ cc5 = ((c3 + c4) / 2) + (RND * 6) - 3\r
+ IF cc5 > lm THEN cc5 = lm\r
\r
+ cc1 = ((cc2 + cc3 + cc4 + cc5) / 4) + (RND * 6) - 3\r
+ IF cc1 > lm THEN cc1 = lm\r
\r
-\r
-PSET (x1 + sp, y1 + sp), cc1\r
-PSET (x1 + sp, y1), cc2\r
-PSET (x1, y1 + sp), cc3\r
-PSET (x1 + s, y1 + sp), cc4\r
-PSET (x1 + sp, y1 + s), cc5\r
-\r
-\r
-NEXT x\r
+ PSET (x1 + sp, y1 + sp), cc1\r
+ PSET (x1 + sp, y1), cc2\r
+ PSET (x1, y1 + sp), cc3\r
+ PSET (x1 + s, y1 + sp), cc4\r
+ PSET (x1 + sp, y1 + s), cc5\r
+ NEXT x\r
NEXT y\r
IF s > 2 THEN GOTO 5\r
\r
-\r
-\r
END SUB\r
\r
DEFSNG A-Z\r
SUB pal (r, g, b, c)\r
-IF r < 0 THEN r = 0\r
-IF g < 0 THEN g = 0\r
-IF b < 0 THEN b = 0\r
-IF r > 63 THEN r = 63\r
-IF g > 63 THEN g = 63\r
-IF b > 63 THEN b = 63\r
-\r
-OUT &H3C8, c\r
-OUT &H3C9, r\r
-OUT &H3C9, g\r
-OUT &H3C9, b\r
+ IF r < 0 THEN r = 0\r
+ IF g < 0 THEN g = 0\r
+ IF b < 0 THEN b = 0\r
+ IF r > 63 THEN r = 63\r
+ IF g > 63 THEN g = 63\r
+ IF b > 63 THEN b = 63\r
+\r
+ OUT &H3C8, c\r
+ OUT &H3C9, r\r
+ OUT &H3C9, g\r
+ OUT &H3C9, b\r
END SUB\r
\r
SUB pri (x, y, s, c, a$)\r
-IF s = 1 THEN\r
-x2 = x\r
-FOR a = 1 TO LEN(a$)\r
-b = ASC(RIGHT$(LEFT$(a$, a), 1))\r
-IF b > 150 OR b < 32 THEN GOTO 7\r
-FOR y1 = 0 TO 7\r
-FOR x1 = 0 TO 7\r
-c1 = font(x1, y1, b)\r
-IF c1 > 0 THEN PSET (x1 + x2, y1 + y), c\r
-NEXT x1\r
-NEXT y1\r
-7\r
-x2 = x2 + 8\r
-NEXT a\r
-END IF\r
+ IF s = 1 THEN\r
+ x2 = x\r
+ FOR a = 1 TO LEN(a$)\r
+ b = ASC(RIGHT$(LEFT$(a$, a), 1))\r
+ IF b > 150 OR b < 32 THEN GOTO 7\r
+ FOR y1 = 0 TO 7\r
+ FOR x1 = 0 TO 7\r
+ c1 = font(x1, y1, b)\r
+ IF c1 > 0 THEN PSET (x1 + x2, y1 + y), c\r
+ NEXT x1\r
+ NEXT y1\r
+ 7\r
+ x2 = x2 + 8\r
+ NEXT a\r
+ END IF\r
END SUB\r
\r
SUB rot (zx, zy, x1, y1, N)\r
-x2 = x1 - zx\r
-y2 = y1 - zy\r
-c1 = SIN(N)\r
-s1 = COS(N)\r
-x1 = x2 * s1 - y2 * c1 + zx\r
-y1 = x2 * c1 + y2 * s1 + zy\r
+ x2 = x1 - zx\r
+ y2 = y1 - zy\r
+ c1 = SIN(N)\r
+ s1 = COS(N)\r
+ x1 = x2 * s1 - y2 * c1 + zx\r
+ y1 = x2 * c1 + y2 * s1 + zy\r
END SUB\r
\r
SUB sc1\r
tim = 0\r
ehi = 1\r
\r
-\r
an1 = 0\r
an2 = 0\r
\r
INPUT #1, inpo\r
\r
FOR a = 1 TO inco\r
-INPUT #1, x, y, z\r
-np = np + 1\r
-px(np) = x - 100\r
-py(np) = y\r
-pz(np) = z\r
+ INPUT #1, x, y, z\r
+ np = np + 1\r
+ px(np) = x - 100\r
+ py(np) = y\r
+ pz(np) = z\r
NEXT a\r
\r
INPUT #1, b, b, l1, l2, l3\r
\r
FOR a = 1 TO inpo - 1\r
-INPUT #1, b, b, l1!, l2!, l3!\r
-nlin1! = l1!\r
-nlin2! = l2!\r
-GOSUB addlin\r
-nlin1! = l2!\r
-nlin2! = l3!\r
-GOSUB addlin\r
-nlin1! = l1!\r
-nlin2! = l3!\r
-GOSUB addlin\r
-LOCATE 4, 10\r
-PRINT STR$(INT(a / (inpo - 1) * 100)) + "% valmis"\r
+ INPUT #1, b, b, l1!, l2!, l3!\r
+ nlin1! = l1!\r
+ nlin2! = l2!\r
+ GOSUB addlin\r
+ nlin1! = l2!\r
+ nlin2! = l3!\r
+ GOSUB addlin\r
+ nlin1! = l1!\r
+ nlin2! = l3!\r
+ GOSUB addlin\r
+ LOCATE 4, 10\r
+ PRINT STR$(INT(a / (inpo - 1) * 100)) + "% valmis"\r
NEXT a\r
CLOSE 1\r
CLS\r
+\r
3\r
tim = tim + 1\r
sj$ = INKEY$\r
c2 = COS(an2)\r
\r
IF ehi >= 1 THEN\r
-nlt = nlt + ehi\r
-ehi = ehi + .03\r
-IF nlt > nl THEN nlt = nl: ehi = 0\r
+ nlt = nlt + ehi\r
+ ehi = ehi + .03\r
+ IF nlt > nl THEN nlt = nl: ehi = 0\r
END IF\r
\r
FOR a = 0 TO np\r
-x = px(a)\r
-y = py(a)\r
-z = pz(a)\r
-\r
-z2 = z * s1 + y * c1\r
-y1 = y * s1 - z * c1\r
+ x = px(a)\r
+ y = py(a)\r
+ z = pz(a)\r
\r
-z1 = z2 * s2 + x * c2\r
-x1 = x * s2 - z2 * c2\r
+ z2 = z * s1 + y * c1\r
+ y1 = y * s1 - z * c1\r
\r
+ z1 = z2 * s2 + x * c2\r
+ x1 = x * s2 - z2 * c2\r
\r
z1 = z1 + 100\r
\r
NEXT a\r
\r
FOR a = 1 TO nlt\r
-l1 = lin1!(a)\r
-l2 = lin2!(a)\r
-x1 = px1(l1)\r
-y1 = py1(l1)\r
-x2 = px1(l2)\r
-y2 = py1(l2)\r
-LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
-LINE (x1, y1)-(x2, y2), 255\r
-lbx1(a) = x1\r
-lby1(a) = y1\r
-lbx2(a) = x2\r
-lby2(a) = y2\r
+ l1 = lin1!(a)\r
+ l2 = lin2!(a)\r
+ x1 = px1(l1)\r
+ y1 = py1(l1)\r
+ x2 = px1(l2)\r
+ y2 = py1(l2)\r
+ LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
+ LINE (x1, y1)-(x2, y2), 255\r
+ lbx1(a) = x1\r
+ lby1(a) = y1\r
+ lbx2(a) = x2\r
+ lby2(a) = y2\r
NEXT a\r
SOUND 0, .5\r
IF tim < 280 THEN GOTO 3\r
\r
addlin:\r
FOR b = 1 TO nl\r
-IF lin1!(b) = nlin1! THEN IF lin2!(b) = nlin2! THEN RETURN\r
-IF lin1!(b) = nlin2! THEN IF lin2!(b) = nlin1! THEN RETURN\r
+ IF lin1!(b) = nlin1! THEN\r
+ IF lin2!(b) = nlin2! THEN RETURN\r
+ END IF\r
+ IF lin1!(b) = nlin2! THEN\r
+ IF lin2!(b) = nlin1! THEN RETURN\r
+ END IF\r
NEXT b\r
nl = nl + 1\r
lin1!(nl) = nlin1!\r
lin2!(nl) = nlin2!\r
RETURN\r
+\r
4\r
angl1 = an1\r
angl2 = an2\r
y = y + 13\r
pri 30, 70 + y, 1, 250, "understanding. M.Adjouadi,"\r
y = y + 13\r
-pri 30, 70 + y, 1, 250, "J.Riley;"\r
+pri 30, 70 + y, 1, 250, "J.Riley; "\r
y = y + 13\r
pri 30, 70 + y, 1, 250, "Journal of Rehabilitation"\r
y = y + 13\r
pri 30, 70 + y, 1, 250, "Research & Development,"\r
y = y + 13\r
-pri 30, 70 + y, 1, 250, "Oct 95,Vol. 32 issue 3"\r
+pri 30, 70 + y, 1, 250, "Oct 95, Vol. 32 issue 3"\r
\r
inpur\r
\r
-\r
END SUB\r
\r
SUB sc2\r
INPUT #1, inpo\r
\r
FOR a = 1 TO inco\r
-INPUT #1, x, y, z\r
-px(np) = x - 100\r
-py(np) = y\r
-pz(np) = z\r
-np = np + 1\r
+ INPUT #1, x, y, z\r
+ px(np) = x - 100\r
+ py(np) = y\r
+ pz(np) = z\r
+ np = np + 1\r
NEXT a\r
\r
INPUT #1, b, b, l1, l2, l3\r
\r
FOR a = 1 TO inpo - 1\r
-INPUT #1, b, b, l1, l2, l3\r
-nl = nl + 1\r
-pol1(nl) = l1\r
-pol2(nl) = l2\r
-pol3(nl) = l3\r
+ INPUT #1, b, b, l1, l2, l3\r
+ nl = nl + 1\r
+ pol1(nl) = l1\r
+ pol2(nl) = l2\r
+ pol3(nl) = l3\r
NEXT a\r
CLOSE 1\r
\r
c2 = COS(angl2)\r
\r
FOR a = 0 TO np\r
-x = px(a)\r
-y = py(a)\r
-z = pz(a)\r
-z2 = z * s1 + y * c1\r
-y1 = y * s1 - z * c1\r
-z1 = z2 * s2 + x * c2\r
-x1 = x * s2 - z2 * c2\r
-z1 = z1 + 100\r
-x1 = x1 / z1 * 74 * 2\r
-y1 = y1 / z1 * 65 * 2\r
-rpx(a) = x1 + 160\r
-rpy(a) = y1 + 80\r
-rpz(a) = z1\r
+ x = px(a)\r
+ y = py(a)\r
+ z = pz(a)\r
+ z2 = z * s1 + y * c1\r
+ y1 = y * s1 - z * c1\r
+ z1 = z2 * s2 + x * c2\r
+ x1 = x * s2 - z2 * c2\r
+ z1 = z1 + 100\r
+ x1 = x1 / z1 * 74 * 2\r
+ y1 = y1 / z1 * 65 * 2\r
+ rpx(a) = x1 + 160\r
+ rpy(a) = y1 + 80\r
+ rpz(a) = z1\r
NEXT a\r
\r
'FOR a = 1 TO 63\r
'NEXT a\r
\r
FOR a = 1 TO 49\r
-pal a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a\r
+ pal a * 1.1 + 20, a * 1.1 + 10, a * 1.1, a\r
NEXT a\r
\r
DIM polz(1 TO nl)\r
\r
FOR a = 1 TO nl\r
-polz(a) = (rpz(pol1(a)) + rpz(pol2(a)) + rpz(pol3(a)))\r
+ polz(a) = (rpz(pol1(a)) + rpz(pol2(a)) + rpz(pol3(a)))\r
NEXT a\r
\r
e = nl\r
FOR a = 1 TO nl\r
-su = -10000\r
-sun = 1\r
-FOR b = 1 TO e\r
-IF polz(b) > su THEN su = polz(b): sun = b\r
-NEXT b\r
-\r
-p1 = pol1(sun)\r
-p2 = pol2(sun)\r
-p3 = pol3(sun)\r
-\r
-polz(sun) = polz(e)\r
-pol1(sun) = pol1(e)\r
-pol2(sun) = pol2(e)\r
-pol3(sun) = pol3(e)\r
-e = e - 1\r
-calc rpx(p1), rpy(p1), rpz(p1), rpx(p2), rpy(p2), rpz(p2), rpx(p3), rpy(p3), rpz(p3), d\r
-fp INT(rpx(p1)), INT(rpy(p1)), INT(rpx(p2)), INT(rpy(p2)), INT(rpx(p3)), INT(rpy(p3)), INT(d)\r
+ su = -10000\r
+ sun = 1\r
+ FOR b = 1 TO e\r
+ IF polz(b) > su THEN su = polz(b): sun = b\r
+ NEXT b\r
+\r
+ p1 = pol1(sun)\r
+ p2 = pol2(sun)\r
+ p3 = pol3(sun)\r
+\r
+ polz(sun) = polz(e)\r
+ pol1(sun) = pol1(e)\r
+ pol2(sun) = pol2(e)\r
+ pol3(sun) = pol3(e)\r
+ e = e - 1\r
+ calc rpx(p1), rpy(p1), rpz(p1), rpx(p2), rpy(p2), rpz(p2), rpx(p3), rpy(p3), rpz(p3), d\r
+ fp INT(rpx(p1)), INT(rpy(p1)), INT(rpx(p2)), INT(rpy(p2)), INT(rpx(p3)), INT(rpy(p3)), INT(d)\r
'SOUND 0, .07\r
NEXT a\r
\r
-\r
END SUB\r
\r
SUB sc3\r
DIM buf1(0 TO 35)\r
\r
FOR a = 1 TO 20\r
-SOUND 0, 1\r
+ SOUND 0, 1\r
NEXT a\r
FOR a = 0 TO 30\r
-IF a <= 5 THEN buf1(a) = 120 + (SQR((20 - a) * a))\r
-IF (a > 5) AND (a < 25) THEN buf1(a) = 120 + 10\r
-IF a >= 25 THEN buf1(a) = 120 + (SQR((30 - a) * (a - 10)))\r
+ IF a <= 5 THEN buf1(a) = 120 + (SQR((20 - a) * a))\r
+ IF (a > 5) AND (a < 25) THEN buf1(a) = 120 + 10\r
+ IF a >= 25 THEN buf1(a) = 120 + (SQR((30 - a) * (a - 10)))\r
NEXT a\r
\r
FOR y = 0 TO 30\r
-FOR x = 10 TO 300 STEP 10\r
-GET (x, 0)-(x + 9, 198), buf(1)\r
-PUT (x, 1), buf(1), PSET\r
-NEXT x\r
-FOR a = 1 TO 49\r
-pal a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a\r
-NEXT a\r
-SOUND 0, 1\r
-LINE (160 - buf1(y), 20)-(160 + buf1(y), 20), 255\r
+ FOR x = 10 TO 300 STEP 10\r
+ GET (x, 0)-(x + 9, 198), buf(1)\r
+ PUT (x, 1), buf(1), PSET\r
+ NEXT x\r
+ FOR a = 1 TO 49\r
+ pal a * 1.1 + (20 - y), a * 1.1 + 10 + (y / 1.5), a * 1.1, a\r
+ NEXT a\r
+ SOUND 0, 1\r
+ LINE (160 - buf1(y), 20)-(160 + buf1(y), 20), 255\r
NEXT y\r
\r
LOCATE 1, 1\r
PRINT "Tehisintellekt"\r
pal 63, 0, 0, 253\r
FOR y = 0 TO 8\r
-FOR x = 0 TO 120\r
-c = POINT(x, y)\r
-IF c > 0 THEN CIRCLE (x * 2 + 50, y * 3 + 26), 2, 0\r
-NEXT x\r
-FOR x = 0 TO 120\r
-c = POINT(x, y + 1)\r
-IF c > 0 THEN CIRCLE (x * 2 + 50, (y + 1) * 3 + 26), 2, 253\r
-NEXT x\r
-SOUND 0, 2\r
+ FOR x = 0 TO 120\r
+ c = POINT(x, y)\r
+ IF c > 0 THEN CIRCLE (x * 2 + 50, y * 3 + 26), 2, 0\r
+ NEXT x\r
+ FOR x = 0 TO 120\r
+ c = POINT(x, y + 1)\r
+ IF c > 0 THEN CIRCLE (x * 2 + 50, (y + 1) * 3 + 26), 2, 253\r
+ NEXT x\r
+ SOUND 0, 2\r
NEXT y\r
\r
RANDOMIZE 1\r
\r
FOR a = 1 TO 10\r
-y = RND * 100 + 50\r
-FOR x = 10 TO 300 STEP 10\r
-GET (x, y)-(x + 9, 198), buf(1)\r
-PUT (x, y - 1), buf(1), PSET\r
-NEXT x\r
+ y = RND * 100 + 50\r
+ FOR x = 10 TO 300 STEP 10\r
+ GET (x, y)-(x + 9, 198), buf(1)\r
+ PUT (x, y - 1), buf(1), PSET\r
+ NEXT x\r
NEXT a\r
\r
COLOR 253\r
PRINT " "\r
PUT (0, 190), buf(1), PSET\r
FOR a = 1 TO 32\r
-pal 0, a, a * 2, 253\r
-SOUND 0, 1\r
+ pal 0, a, a * 2, 253\r
+ SOUND 0, 1\r
NEXT a\r
inpur\r
END SUB\r
\r
pal 32, 64, 32, 250\r
y = 0\r
-pri 30, 70 + y, 1, 250, " Ruumiliselt laiendatud n�gemise"\r
+pri 30, 70 + y, 1, 250, " Spatial vision"\r
y = y + 16\r
-pri 30, 70 + y, 1, 250, "l�henemine kujutise tuvastamiseks"\r
+pri 30, 70 + y, 1, 250, "Object recognition"\r
y = y + 20\r
-pri 30, 70 + y, 1, 250, "eesm�rk: + interpriteerimine"\r
+pri 30, 70 + y, 1, 250, "Goal: + interpriteerimine"\r
y = y + 16\r
pri 30, 70 + y, 1, 250, " + automaatjuhtimine"\r
\r
y = y + 12\r
pri 30, 70 + y, 1, 250, " rakkude p�him�tted."\r
\r
-\r
inpur\r
-\r
END SUB\r
\r
SUB sc6\r
\r
pal 32, 64, 32, 250\r
y = -8\r
-pri 30, 70 + y, 1, 250, "* S�gavusinfo ekstraheerimine"\r
+pri 30, 70 + y, 1, 250, "* Depth extraction"\r
y = y + 20\r
-pri 30, 70 + y, 1, 250, "* Ruumilise n�gemise kasutamine"\r
+pri 30, 70 + y, 1, 250, "* Usage of spatial vision"\r
y = y + 20\r
-pri 30, 70 + y, 1, 250, "* Sarnasusm��de"\r
+pri 30, 70 + y, 1, 250, "* Similarity"\r
y = y + 20\r
-pri 30, 70 + y, 1, 250, "* Sobitamisstrateegia"\r
+pri 30, 70 + y, 1, 250, "* Matching strategy"\r
inpur\r
\r
-\r
END SUB\r
\r
SUB sc7\r
pal 0, 0, 0, 0\r
FOR a = 0 TO 19\r
-FOR y = a TO 199 STEP 20\r
-LINE (0, y)-(319, y), 0\r
-NEXT y\r
-SOUND 0, .5\r
+ FOR y = a TO 199 STEP 20\r
+ LINE (0, y)-(319, y), 0\r
+ NEXT y\r
+ SOUND 0, .5\r
NEXT a\r
\r
END SUB\r
\r
SUB sc8\r
FOR a = 1 TO 50\r
-pal 0, 0, 0, a\r
+ pal 0, 0, 0, a\r
NEXT a\r
\r
-\r
DIM px(0 TO 800)\r
DIM py(0 TO 800)\r
DIM pz(0 TO 800)\r
nl = 0\r
RANDOMIZE 100\r
s = 64\r
+\r
14\r
sp = s / 2\r
FOR y = 0 TO 100 STEP s\r
-FOR x = 0 TO 100 STEP s\r
-c1 = POINT(x, y)\r
-c2 = POINT(x + s, y)\r
-c3 = POINT(x, y + s)\r
-c4 = POINT(x + s, y + s)\r
-c5 = (c1 + c2 + c3 + c4) / 4 + RND * s * 6 - sp * 7\r
-c6 = (c2 + c4) / 2 + RND * s * 6 - sp * 7\r
-c7 = (c3 + c4) / 2 + RND * s * 6 - sp * 7\r
-IF c5 > 50 THEN c5 = 50\r
-IF c5 < 0 THEN c5 = 0\r
-IF c6 > 50 THEN c6 = 50\r
-IF c6 < 0 THEN c6 = 0\r
-IF c7 > 50 THEN c7 = 50\r
-IF c7 < 0 THEN c7 = 0\r
-PSET (x + sp, y + sp), c5\r
-PSET (x + s, y + sp), c6\r
-PSET (x + sp, y + s), c7\r
-NEXT x\r
+ FOR x = 0 TO 100 STEP s\r
+ c1 = POINT(x, y)\r
+ c2 = POINT(x + s, y)\r
+ c3 = POINT(x, y + s)\r
+ c4 = POINT(x + s, y + s)\r
+ c5 = (c1 + c2 + c3 + c4) / 4 + RND * s * 6 - sp * 7\r
+ c6 = (c2 + c4) / 2 + RND * s * 6 - sp * 7\r
+ c7 = (c3 + c4) / 2 + RND * s * 6 - sp * 7\r
+ IF c5 > 50 THEN c5 = 50\r
+ IF c5 < 0 THEN c5 = 0\r
+ IF c6 > 50 THEN c6 = 50\r
+ IF c6 < 0 THEN c6 = 0\r
+ IF c7 > 50 THEN c7 = 50\r
+ IF c7 < 0 THEN c7 = 0\r
+ PSET (x + sp, y + sp), c5\r
+ PSET (x + s, y + sp), c6\r
+ PSET (x + sp, y + s), c7\r
+ NEXT x\r
NEXT y\r
s = s / 2\r
IF s > 1 THEN GOTO 14\r
+\r
'a$ = INPUT$(1)\r
\r
FOR z = 1 TO 400 STEP 20\r
-FOR x = 1 TO 400 STEP 20\r
-np = np + 1\r
-px(np) = x\r
-py(np) = POINT(z / 20 + 10, x / 20 + 10) * 2\r
-pz(np) = z\r
-IF x > 1 THEN\r
-nl = nl + 1\r
-lin1(nl) = np\r
-lin2(nl) = np - 1\r
-linc(nl) = 1\r
-END IF\r
-IF z > 1 THEN\r
-nl = nl + 1\r
-lin1(nl) = np\r
-lin2(nl) = np - 20\r
-linc(nl) = 1\r
-END IF\r
-NEXT x\r
+ FOR x = 1 TO 400 STEP 20\r
+ np = np + 1\r
+ px(np) = x\r
+ py(np) = POINT(z / 20 + 10, x / 20 + 10) * 2\r
+ pz(np) = z\r
+ IF x > 1 THEN\r
+ nl = nl + 1\r
+ lin1(nl) = np\r
+ lin2(nl) = np - 1\r
+ linc(nl) = 1\r
+ END IF\r
+ IF z > 1 THEN\r
+ nl = nl + 1\r
+ lin1(nl) = np\r
+ lin2(nl) = np - 20\r
+ linc(nl) = 1\r
+ END IF\r
+ NEXT x\r
NEXT z\r
\r
-\r
LINE (0, 0)-(319, 199), 0, BF\r
\r
pal 0, 0, 0, 0\r
a = 0\r
b = 0\r
hlkin = np + 1\r
+\r
15\r
INPUT #1, x, y, z\r
IF x = 999 THEN GOTO 16\r
hlky(a) = -y\r
hlkz(a) = z\r
GOTO 15\r
+\r
16\r
INPUT #1, x, y\r
IF x = 999 THEN GOTO 17\r
lin2(nl) = y + np + 1\r
linc(nl) = 2\r
GOTO 16\r
+\r
17\r
CLOSE #1\r
np = np + a\r
RANDOMIZE 10\r
c = 3\r
FOR a = 1 TO 25\r
-p = RND * 396 + 2\r
-x = px(p)\r
-z = pz(p)\r
-yy = py(p) - 4\r
-\r
-px(np + 1) = x - 5\r
-py(np + 1) = yy\r
-pz(np + 1) = z - 5\r
+ p = RND * 396 + 2\r
+ x = px(p)\r
+ z = pz(p)\r
+ yy = py(p) - 4\r
\r
-px(np + 2) = x + 5\r
-py(np + 2) = yy\r
-pz(np + 2) = z - 5\r
+ px(np + 1) = x - 5\r
+ py(np + 1) = yy\r
+ pz(np + 1) = z - 5\r
\r
-px(np + 3) = x + 5\r
-py(np + 3) = yy\r
-pz(np + 3) = z + 5\r
+ px(np + 2) = x + 5\r
+ py(np + 2) = yy\r
+ pz(np + 2) = z - 5\r
\r
-px(np + 4) = x - 5\r
-py(np + 4) = yy\r
-pz(np + 4) = z + 5\r
+ px(np + 3) = x + 5\r
+ py(np + 3) = yy\r
+ pz(np + 3) = z + 5\r
\r
-px(np + 5) = x\r
-py(np + 5) = yy - 5\r
-pz(np + 5) = z\r
+ px(np + 4) = x - 5\r
+ py(np + 4) = yy\r
+ pz(np + 4) = z + 5\r
\r
+ px(np + 5) = x\r
+ py(np + 5) = yy - 5\r
+ pz(np + 5) = z\r
\r
-lin1(nl + 1) = np + 1\r
-lin2(nl + 1) = np + 2\r
-linc(nl + 1) = c\r
+ lin1(nl + 1) = np + 1\r
+ lin2(nl + 1) = np + 2\r
+ linc(nl + 1) = c\r
\r
-lin1(nl + 2) = np + 2\r
-lin2(nl + 2) = np + 3\r
-linc(nl + 2) = c\r
+ lin1(nl + 2) = np + 2\r
+ lin2(nl + 2) = np + 3\r
+ linc(nl + 2) = c\r
\r
-lin1(nl + 3) = np + 3\r
-lin2(nl + 3) = np + 4\r
-linc(nl + 3) = c\r
+ lin1(nl + 3) = np + 3\r
+ lin2(nl + 3) = np + 4\r
+ linc(nl + 3) = c\r
\r
-lin1(nl + 4) = np + 4\r
-lin2(nl + 4) = np + 1\r
-linc(nl + 4) = c\r
+ lin1(nl + 4) = np + 4\r
+ lin2(nl + 4) = np + 1\r
+ linc(nl + 4) = c\r
\r
-lin1(nl + 5) = np + 1\r
-lin2(nl + 5) = np + 5\r
-linc(nl + 5) = c\r
+ lin1(nl + 5) = np + 1\r
+ lin2(nl + 5) = np + 5\r
+ linc(nl + 5) = c\r
\r
-lin1(nl + 6) = np + 2\r
-lin2(nl + 6) = np + 5\r
-linc(nl + 6) = c\r
+ lin1(nl + 6) = np + 2\r
+ lin2(nl + 6) = np + 5\r
+ linc(nl + 6) = c\r
\r
-lin1(nl + 7) = np + 3\r
-lin2(nl + 7) = np + 5\r
-linc(nl + 7) = c\r
+ lin1(nl + 7) = np + 3\r
+ lin2(nl + 7) = np + 5\r
+ linc(nl + 7) = c\r
\r
-lin1(nl + 8) = np + 4\r
-lin2(nl + 8) = np + 5\r
-linc(nl + 8) = c\r
+ lin1(nl + 8) = np + 4\r
+ lin2(nl + 8) = np + 5\r
+ linc(nl + 8) = c\r
\r
-np = np + 5\r
-nl = nl + 8\r
+ np = np + 5\r
+ nl = nl + 8\r
NEXT a\r
\r
-\r
10\r
SOUND 0, 1\r
IF INKEY$ <> "" THEN miin = 1\r
\r
SELECT CASE eta\r
CASE 1\r
-desx = px(np)\r
-desz = pz(np)\r
-getan desx, desz, hlax, hlaz, desa\r
-IF desa - hlka > pi THEN desa = desa - (pi * 2)\r
-IF hlka - desa > pi THEN desa = desa + (pi * 2)\r
-eta = 2\r
-FOR a = nl - 7 TO nl\r
-linc(a) = 4\r
-NEXT a\r
+ desx = px(np)\r
+ desz = pz(np)\r
+ getan desx, desz, hlax, hlaz, desa\r
+ IF desa - hlka > pi THEN desa = desa - (pi * 2)\r
+ IF hlka - desa > pi THEN desa = desa + (pi * 2)\r
+ eta = 2\r
+ FOR a = nl - 7 TO nl\r
+ linc(a) = 4\r
+ NEXT a\r
CASE 2\r
-a = desa - hlka\r
-IF desa = hlka THEN eta = 3\r
-IF a > .05 THEN a = .05\r
-IF a < -.05 THEN a = -.05\r
-hlka = hlka + a\r
+ a = desa - hlka\r
+ IF desa = hlka THEN eta = 3\r
+ IF a > .05 THEN a = .05\r
+ IF a < -.05 THEN a = -.05\r
+ hlka = hlka + a\r
CASE 3\r
-x = desx - hlax\r
-z = desz - hlaz\r
-v = SQR(x * x + z * z)\r
-IF v < 5 THEN eta = 4\r
-v = v / 2\r
-hlax = hlax + x / v\r
-hlaz = hlaz + z / v\r
+ x = desx - hlax\r
+ z = desz - hlaz\r
+ v = SQR(x * x + z * z)\r
+ IF v < 5 THEN eta = 4\r
+ v = v / 2\r
+ hlax = hlax + x / v\r
+ hlaz = hlaz + z / v\r
CASE 4\r
-FOR a = np - 4 TO np\r
-py(a) = py(a) - 1\r
-NEXT a\r
-IF py(np) < 3 - hlay THEN\r
-FOR a = nl - 7 TO nl\r
-LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
-NEXT a\r
-np = np - 5\r
-nl = nl - 8\r
-mil = mil - 1\r
-eta = 6\r
-IF mil <= 0 THEN eta = 7\r
-END IF\r
+ FOR a = np - 4 TO np\r
+ py(a) = py(a) - 1\r
+ NEXT a\r
+ IF py(np) < 3 - hlay THEN\r
+ FOR a = nl - 7 TO nl\r
+ LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
+ NEXT a\r
+ np = np - 5\r
+ nl = nl - 8\r
+ mil = mil - 1\r
+ eta = 6\r
+ IF mil <= 0 THEN eta = 7\r
+ END IF\r
CASE 6\r
-eta = 5\r
+ eta = 5\r
CASE 5\r
-eta = 1\r
+ eta = 1\r
END SELECT\r
\r
y = 60 - py(INT((hlaz + 10) / 20) * 20 + INT((hlax + 10) / 20))\r
IF hlay < y THEN hlay = hlay + 1\r
IF hlay > y + 25 THEN hlay = hlay - 1: ' SOUND 1000, 1\r
IF hlay < y - 20 THEN hlay = hlay + 1: ' SOUND 1000, 1\r
- \r
+\r
s1 = SIN(hlka)\r
c1 = COS(hlka)\r
FOR a = 0 TO hlknu - 5\r
-x = hlkx(a + 1)\r
-z = hlkz(a + 1)\r
-px(a + hlkin) = x * s1 + z * c1 + hlax\r
-py(a + hlkin) = hlky(a + 1) - hlay\r
-pz(a + hlkin) = z * s1 - x * c1 + hlaz\r
+ x = hlkx(a + 1)\r
+ z = hlkz(a + 1)\r
+ px(a + hlkin) = x * s1 + z * c1 + hlax\r
+ py(a + hlkin) = hlky(a + 1) - hlay\r
+ pz(a + hlkin) = z * s1 - x * c1 + hlaz\r
NEXT a\r
\r
hlkr = hlkr + .5\r
s1 = SIN(hlkr)\r
c1 = COS(hlkr)\r
FOR a = hlknu - 4 TO hlknu - 1\r
-x = hlkx(a + 1)\r
-z = hlkz(a + 1)\r
-px(a + hlkin) = x * s1 + z * c1 + hlax\r
-py(a + hlkin) = hlky(a + 1) - hlay\r
-pz(a + hlkin) = z * s1 - x * c1 + hlaz\r
+ x = hlkx(a + 1)\r
+ z = hlkz(a + 1)\r
+ px(a + hlkin) = x * s1 + z * c1 + hlax\r
+ py(a + hlkin) = hlky(a + 1) - hlay\r
+ pz(a + hlkin) = z * s1 - x * c1 + hlaz\r
NEXT a\r
\r
tim = tim + 1\r
c2 = COS(an2)\r
\r
FOR a = 0 TO np\r
-x = px(a) - mx\r
-y = py(a) - my\r
-z = pz(a) - mz\r
+ x = px(a) - mx\r
+ y = py(a) - my\r
+ z = pz(a) - mz\r
\r
z2 = z * s1 + x * c1\r
x1 = x * s1 - z * c1\r
y1 = y * s2 - z2 * c2\r
\r
\r
-z1 = z1 + kau\r
-IF z1 < 1 THEN px1(a) = -1: GOTO 11\r
-x1 = x1 / z1 * 74 * 2\r
-y1 = y1 / z1 * 65 * 2\r
+ z1 = z1 + kau\r
+ IF z1 < 1 THEN px1(a) = -1: GOTO 11\r
+ x1 = x1 / z1 * 74 * 2\r
+ y1 = y1 / z1 * 65 * 2\r
\r
-px1(a) = x1 + 160\r
-py1(a) = y1 + 80\r
+ px1(a) = x1 + 160\r
+ py1(a) = y1 + 80\r
11\r
NEXT a\r
\r
FOR a = 1 TO nl\r
-l1 = lin1!(a)\r
-l2 = lin2!(a)\r
-x1 = px1(l1)\r
-x2 = px1(l2)\r
-LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
-IF (x1 = -1) OR (x2 = -1) THEN GOTO 12\r
-y1 = py1(l1)\r
-y2 = py1(l2)\r
-LINE (x1, y1)-(x2, y2), linc(a)\r
-lbx1(a) = x1\r
-lby1(a) = y1\r
-lbx2(a) = x2\r
-lby2(a) = y2\r
+ l1 = lin1!(a)\r
+ l2 = lin2!(a)\r
+ x1 = px1(l1)\r
+ x2 = px1(l2)\r
+ LINE (lbx1(a), lby1(a))-(lbx2(a), lby2(a)), 0\r
+ IF (x1 = -1) OR (x2 = -1) THEN GOTO 12\r
+ y1 = py1(l1)\r
+ y2 = py1(l2)\r
+ LINE (x1, y1)-(x2, y2), linc(a)\r
+ lbx1(a) = x1\r
+ lby1(a) = y1\r
+ lbx2(a) = x2\r
+ lby2(a) = y2\r
12\r
NEXT a\r
IF kau > 200 THEN kau = kau - 10\r
END SUB\r
\r
SUB sc9\r
+\r
RANDOMIZE 45\r
mkback\r
\r
pri 30, 70 + y, 1, 250, " T�nan t�helepanu eest"\r
inpur\r
\r
-\r
-\r
END SUB\r
\r
SUB start\r
fac = 360 / (pi * 2)\r
getfnt\r
END SUB\r
-\r