perm filename TEST3.SAI[GEM,BGB]1 blob
sn#030966 filedate 1973-03-27 generic text, type T, neo UTF8
00100 BEGIN "TEST3"
00200 DEFINE !="COMMENT";
00300 DEFINE π="3.1415927";
00400 REQUIRE "⊂⊃⊂⊃" DELIMITERS;
00500 REQUIRE "GEOMES.HDR" SOURCE_FILE;
00600
00700 INTEGER B1,B2,B3,F,E,V,V0,T;
00800 INTEGER WORLD,WINDOW,CAMERA;
00900
01000 ! UNIVERSE CREATION;
01100
01200 WORLD ← MKWORLD; ! MAKE A WORLD;
01300 WINDOW ← MKWINDOW; ! MAKE A WINDOW;
01400 CAMERA ← MKCAMERA; ! MAKE A CAMERA;
01500 BATT(WORLD,WINDOW); ! BODY-ATTACH WORLD TO WINDOW;
01600 BATT(CAMERA,WINDOW); ! BODY-ATTACH CAMERA TO WINDOW;
01700
01800 ! BODY CREATION;
01900
02000 B1 ← MKB(WORLD);
02100 F ← MKF(B1);
02200 V ← V0 ← MKV(B1); XWC(V) ← 2.0; ! FIRST VERTEX.;
02300 FOR T←1 STEP 1 UNTIL 15 DO ! 7 MORE VERTICES.;
02400 BEGIN V ← MKEV(F,V);ROTATE(V,0,0,π/8);END;
02500 MKFE(V0,F,V);
02600 TRANSLATE(F,0,0,+4);
02700 SWEEP(F,0);
02800 TRANSLATE(F,0,0,-8);
02900
03000 B2 ← MKCOPY(B1);SHRINK(B2,.2,.2,1.1);
03100 ROTATE(B2,0,0,π/40);ROTATE(B2,0,-π/2,0);
03200 ROTATE(B1,0,-π/17,0); ! ROTATION CW ABOUT Y-AXIS;
03250 SHOW1(WINDOW,1);
03300 B3 ← BSUB(B1,B2);
03400 KLBFEV(B1);KLBFEV(B2);B1←B3;
03500 ! ACTION;
03600
03700 FOR T←1 STEP 1 UNTIL 30 DO
03800 OUTSTR(13&10); ! FLUSH THE PAGE PRINTER;
03900 WHILE TRUE DO
04000 BEGIN
04100 ROTATE(B1,0,-π/17,0); ! ROTATION CW ABOUT Y-AXIS;
04200 FOR T←1 STEP 1 UNTIL 40 DO
04300 BEGIN
04400 ROTATE(B1,π/20,0,0); ! ROTATION CCW ABOUT X-AXIS;
04500 SHOW1(WINDOW,1); ! DISPLAY A SIMULATED IMAGE;
04600 IF INCHRS≥1 THEN DONE; ! EXIT ON TYPE-ANY-KEY;
04700 END;
04800 END;
04900
05000 END "TEST3"; BGB 24 MARCH 1973.