THE PAST MASTER CLUB


STERUO SCOPIC.HTM



' ** (Sterioscope) 1998 BY NICK K. VAN VLIET DEC/1996 VERS2.1
' ** A STUDY IN 3D
' THE LEFT 2 OBJ ARE THE SAME THE RIGHT 2 OBJECTS ARE EACH ROTATED IN
' OPPOSITE DIRECTIONS: SO THEIR TIPS ARE POINTED AWAY FROM EACH OTHER.
' THE FURTHEST RIGHT OBJECT IS DRAWN AS IF ITS BEHIND THE FIRST OBJECT:
' DISTANCE BETWEEN THEM IS INCREASED -THE MORE APART THE FARTHER BEHIND IT IS.
' IT'S THE THINESS AND WIDENESS OF THE 2 RIGHT OBJECTS THAT GIVES THE OBJECT
' 3D QUALITY TO THE EYES. -YOU CAN INCREASE OR DECREASE THIS TO SEE THE
' EFFECTS IT HAS ON ITS OWN 3D DEFINITION - NO DIFFERENCE GIVES IT 2D
' DEFENITION.
' TRY TO SEE THE 2 OBJECTS AS THE SAME OBJECT BUT WITH OPPOSITE TWIST.
' TO VIEW 3D: HOLD A LONG PLAIN SHEET VERTICALLY BETWEEN THE CENTER OF THE
' SCREEN AND YOUR NOSE SO THAT EACH EYE SEES ONE OBJECT AND THE MIND SEES A 3D
' PROJECTION OF THE DESIRED EFFECT.

10 DEFINT A-Z 'integer

20 SCREEN 12 'high resolution graphics mode 640x320
30 RANDOMIZE TIMER 'seed random number generator

60 X1 = 50 + RND * 100 'COORDINATES
70 X2 = 50 + RND * 100
80 Y1 = 200 + RND * 100
90 Y2 = 200 + RND * 100

100 IF (ABS(X2 - X1) < 20) THEN GOTO 60
110 IF (ABS(Y2 - Y1) < 20) THEN GOTO 60
120 IF ((ABS(X2 - X1) < 20) AND (ABS(Y2 - Y1) < 20)) THEN GOTO 60

160 COLOR RND * 14 + 1 'set current color to random (1 to 15)

180 REM DO
190 REM DO

200 StepX1 = RND * 2 - 1 'set Step to random (-3 to 3) '6 -3'
210 StepY1 = RND * 2 - 1
220 StepX2 = RND * 2 - 1
230 StepY2 = RND * 2 - 1
240 IF (StepX1 = 0 OR StepX2 = 0 OR StepY1 = 0 OR StepY2 = 0) THEN GOTO 190
250 IF (StepY1 / StepX1 = StepY2 / StepX2) THEN GOTO 190
258 IF (StepX1 = StepX2 AND StepY3 = StepY4 AND StepX1 = StepY3 AND StepX1 = 0) THEN GOTO 180

260 FOR Times = 1 TO 400 'NO of lines
350 COLOR RND * 14 + 1 'colors:1-15
360 DWGOFFSET = 320
370 X3 = X1 + 50 '320 X0'=50
380 X4 = X2 + 50
390 X5 = X1 + DWGOFFSET '640/2 X0''=300
400 X6 = X2 + DWGOFFSET
410 X7 = X3 + DWGOFFSET + 20 'DISTANCE OR MAGNIFICATION=10 RELATIVE+ ROTATION
420 X8 = X4 + DWGOFFSET + 20
430 Y3 = Y1 '320/2
440 Y4 = Y2

470 IF (X1 < 2 OR X2 < 2 OR X3 < 0 OR X4 < 0) THEN Times = 1000
475 IF (X1 > 300 OR X2 > 300 OR X3 > 300 OR X4 > 300) THEN Times = 1000
480 IF (Y1 < 2 OR Y2 < 2 OR Y1 < 0 OR Y2 < 0) THEN Times = 1000
485 IF (Y1 > 600 OR Y2 > 600 OR Y1 > 600 OR Y2 > 600) THEN Times = 1000

490 LINE (X1, Y3)-(X2, Y4) 'NORMAL
500 REM LINE (X3, Y3)-(X4, Y4) 'NORMAL

510 LINE (X5, Y3)-((X6 - 10), Y4) '3D DEPTH: ROTATION- DEEPER
520 REM LINE ((X7 - 0), Y3)-((X8 + 10), Y4) '3D DEPTH: ROTATION+ CLOSER

530 G = 2 '3
540 X1 = X1 + (StepX1 * G) 'step value 2
550 Y1 = Y1 + (StepY1 * G)
560 X2 = X2 + (StepX2 * G)
570 Y2 = Y2 + (StepY2 * G)

610 NEXT

620 Count = Count + 1 'count loops
630 IF Count = 2 THEN 'NOT RECOMMENDED FOR > 3 loops
632 LOCATE 1, 1
634 COLOR 3
635 REM INPUT "HIT ENTER", U$
638 FOR I = 0 TO 9000: FOR J = 0 TO 50: NEXT J: NEXT I 'PAUSE
640 Count = 0
650 CLS
660 END IF

670 KeyStroke$ = INKEY$ 'get any keystrokes
680 IF LEN(KeyStroke$) THEN KeyVal = ASC(KeyStroke$) 'convert to an integer

690 FOR PAUSE1 = 0 TO 1000
700 FOR PAUSE2 = 0 TO 40
710 NEXT
720 NEXT

740 IF KeyVal <> 27 THEN GOTO 60 'keep 'DO'ing until escape is not pressed ESC

750 END




RETURN TO TOP
RETURN TO PMC MENU
HOME PAGE
You are visitor no. to this page.
Hosted by www.Geocities.ws

1