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

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


I'm sure almost everyone has come across some version of this 3d surface
program in some form or othe (sombrero, etc.)  However, all the versions
I have seen take about an hour to draw the whole thing.  Here's one I wrote
in C and machine code that only takes a few minutes.  (UUencoded EXE file.)

Enjoy...


***************************************************************************
Dale Gass, Dalhousie U., Halifax, N.S., Canada

UUCP:   {seismo|watmath|utai|garfield}!dalcs!dalegass.UUCP
     				       or dalegass@dalcs.UUCP
        ...!dalcs!dalcsug!dalegass.UUCP  or dalegass@dalcsug.UUCP
CDN:    dalegass@cs.dal.cdn
CSNET:  dalegass%cs.dal.cdn@ubc.csnet
ARPA:   dalegass%cs.dal.cdn%ubc.csnet@CSNET-RELAY.ARPA






!!!!!!!!!!!!!!!!!!!!!!!!!!!! CUT HERE !!!!!!!!!!!!!!!!!!!!!!
begin 600 plop.exe
M35H  @@  0 @ !$$__^9 (!%   5!   (          6!               
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
M                                                            
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
M!'<$@P2/!)P$J 2T!,$$S039!.4$\@3^! H%%@4C!2\%.P5'!5,%7P5K!7@%
MA 60!9P%J 6T!< %S 78!>0%\ 7\!0@&% 8?!BL&-P9#!D\&6P9G!G(&?@:*
M!I8&H0:M!KD&Q ;0!MP&YP;S!OX&"@<6!R$'+0<X!T0'3P=:!V8'<0=]!X@'
MDP>?!ZH'M0?!!\P'UP?B!^T'^0<$" \(&@@E"# (.PA&"%$(7 AG"'((?0B(
M"),(G@BH"+,(O@C)"-0(W@CI"/0(_@@)"10)'@DI"3,)/@E("5,)70EH"7()
M? F'"9$)FPFF"; )N@G$"<X)V0GC">T)]PD!"@L*%0H?"BD*,PH]"D<*40I:
M"F0*;@IX"H$*BPJ5"IX*J JR"KL*Q0K."M@*X0KK"O0*_0H'"Q +&0LB"RP+
M-0L^"T<+4 M9"V(+:PMT"WT+A@N/"Y@+H0NJ"[,+NPO$"\T+U@O>"^<+[POX
M"P ,"0P1#!H,(@PK##,,.PQ$#$P,5 Q<#&0,; QU#'T,A0R-#)4,G0RD#*P,
MM R\#,0,S S3#-L,XPSJ#/(,^0P!#0@-$ T7#1\-)@TM#30-/ U##4H-40U8
M#5\-9PUN#74->PV"#8D-D V7#9X-I VK#;(-N V_#<8-S W3#=D-X WF#>P-
M\PWY#?\-!0X,#A(.& X>#B0.*@XP#C8./ Y"#D<.30Y3#ED.7@YD#FH.;PYU
M#GH.@ Z%#HH.D Z5#IH.H ZE#JH.KPZT#KD.O@[##L@.S0[2#M<.W [@#N4.
MZ@[N#O,.^ [\#@$/!0\)#PX/$@\6#QL/'P\C#R</*P\O#S0/. \[#S\/0P]'
M#TL/3P]2#U8/6@]=#V$/9 ]H#VL/;P]R#W8/>0]\#W\/@@^&#XD/C ^/#Y(/
ME0^8#YL/G0^@#Z,/I@^H#ZL/K0^P#[,/M0^W#[H/O ^_#\$/PP_%#\</R0_,
M#\X/T _2#],/U0_7#]D/VP_<#]X/X _A#^,/Y _F#^</Z0_J#^L/[0_N#^\/
M\ _Q#_(/\P_T#_4/]@_W#_@/^0_Y#_H/^P_[#_P/_0_]#_X/_@_^#_\/_P__
M#_\/ !  $  0 !  $( %__\                       #__P    (  0  
M  0]!0!4;V\@;6%N>2!A<F=S+@                           "D'F@<*
!#00]
 
end