[comp.sys.ibm.pc] 3d animations program

dalegass@dalcs.UUCP (01/19/87)

Here's an impressive three dimensional animation program I wrote for 
the IBM-PC.  It has had quite an evolution: originally written on an
Exidy Sorcerer, then an Apple II, and finally this souped-up PC version.
It is only about 8K long, but it does quite fast and smooth animation
of five objects simulataneously.

It is in UUencoded ARC format.  Enjoy...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CUT HERE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
begin 600 3d.arc
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
M, 9O0 =I$ 8L  )#$ 9N$ 9D$ 8 ( 0PX 0@$ -#8.@ $ /\H"!\P \*<@QC
M!@ QP _Z8$C\H \ T 7]H" XP-P ( C,#0 2T _Z  "HT _Z  #ST \*,@_]
MH \(Z0_Z   0IR!JL#+_ '$3H08> 0 0IP\ H ;_H \ 4 LK\P]+   *4@O_
MH \ L 0 H \ 8 D H" L$  *8@D H \ P (!H \ P$4*8J *PD438: 3P47Z
M   &J@\ @ 4"H""C(  *HJD*@@4"H \ , H"H \ H*GZ   Y@!G_\ R8\0\Y
M$"@ 0 B! @ Y, #Z  #/, #Z\!$#<! ' 1_PH4(J%"B!<AED-!53D0  H!=>
ME!0+D%P P   H#R"(>\%4<U/-@$ 0 $ 0 $ L($;6 $ 4 $ , $ 8!$9   9
M   :   :   %P@$ L $ L $ T $ T %"(B0(@1  \ $ $ ( , ( ( ( 4 ( 
M0 (5#@ H   G   G\(S/" !+G@( X+N0@!<3@0<$\ X(8 8-P T1  46( P:
M, ,?$ HCP  H0 <LD TPH ,U8 DY\ X]( 1" "-&D U*P %/@ 53\ A7X M;
M8 Y?< !D  )H$ -LD -PD -T\ )XP %\  " (*ZI< C>?@*/8 V2D >6$ &:
MP F=L &AX BD, ^GP 2K< FN4 VQ4 "UH,DZL L_X LU$ P;0 SS8 R[D QS
MP P<\ RT$ T\0 VS8 T:D UOL VTT WG\ T)( X90 X78 XTX0WI8 KKP 7M
M\ _N "/PX #R@ ?S  WT4 'V< 3W4 ;X  ?Y@ ;Z(),<P _9P ^"T \8X ^9
MX _. @;_8 K_@ W_ $>7@1"0D  P  D%  *0( $P @20\  ,  D*  09D0"0
MX(Z00 %   D&H "08  "  D4  200  )L=T-\1$9Y!&7 1\'<1D$@ $9  !4
M\ 9O  )M$ 9ND <@$ 9R< 9SX (?40$$L 'OK@#* PD. !H(4D5!1$U%  \#
M   $OO4%   N#CVZ$?K1"P  #" @@9A!!$00-VG:A*&3YHT;$%#DO#DC)TR;
M!@H"DA"2!P21,&S*@#@29LX<C"@S0E) !8U(.!(I6@0!XL0,,B= P"DCQ\P;
M.6WFT PST 8,$&3*4"PC4B*=A0T?.@11)LP8-"#>F %A)HV=,A@#*G@C1DV9
M,73FL  QA\[/-&[.@*#C$D3",&?*"(4+HDV9-C_SK WCA@P(-@MYTH3YQBQ:
MN'+I_@V[LDV=JUQ+TE%\QBODN7+JB*0KARG2A&7<S(D*$@3ANPP=ND@IMN7+
MF!7;T"P=ITZ:TD()TTPBI$D+*$.RRJ$YYDT;.%#%A%Q[)PU=UR"&' D" D4:
M%V5FJU1@@P8,/#)@'+63)ND;$+E! &&KU*\;.B#$X%"/AD4*UX7I5)H9/%4D
M74?EP; $?!:)1QE+=3$FDVYI[.6&'6^L489A8N1!V0,W@;!'6V7 L9H>9?3Q
MX!TNE<;69B:F@:)=P4D%1VQNM':B2-WQE=12>OV7U5:2T;3CD ]6A1F)<-#$
M5Y'PO?$4CMTE9488=;"1UESOU>""D+9Q!9=B*,RA$!LAR9'"@W15^&*):Q6Y
M5&++%>D78')T!%\9O?VV(9=&NN5BD7?E-8=XM=757!ARS*%8=XC)D9>:<Z'A
MYIMPQ%E79B3665=7.;(!(&Q1K9@&FOF%1]M*24@E1U)UOM?63Z-]FJ6H11WU
M8VD\.@650T)I19.26 DKV8-=?95566=MZ1I^15J)I99[SO$&&W7\^A *-2"E
M%*^8SO$?47/2\6!2K0E[9V T[MEG:62X0-,5UF&5X()$ 7=M'50."0(--"G4
MD1A@C7?5&XZZ,5B ;0K5%9K!L0%86ZZA:FQ=Z^;IX'A)$+FIA/&%IAI-;_#K
M;\8=H? 3@!UIV)&;EN)'L$^#NO2@KS@&YR*H%;I$QG]%@CQ3=:@RYAA^+"YD
M%](EN29=P6*YY=H8S3W'1L_R0C+ %.^!D$?)((PAW,$(BT04DVS)*)*P,=BU
MU==U@%#='/T]*(;)#K'1D4,B=75&'2[*?2JN!#-76F)DK.6:4)7RB#)-1(M*
M,+*#;[AQHB*-<7B_PA:J5]C"%8X&2)L9IC1A'3'D5WX=P:37:G&Q_*#+\H(0
MIM"ZW5$R&X9)]I" C37;N),*&;HTY$V'\327#VI>U6:7K_2$&V/P"*7SVI*\
ME5W%?]YNU7"$M%EW*RO_4^GC,FSS>$8W&U6[!'^V4T\_^94X?5]5)*K+C(^N
M;!EF(!!:2/:0ACVH?6@YU(=.T(*<3($-;[B#4,@0P0+690X[^9.P$(BC!:[ 
M@1DD@U#JT*2@2>1H)U') Z10!"J H AXL(Y0</<A#(X!!%. 3$C"Q3V\? X%
MJ .!RZI5![\(I3GW@4L=2C;#$WXI)0_J&,O$\ 8RZ$EW63+,U30TO!-\A UH
M8&(:RI 3")[A/:4)GU7^U"&V.*<,;8I+DMC@J.XH15[@"V*._/(?FGD+,#H!
M'!S*IA80) %R@TL5(M'T&;<\""YM 8FH)/.;PTSD/7XD"H'6MA42W,!+ZHF>
M K@&N.HQIXH\NE08[!"&4REOAX"J5-F<=!^>Z*5T-/$C=C:)I/&0( :A#"44
MQW.0CO3FEE&9PPNJ9I\MB>TAA5/(J?XDM=4US2=HBN <=+ J!52A"D. @@X"
M4H 1E:%"@.'#'1:B$+KP@5^MY,,9&-65,O N!2$@ TC&,(=\@D0I)3G4-\-)
MF1:L3)\AF:=)Y(.4?0H4G%"@# 5<H#5_LH&?%N5G'<Y@48":Q 4#A0)-"GK0
M?RIT#D! J$;/ %*(/F@(1'#"."%A (1Z%*7\= %"73 &,KCAI5-P0@MG2@";
MGK0$.=UI3]T A#J(80P\G8,;X/B@($@!"D&8:0&,&E"D'DJI/BV!4Z'*SZG2
M 0A#"&H+6\!")@0A"RZP*E:[N3+2E.P,6"D2'4+3EHX,@3!A($,:A ,%A#U%
M5%/@"7NJQTT%/.B+(B&)21XD!1=4%@0C $$,6/ @(4@D0_7DW5J<\ 96XK Y
/# E#9V'@!,T. 08I 1H 
 
end