'3D Stereo Discs Graphics Program v1 by Qwerkey 10/02/20
'
CONST False
= 0, True
= NOT False
, XScreen%
= 1100, YScreen%
= 800, PiConst!
= 4 * ATN(1), ZOffset%
= -620 CONST Xst%%
= 5, Stereo!
= (5 * 2) / YScreen%
, Rad%%
= 50, Zf!
= 1 'All perspective behaviour handled by _maptriangle(3D), stereo effect x-separation linear with z-
'Software Images (for _MEM processing). Hardware images for display
Balls!
(K%%
, 0) = RND * XScreen%
/ 2 Balls!
(K%%
, 1) = RND * YScreen%
/ 2 Balls!
(K%%
, 2) = RND * YScreen%
/ 2 Balls!
(K%%
, 3) = 2 * PiConst!
* (RND - 0.5) Balls!
(K%%
, 4) = 2 * PiConst!
* (RND - 0.5) Balls!
(K%%
, 5) = 2 * PiConst!
* (RND - 0.5) Balls!
(K%%
, 6) = 0.007 + RND * 0.02 IF RND > 0.5 THEN Balls!
(K%%
, 6) = -Balls!
(K%%
, 6) Balls!
(K%%
, 7) = 0.007 + RND * 0.02 IF RND > 0.5 THEN Balls!
(K%%
, 7) = -Balls!
(K%%
, 7) Balls!
(K%%
, 8) = 0.007 + RND * 0.02 IF RND > 0.5 THEN Balls!
(K%%
, 8) = -Balls!
(K%%
, 8) Balls!
(K%%
, 9) = Stereo!
* Balls!
(K%%
, 2) * SIN(Balls!
(K%%
, 5)) SoftImg&
(K%%
) = _NEWIMAGE(2 * (Rad%%
+ Xst%%
) + 1, 2 * Rad%%
+ 1, 32) FOR N%
= 0 TO 2 * (Rad%%
+ Xst%%
) COff = 4 * (N% + M% * 2 * (Rad%% + Xst%%) + 1) + CMem(K%%).OFFSET
'Screen (Hardware Only)
'Checking off in fully working
Balls!(K%%, 3) = PiBand!(Balls!(K%%, 3) + Balls!(K%%, 6))
Balls!(K%%, 4) = PiBand!(Balls!(K%%, 4) + Balls!(K%%, 7))
Balls!(K%%, 5) = PiBand!(Balls!(K%%, 5) + Balls!(K%%, 8))
Balls!
(K%%
, 9) = Stereo!
* Balls!
(K%%
, 2) * SIN(Balls!
(K%%
, 5)) FOR N%
= 0 TO 2 * (Rad%%
+ Xst%%
) COff = 4 * (N% + M% * (2 * (Rad%% + Xst%%) + 1)) + CMem(K%%).OFFSET
Q0% = N% - (Rad%% + Xst%% + Balls!(K%%, 9))
Q1% = M% - Rad%%
Q0% = N% - (Rad%% + Xst%% - Balls!(K%%, 9))
Zpos!
= Balls!
(K%%
, 2) * SIN(Balls!
(K%%
, 5)) * Zf!
+ ZOffset%
X1!
= Balls!
(K%%
, 0) * SIN(Balls!
(K%%
, 3)) + Rad%%
+ Xst%%
X0!
= Balls!
(K%%
, 0) * SIN(Balls!
(K%%
, 3)) - (Rad%%
+ Xst%%
) Y1!
= Balls!
(K%%
, 1) * SIN(Balls!
(K%%
, 4)) - Rad%%
Y0!
= Balls!
(K%%
, 1) * SIN(Balls!
(K%%
, 4)) + Rad%%
_MAPTRIANGLE (0, 0)-(2 * (Rad%%
+ Xst%%
), 0)-(0, 2 * Rad%%
), HardImg&
(K%%
) TO(X0!
, Y0!
, Zpos!
)-(X1!
, Y0!
, Zpos!
)-(X0!
, Y1!
, Zpos!
) _MAPTRIANGLE (2 * (Rad%%
+ Xst%%
), 2 * Rad%%
)-(0, 2 * Rad%%
)-(2 * (Rad%%
+ Xst%%
), 0), HardImg&
(K%%
) TO(X1!
, Y1!
, Zpos!
)-(X0!
, Y1!
, Zpos!
)-(X1!
, Y0!
, Zpos!
)
PiBand!
= PiAngle!
+ _PI(2) PiBand!
= PiAngle!
- _PI(2) PiBand! = PiAngle!