gigatron/rom/Contrib/kervinck/Cube.gtb
2025-01-28 19:17:01 +03:00

46 lines
735 B
Plaintext

'DRAW 3D CUBE WITH SOME
'ROTATION AROUND X
10 CLS:U=48:GOTO 100
'ROTATION AND PROJECTION
20 R=K+L+F
25 P(I)=80+X/R
30 Q(I)=60+(M-N)/R
35 P(I+4)=160-P(I)
40 Q(I+4)=Q(I)
45 I=I+1:RETURN
'DRAW EDGE
50 X=P(A):Y=Q(A):AT X,Y
55 LINE P(B)-X,Q(B)-Y
60 RETURN
'SETUP CAMERA
' S=SIN C=COS F=FLEN
100 S=24:C=42:F=3*U
'PROCESS CUBE CORNERS
110 I=0:X=U*U
120 K=S:M=U*C
130 L=C:N=U*S:GOSUB 20
140 L=-L:N=-N:GOSUB 20
150 K=-K:M=-M:GOSUB 20
160 L=-L:N=-N:GOSUB 20
'DRAW CUBE
200 A=0:B=1:GOSUB 50
205 A=1:B=2:GOSUB 50
210 A=2:B=3:GOSUB 50
215 A=3:B=0:GOSUB 50
220 A=4:B=5:GOSUB 50
225 A=5:B=6:GOSUB 50
230 A=6:B=7:GOSUB 50
235 A=7:B=4:GOSUB 50
240 A=4:B=0:GOSUB 50
245 A=5:B=1:GOSUB 50
250 A=6:B=2:GOSUB 50
255 A=7:B=3:GOSUB 50
300 AT 2,104:END