https://youtu.be/6I7JCuzG_GU
Code: Select all
10 REM Spinning soccer ball
20 REM!Keep p, q, r, s, t
30 MODE 9 : OFF
40 ORIGIN 640,512 : COLOUR 130
50 DIM xyz(59,2), tmp(59,2), b(2,2), c(2,2)
60 s = SQR5 + 1 : p = s/2 : q = p+2 : r = s+1 : t = p*3
70 FOR I% = 0 TO 59
80 READ xyz(I%,0), xyz(I%,1), xyz(I%,2)
90 NEXT
100 *REFRESH OFF
110 b = 0.5 : c = 0
120 b() = COS(b), 0, SIN(b), 0, 1, 0, -SIN(b), 0, COS(b)
130 REPEAT
140 c() = COS(c), -SIN(c), 0, SIN(c), COS(c), 0, 0, 0, 1
150 c() = c() . b() : tmp() = xyz() . c()
160 CLS
170 GCOL 3 : CIRCLE FILL 0, 0, 432 : GCOL 0
180 I% = 0
190 FOR J% = 0 TO 11
200 z = 0
210 FOR K% = I% TO I% + 4
220 z += tmp(K%,1)
230 NEXT
240 FOR K% = 0 TO 4
250 X% = 3200 * tmp(I%,0) / (36 + tmp(I%,1))
260 Y% = 3200 * tmp(I%,2) / (36 + tmp(I%,1))
270 IF K%<2 MOVE X%,Y% ELSE IF z<-2.5 PLOT 85,X%,Y%
280 I% += 1
290 NEXT
300 NEXT J%
310 WAIT : *REFRESH
320 c += 0.03
330 UNTIL FALSE
340 END
350
360 DATA 0, 1, t, -p, 2, r, p, 2, r, -1, q, s, 1, q, s
370 DATA 0, 1, -t, -p, 2, -r, p, 2, -r, -1, q, -s, 1, q, -s
380 DATA 0, -1, t, -p, -2, r, p, -2, r, -1, -q, s, 1, -q, s
390 DATA 0, -1, -t, -p, -2, -r, p, -2, -r, -1, -q, -s, 1, -q, -s
400 DATA 1, t, 0, 2, r, -p, 2, r, p, q, s, -1, q, s, 1
410 DATA 1, -t, 0, 2, -r, -p, 2, -r, p, q, -s, -1, q, -s, 1
420 DATA -1, t, 0, -2, r, -p, -2, r, p, -q, s, -1, -q, s, 1
430 DATA -1, -t, 0, -2, -r, -p, -2, -r, p, -q, -s, -1, -q, -s, 1
440 DATA t, 0, 1, r, -p, 2, r, p, 2, s, -1, q, s, 1, q
450 DATA t, 0, -1, r, -p, -2, r, p, -2, s, -1, -q, s, 1, -q
460 DATA -t, 0, 1, -r, -p, 2, -r, p, 2, -s, -1, q, -s, 1, q
470 DATA -t, 0, -1, -r, -p, -2, -r, p, -2, -s, -1, -q, -s, 1, -q