' +JJJJ ?\>m0M='+l> /+l   d]@ŵLҦ]]LF L}BBL] X  ` 鷎귭෍ᷩ췩緈JJJJx Lȿ L8ᷭ緍췩 緍i 8 `巬 췌`x (`(8`I`B` ``>J>J>VU)?`8'x0|&HhHh VY)'&Y)xꪽ)' `Hh`V0^*^*>&` aI꽌ɪVɭ&Y&&Y& 꽌ɪ\8`&&꽌ɪɖ'*&%&,E'зЮ꽌ɪФ`+*xS&x'8*3Ixix&& 8  '  & x)*++`FG8`0($ p,&"ųųೳŪŪųųij  !"#$%&'()*+,-./0123456789:;<=>?   1 '" *"( (9"1 ( ,.(0# 2  /#0/#0 *?'#07#00/0/'#07#0:"4<*55/**5/*%5/)1/)1/)1/)'#0/#0*5/*75/**5/*:5//#0/#0'#07#0:::*::'#07#0"):$(%"%:$(%"%$$2%4%$$2%4%$(2()!)E(!8b $!H(+ "@H !D)"E` @ $ C ` DQ &J80^݌Hh ü ü݌ ռ ռ ռA ļD ļ? ļAEDE?HJ>h Լ ռ ռ ռ`HJ>݌h Hh݌`葠葠ȔЖȔЖȠHIHHHHhHH݌hHhHh݌H6 VDP (ED Z $0x8x D- ܸDD# H8`?E Vk *f???0xE Hh D#-EEE8` D ܸx D - ܸx8`-0ݩ?ʥD EEE`   LDcpq` [` ~  LӜu`".Q`pNФbptťܥm2<(-Py0\|e<6e<g< JJJJj귍hI  aUL@ kU8  L  Q^R(jQ0l^l\  wUuW ԧ H h@ [_ /QSIRb_L`LLLL`ª`LQLYLeLXLeLee ўQH\(h0L& Ꝥ$`( R \ZLl8 ўR HH\`\Z[YS6`LxQɿu3'RͲʎRʎ]]]ɍuL͟ɍ}RLRɍg^H8 ^hZLɍR LͲɊRR% QLܤͲ Z@ -^ ş\[Z QY\[Z8`l6Lş_Ȍb_Ͳ] )Y h( ֭ͲLɍ [LLĦ__ ^ 9 LҦ3 9 a   0LjLY u< (_9 ˭ɠuɠK_9 ?LˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^Lõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- ( N  Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈ۭm浍浭m䵍䵩m嵍`"L ŵ8ŵH ~(` d ֠z# u`LOOP dX10101 n6,0, xY10108 ZZ(X)B 1013K Y,X] THETA0.4Āx 230,96:THETA0.45:47X%250,50:252,51:254,48:238,49' &^ 'Z(X)7(0.1(XXYY))5(0.3((X6)2YY))d ( *:3:49229,0:49236,0 +230,96:62450:230,64 -THETA0.4 /S1(TH):C1(TH) 2PHI1.25:S2(PH):C2(PH) P255,0 Z POINT GENERATING yHIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (8192)(8193)385Č8192:20 (4);"BRUN PROJECTION+HIDE,A$2000"CX140:CY96RHO80:D750# RELOCATE WORKSPACE TO $3000!   n6,0 xY1010 ZZ(X)* 10133 Y,XE THETA0.4Ā` 230,96:THETA0.45:47X%250,50:252,51:254,48:238,49' &F 'Z(X)7(0.1(XXYY))L (g *:3:49229,0:49236,0 +230,96:62450:230,64 -THETA0.4 /S1(TH):C1(TH) 2PHI1.25:S2(PH):C2(PH) P255,0 Z POINT GENERATING LOOP dX10101 aHIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (8192)(8193)385Č8192:20 (4);"BRUN PROJECTION+HIDE,A$2000"CX140:CY96RHO80:D750# RELOCATE WORKSPACE TO $3000!   6,0 xY1010 ZZ(X)' 10130 Y,XB THETA0.4Ā] 230,96:THETA0.45:47X%250,50:252,51:254,48:238,49' &C 'Z(X)(.06(XXYY))I (d *:3:49229,0:49236,0 +230,96:62450:230,64 -THETA0.4 /S1(TH):C1(TH) 2PHI1.25:S2(PH):C2(PH) P255,0 Z POINT GENERATING LOOP dX10101 n^HIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (8192)(8193)385Č8192:20 (4);"BRUN PROJECTION+HIDE,A$2000"CX140:CY96RHO80:D750# RELOCATE WORKSPACE TO $3000!  ";(XP);",-";(YP)350350F0@YPYN(XP)370+JYPYX(XP)4203TF0;^XPMhOXSX:OYSY:[rYN(XP)YPi|FG0410F0ĺ"M";(XP);",-";(YP):F1"D";(XP);",-";(YP)YPYX(XP)350YX(XP)YPFG0460F0ĺ"M";(XP);",-";(YP):F1"DC2YS1C2ZS20ZEXS2C1YS2S1ZC2RHODSXD(XEZE)CXYSYD(YEZE)CYqFL0FL1:F0:360DXOXSX:DX0DX1SL(OYSY)DX:YPOYXP(OX)1SXFG1"YPYPSL,XPLXPR1FG0:F0:3506YPT1YPBFG0:(PHI)%2Z(X)4(.1(XXYY))6<YN(R),YX(R)PFI0R1:YN(I)T1:IlP POINT GENERATING LOOP{ZX881dFL0nY88.5xZZ(X)190:(4);"PR#0"PLOTTING SUBROUTINEXEXS1YC1YEXC1## PROGRAM 7.6 (HIDDEN LINES)WHIDDEN LINE ELIMINATION FOR SURFACES: Z=F(X,Y)oL0:R480:B0:T400 INITIALIZATION(4);"PR#1":(18)3:3:RHO30:THETA.4:PHI1.15:D600:CXR2:CYT2S1(THETA):C1(THETA)(S2(PHI):C2    0 ^XPhOXSX:OYSY:)rYN(XP)YP7|FG0410KF0ēXP,YP:F1WXP,YPjYPYX(XP)350xYX(XP)YPFG0460F0ēXP,YP:F1XP,YP350LSXD(XEZE)CX'SYD(YEZE)CY?FL0FL1:F0:360WDXOXSX:DX0DX1oSL(OYSY)DX:YPOYXP(OX)1SXFG1"YPYPSL,XPLXPR1FG0:F0:3506YPT1YPBFG0:F0@YPYN(XP)370JYPYX(XP)420TF1: P POINT GENERATING LOOP1ZX22551:dFL0HnY4019TxZZ(X)]190fY,Xm2L,BR1,BR1,T1L,T1L,B PLOTTING SUBROUTINEXEXS1YC1YEXC1C2YS1C2ZS2ZEXS2C1YS2S1ZC2RHOPROGRAM A6.2?DRAWS UPPER RIGHT IMAGE ON FRONT COVERWL0:R560:B0:T192o 3:7:CXR2:CYT2RH080:D750THETA.4:S1(TH):C1(TH)(PHI1.25:S2(PH):C2(PH)2Z(X)(.06(XXYY))<YN(R),YX(R)FILR1:YN(I)T   F0@YPYN(XP)370+JYPYX(XP)4203TF0;^XPMhOXSX:OYSY:[rYN(XP)YPi|FG0410}F0ēXP,YP:F1XP,YPYPYX(XP)350YX(XP)YPFG0460F0ēXP,YP:F1XP,YP350LLC2YS1C2ZS20ZEXS2C1YS2S1ZC2RHODSXD(XEZE)CXYSYD(YEZE)CYqFL0FL1:F0:360DXOXSX:DX0DX1SL(OYSY)DX:YPOYXP(OX)1SXFG1"YPYPSL,XPLXPR1FG0:F0:3506YPT1YPBFG0:.1(XXYY))<YN(R),YX(R)8FI0R1:YN(I)T1:ITP POINT GENERATING LOOPcZX881ldFL0{nY88.5xZZ(X)190Y,X2L,BR1,BR1,T1L,T1L,BPLOTTING SUBROUTINEXEXS1YC1YEXC1# PROGRAM 7.6 (HIDDEN LINES)WHIDDEN LINE ELIMINATION FOR SURFACES: Z=F(X,Y)oL0:R560:B0:T192 INITIALIZATION3:3:RHO30:THETA.4:PHI1.15:D600:CXR2:CYT2S1(THETA):C1(THETA)(S2(PHI):C2(PHI) 2Z(X)4(  )(0.1(XXYY))12(2(X3)(X3)(Y1)(Y1)): F:3E P255,0a Z POINT GENERATING LOOPs dX1010.5| n6,0 xY1010.5 ZZ(X) 1013 Y,XXHIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (4);"BRUN PROJECTION+HIDE,A$7000"CX140:CY96RHO80:D750(THETA.4:S1(TH):C1(TH)2PHI1.25:S2(PH):C2(PH)1 <Z(X )31.5(XY20)2((XY)1)(F:33P255,0OZ POINT GENERATING LOOPadX1010.5jn6,0{xY1010.5ZZ(X)1013Y,XXHIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (4);"BRUN PROJECTION+HIDE,A$7000"CX140:CY96RHO80:D750(THETA.4:S1(TH):C1(TH)2PHI1.25:S2(PH):C2(PH)<Z(X  )-%'%'%'?@a )-%@!$$,-? -%<"$d-%!$$ -%$2& -$$< - $$$!$$l I ??$$$!$$f`666!$$$$$ - $$?66!$$,-? % $?66!$$,-?- <8d-I$$$?M% - $$66&I $$36!$$l 666#! l &I$l I ??d >>>""*02*"""""""""""""""""6" 00,><"><"">""""0 >>* < *""> "*""""*0">(* & > "" >>""2" "2"* "">>><& * " "  """""""" 6""""""""""" 0>   2 "">*"""" *&"""""̛ A>>8>>><" """>"""     ΦϤ :=G֥ αxαxօ;viΥi й=CЭӥ  8 + 3 +`Ў971/RЈHЩ8Υ ДЌ Τϥ W ΦϤ :А Τϥ W  ᥠ = $   + ^ 3 = + 8 T  = f. +ΥϦ0e. 3 3 +3 ᥠ օ αGДα  = +    = = +   = $ +    = +      = = +  =  ) +  f= +   +Pة  Lrimsritsi ߦ ީ `abc`X,Y,Z,RH,D,S1,S2,C1,C2,CX,CY,SX,SY   = +  =  +    )(.06(XXYY)) F:3& P255,0B Z POINT GENERATING LOOPS dX10101\ n6,0j xY1010v ZZ(X) 1013 Y,X2HIDDEN SURFACE5USES MACHINE LEVEL PROGRAMPTO DO PROJECTION AND nHIDDEN LINE CALCULATIONS (4);"BRUN PROJECTION+HIDE,A$7000"CX140:CY96RHO80:D750(THETA.4:S1(TH):C1(TH)2PHI1.25:S2(PH):C2(PH) <Z(X   ᥠ`š` +   = $ +    = +      = = +  =  ) +  f= +   += $   + ᥠšPة  Lri|msriZsi ߦ ީ `X,Y,Z,RH,D,S1,S2,C1,C2,CX,CY,SX,SY   = +  =  +   = +    = =   )(.1(XXYY)) P:3+ ZX101014 dFL0B nY1010T xZZ(X):1013h (255)255160~ FL0FL1:SX,SY SX,SY Y,XSX,SY Y,XɲSURFACE PROJECTION3USES A MACHINE LEVELPSUBROUTINE TO CALCULATE`PROJECTION (4);"BRUN PROJECTION,A$3000"CX140:CY96RHO30:D350(THETA.3:S1(TH):C1(TH)2PHI1:S2(PH):C2(PH)<C1(TH):C2(PH) FZ(X 140XN:CY96YN# dXXOXN:YYOYN, n1403 xI9 D J1NR TXCYSd YYCXS:XTx SXXCX:SYCYY FL0ēSX,SY SX,SY:FL1 J P!PROGRAM A6.7 (FIGURE 5.1)>DRAWS A CARDIOID AS THEWENVELOPE OF CIRCLESi PI3.14159266XO25:YO0:XNXO:YNYOC(.1):S(.1):N64(C1(PI10):S1(PI10)2:3<I119FTXNC1YNS1PYNXNS1YNC1:XNT ZCX GARAGE DOOR SUBROUTINE'80:SX,SY=ZZ7:80:SX,SYUYY7.5:80:SX,SYkZZ7:80:SX,SYZZ5:YY1:80:SX,SYZZ1:80:SX,SYYY5.5:80:SX,SYZZ1:80:SX,SYYY5.5:80:SX,SYR,6.5, 0,9,0* WINDOWS SUBROUTINE9*80:SX,SYO4YY4:80:SX,SYg>ZZ5.5:80:SX,SY}HYY4:80:SX,SYRZZ5.5:80:SX,SY\YY2:80:SX,SYfZZ5.5:80:SX,SYpYY2:ZZ2.75:80:SX,SYzYY4:80:SX,SY-28,32,20, -28,32,0"14086,-20,9, 6,32,9L0,0,0, 0,0,10fI15:X,Y,Z:810:I0,5,13.5, 0,14,13.5, 0,23,13.50,14,2, 0,23,2I12:X,Y,Z:920:I6,-11,0, 6,-1.5,0 N4:2900,6,0, 0,6,6.5  0,9.5 0-11,-20,23, -11,0,23* :N2:290K D-11.5,33.5,0, -16.5,33.5,0X NN2:290{ X-11.5,33.5,33, -16.5,33.5,33 b140:XP,YPXQ,YQ l-16.5,33.5,0, -16.5,33.5,33 v-28,32,0, -16.5,32,0 160 -28,32,20, -14,32,33 N2:290 6,0,0 N5:290< 0,32,0, -11.5,32,0, -11.5,33.5,0] -11.5,33.5,33, -11.5,32,33s 140:XP,YPXQ,YQ -11.5,32,33, -11.5,32,0 0,32,20, -14,32,31.5 160 -14,0,31.5, -14,32,31.5 140:XP,YPXQ,YQ &0,0,20, -14,0,31: TDATA FOR HOUSE$ ^N11:290H h-11,-20,23, 6,-20,9, 6,-20,0g r6,32,0, 0,32,0, 0,32,20 |0,0,20, 0,0,13, 0,32,13 6,32,9, 6,-20,9 N2:290 6,32,0, 6,32,9 N2:290 6,0,0, 6,0,9 N3:290 0,32,0, 0,0,0,2YPYQ XTXVV1:YTYVV2( I27b VI((U2(XVXQ)U1(YVYQ))(U2(XTXQ)U1(YTYQ)))v V1V12:V2V22 XTXTVIV1:YTYTVIV2 I XV,YVXT,YT  VISIBLE LINE ROUTINE "I1N ,70 6I1ēSX,SY @SX,SY JI1YC1# ZYEXC1C2YS1C2ZS2D dZEXS2C1YS2S1ZC2RHOV nSXDXEZECXj xSYCYDYEZE: HIDDEN LINE ROUTINE 70:XPSX:YPSY 70:XQSX:YQSY 70:XVSX:YVSY 70:XHSX:YHSY V1(XHXV)2:V2(YHYV)2 U1XPXQ:UPROGRAM A6.6 (HOUSE) ADRAWS RIGHT IMAGE ON BACK COVER^THIS IS ALSO FIGURE 7.1g :3RHO100:D390:CX100:CY150THETA.7:S1(TH):C1(TH)(PHI1.3:S2(PH):C2(PH)2350<PERSPECTIVE PROJECTIONFX,Y,Z PXEXS        ((ST$,I,1))32 CH0420, CHHT,VT8 HTHT7? IE CHHT,VT] THTHT7d ^Ij hIv h HT25:VT22, ST$"MISCELLANEOUS":370; HT34:VT9R "ST$"HOUSING":370` ,HT1:VT2~ 6ST$"TRANSPORTATION":370 @HT4:VT14 JST$"FOOD":370 TVT21:HT5 ^ST$"CLOTHING":370 h rHT7(HT1):VT8VT1 |I1(ST$) CHTLTLA(I) nI x:N3& I15= FI(TLFIA(I))TLG K:KX CX140:CY96f IN200 CXCX11((STFI)PI) CYCY11((STFI)PI) THST628FI628 TXCYS:YXSYC:XT CX,CYCXSCX,CYY TH STFI IF PROGRAM A6.5 (PIE CHART)DDRAWS LEFT IMAGE ON BACK COVERl (4);"BLOAD SHAPE ALPHABET,A$6000"232,0:233,961:0:SC1.16(X0:Y75:PI3.141592662C(.01):S(.01)<20,50,30,10,25F3,6,5,2,1PI15ZA(I) d nTH xBOUNDARY CIRCLES" 6: R9095.8:XR:Y0F I063T TXCYSf YXSYC:XT} I0ēCXSCX,CYY CXSCX,CYY I,R%PROGRAM A6.4 (POLAR HEX SIGN)QDRAWS LOWER RIGHT IMAGE ON FRONT COVER_ :SC1.16pCX140:CY96C(.1):S(.1)(POLAR "ROSE"2TH06.3.05<R88(2TH)F7:R0Ē5PXCXSCR(TH)ZYCYR(TH)d140,96X,Y  YX(XP)YPFG0760/F0ēXP,YP:F1;XP,YPD650`PROJECTION - FOR PLANEr XEXS1YC1YEXC1C2YS1C2ZS2 ZEXS2C1YS2S1ZC2RHO*SYD(YEZE)CY4FL1ı>SXD(XEZE)CXHCPOY :XP(OX)1SX DFG1- NYPYPSLL XXP0XP279FG0:F0:650f bYP191YP0FG0:F0z lYPYN(XP)670 vYPYX(XP)720 F0 XP OXSX:OYSY: YN(XP)YP FG0710 F0ēXP,YP:F1 XP,YP YPYX(XP)650.5 ZZ(X):490 Y,X" C PROJECTION AND HIDDEN LINESU XEXS1YC1r YEXC1C2YS1C2ZS2 ZEXS2C1YS2S1ZC2RHO SXD(XEZE)CX SYD(YEZE)CY FL0FL1:F0:660 &DXOXSX:DX0DX1 0SL(OYSY)DX:Y:780 6SX0SX279390) @SY0SY0@ JSX,SYSX,YN(SX)2Y TIPXSX:YN(I)SY:Il ^Z7:FL1:780 hSY191SY191 rSYYX(SX)2ēSX,SYSX,YX(SX)2 |PXSX X FARTHER PART OF SURFACE 5 X5181 FL0 Y130 OF SURFACE! X14181:FL05 YLYS(XXS)SPE YYL17.5V ZZ(X):490_ Y,Xz CURVE OF INTERSECTION FL0 X1418.4 YYS(XXS)SP:ZZ(X):490 X PLANE 3 X1418.4 "YYS(XXS)SP:Z5 ,FL0).02((X10)2))= PR(X)4(.1((X10)2).3((Y6)2))j ZS(X)3(.1((Y8)2).02((X10)2)) dU(X)6(.09(X5)2.09(Y7)2) nZ(X)U(X)R(X)W(X)S(X) xXS8:YS8:X29:Y28 SP(Y2YS)(X2XS) 5 CLOSER PART$PROGRAM A6.3 (SURFACE/PLANE)ODRAWS LOWER LEFT IMAGE ON FRONT COVERe :5:CX140:CY96vRH080:D750THETA.4:S1(TH):C1(TH)(PHI1.25:S2(PH):C2(PH)2YN(280),YX(280)<I0279:YN(I)191:I FW(X)3(.1((Y10)2YSY: rYN(XP)YP" |FG04106 F0ēXP,YP:F1B XP,YPU YPYX(XP)350c YX(XP)YPq FG0460 F0ēXP,YP:F1 XP,YP 350C XP,YP 350SYD(YEZE)CY* FL0FL1:F0:360B DXOXSX:DX0DX1Z SL(OYSY)DX:YPOYm XP(OX)1SXv FG1 "YPYPSL ,XP0XP279FG0:F0:350 6YP191YP0FG0:F0 @YPYN(XP)370 JYPYX(XP)420 TF0 ^XP hOXSX:ORATING LOOP ZX22551% dFL03 nY4019? xZZ(X)H 190Q Y,XX 2y 0,0278,0278,1910,1910,0 PLOTTING SUBROUTINE XEXS1YC1 YEXC1C2YS1C2ZS2 ZEXS2C1YS2S1ZC2RHO SXD(XEZE)CX PROGRAM A6.2?DRAWS UPPER RIGHT IMAGE ON FRONT COVERU :5:CX140:CY96fRH080:D750THETA.4:S1(TH):C1(TH)(PHI1.25:S2(PH):C2(PH)2Z(X)(.06(XXYY))<YN(280),YX(280)FI0279:YN(I)191:I P POINT GENE   144,56144,52148,53148,570l145,54146,5440::RHO435:CX140:CY64:2104DFAKE THIRD IMAGE\N143,56149,57149,59143,58143,55oX145,56147,57b144,56144,52148,53148,57l145,54146,54R210DFAKE THIRD IMAGEN143,56149,57149,59143,58143,55X145,56147,57b0:20:SX,SY&T01870:0RETURN FOR SECOND IMAGE_:T40::RHO435:CX140:CY64:210uDFAKE THIRD IMAGEN143,56149,57149,59143,58143,55X145,56147,57b144,56144,52148,53148,57l145,54146,54R FOR SECOND IMAGE:TSYY9.9:20:Q1SX:Q2SY7Z9.5:20:R1SX:R2SYQY3.9:20:T1SX:T2SYtP1,P2Q1,Q2R1,R2T1,T2P1,P2Z4:Y12.4:20:SX,SYX0:20:SX,SYZ10:20:SX,SYY3.4:20:SX,SYX8.75:20:SX,SYY12.4:20:SX,SYXXY12.4:70bX0:100+lT01940Iv RETURN FOR SECOND IMAGEnT40::RHO435:CX140:CY64:310 FAKE THIRD IMAGE143,55149,57149,59143,58143,55144,56144,52148,53148,57145,54146,54RY3.9:Z4.5:20:P1SX:P2X,SYSX4(TH),SY4(TH)"THBY3.9:Z4.5:20:P1SX:P2SY\Y9.9:20:Q1SX:Q2SYvZ9.5:20:R1SX:R2SYY3.9:20:T1SX:T2SYP1,P2Q1,Q2R1,R2T1,T2P1,P2&Z4:Y12.4:700X0:100:Z10:100DY3.4:100NX8.75:100X,Y:XJMONITORT34^X8.75:Y3.4:Z4:70DhY12.4:100RrZ10:100a|Y3.4:100nZ4:100}T01780DIALSX8.75:Y11:Z6.5:20TH06.3.4SX,SYSX4(TH),SY4(TH)THZ8:20TH06.3.4S100 X BLACKOUT?X8.75:Y3.4:Z4:20:P1SX:P2SYZY12.4:20:Q1SX:Q2SYrX0:20:R1SX:R2SYSL(Q2P2)(Q1P1)4XP1Q1YSL(XP1)P2X,TX,Y"X,SL(R2Q2)(R1Q1)6XQ1R1:YSL(XQ1)Q2@X,TY9:702X9.65:ZZ(X):100.<Y9.25:70FFX9.95:ZZ(X):100OPBOXlZY5.5:X10.4:ZZ(X):70{dY9.5:100nX9.4:ZZ(X):100xY5.5:100X10.4:ZZ(X):100 APPLE 5X9.810.1.1:ZZ(X)Y6:70Y6.3:(X):100YLY.3:1001X9.95:ZZ(X):100?YLY:100GLYNL\Y8.2:70tX9.65:ZZ(X):100| EY8.8:X9.95:ZZ(X):70Y8.45:100X9.75:ZZ(X):100 Y8.8:100X9.95:Y8.45:ZZ(X):100 ] (2.73.45.1X16.25:70,X16.75:1003$YH.Z(X)5.94.2XW8T01480^BAyLY7:X9.95:ZZ(X):70VX9.75:ZZ(X):100`Y6.7:100jX9.95:ZZ(X):100tPP~LY7.27.7.5X10.05:YLY:ZZ(X):70X9.75:ZZ100pT0970zX16:100.Y2.7:100CY2.7:X15.5:70QX16:100eY3.711.2.73tX15.5:70X16:100YX16.25:Z2.145:Y4.7:70Y10.45:100T01070X16.75:100Y4.7:100X16.25:100 Y Y2.62511.425.73$ X14:704 X14.5:100; YU X14.75:Z2.635:Y2.7] 70m Y12.2:100{ T0860 X15.25:100 *Y2.7:100 4Y2.712.2.73 >X14.75:70 HX15.25:100 RY \X15.5:Z2.39:Y2.7:70fY12.2:100 :KEYBOARD- DX13.25:Z3.125:Y3:70= NY12.5:100K XT0670\ bX13.75:100i lY3:100| vY311.77.73 X13.25:70 X13.75:100 Y X14:Z2.88:Y2.625:70 Y12.5:100 T0760 X14.5:100 Y2.625:100 I1182! Y14.625:Z4:702 Y15.25:100A Z2.5:100M XX.75T I] LID 1,1, 1,14.3, 7.75,14.3, 7.75,1, 1,1 Z4:X,Y:70 I14 X,Y:100 I Y0:X11:Z3.5:70 Y15.25:100 &X12.25:Z3.22:70 0Y0:2 17.75, 0, 2* 17.75, 0, 1.25D 17.75, 15.25, 1.25U 17.75, 0, 2e 8.75, 0, 4r "0, 0, 4 ,0, 15.25, 4 6X,Y,Z:70 @I19 JX,Y,Z:100 TI ^X,Y,Z:70 hI13 rX,Y,Z:100 |I T0470 X.875 RHO100:D1100:CX116:CY105> THETA.45:S1(TH):C1(TH)] PHI1.25:S2(PH):C2(PH)f :3} 17.75, 15.25, 2 17.75, 15.25, 1.25 15, 15.25, 0 0, 15.25, 0 0, 15.25, 4 8.75, 15.25, 4 17.75, 15.25, PROGRAM A6.1 (APPLE II)K DRAWS UPPER LEFT IMAGE ON FRONT COVERT 130fXEXS1YC1YEXC1C2YS1C2ZS2(ZEXS2C1YS2S1ZC2RHO2SXDXEZECX<SYCYDYEZE:F20PSX,SYZd20nSX,SYx       ,>(4);"BSAVE ";N$;",A24576,L";ADDR245765H710LHANGE DOT MATRIX"65);"(3) CHANGE STARTING POINT"^5);"(4) SAVE SHAPE TABLE TO DISK"5);"(5) LEAVE THE PROGRAM"A$:A(A$) A1A5710SNNA4ĺ"TABLE FULL":I11000:I:710 A270,240,270,820*::4"NAME ";N$00<:22:"SAVE THIS AS SHAPE NUMBER ";SN1;"(Y/N)";:A$A$"Y"SNSN1:SNNDAADDRTA:TA2SN2,DA256(DA256):TA2SN3,(DA256)A$"N"A$"Y"670TA,SN::17:"CHOOSE: "5);"(1) DRAW ANOTHER SHAPE"5);"(2) CEBYTE1:6507XCODE256ĹADDR,CODE:BYTEBYTE2:650KbCODECODE64C3lCODE0ĹADDR,64:ADDR1,3:ADDRADDR1:BYTEBYTE1:650vCODE8ĹADDR,CODE:650ADDR,CODE:BYTEBYTE1ADDRADDR1:BYTEBYTE1:530TA,SN1:233,96:SN1200,1YTE1):C2255ĹADDR,C1:ADDR1,0:ADDRADDR2:660t&C3(BYTE2):C3255ĹADDR,C18C2:ADDR1,0:ADDRADDR2:6600CODEC18C264C3:CODE0ĹADDR,64:ADDR1,24:ADDRADDR1:BYTEBYTE2:650DCODE8ĹADDR,CODE:650 NCODE64ĹADDR,CODE:BYTY150YY10:(7);:V1JV$"L"VP3:XX10:X0XX10:(7);:V1`V1ĕ1X,Y:410xADDR,V:ADDRADDR11X,Y:P0:V1:410ADDR(TASN22)256(TASN23)TA:BYTEADDRC1(BYTE):C1255ĹADDR,0:ADDRADDR1:6602C2(BS SHAPE (Q)"; 23:35:V$:D V$"Q"ĹADDR,P:ADDR1,255:520O 1X,Y V$"P"P4:IX3X3:I,Y3I,Y3:I:1X,Y:410 V$"U"VP:YY10:YRYY10:(7);:V1 V$"R"VP1:XX10:XCXX10:(7);:V1V$"D"VP2:YY10:Y1 JX10X15:Y15510Y1F TADDR(TASN22)256(TASN23)TAX ^232,0:233,3l h1X,Y:P0:V1 r:21:"TABLE CAPACITY: ";N;" SHAPES-THIS IS # ";SN1 |22:10);"DIRECTION (U/D/L/R) " 23:"CHOOSE: PLOT (P)" 24:10);"QUIT THIESIGN GRID"7 "NUMBER OF COLUMNS (1 - 15) ";C:C10Cd "NUMBER OF ROWS (1 - 15) ";R:R15010Rj  IR15010:0,IC,I:I "IOC10:I,RI,150:I ,A1330 6:21:"STARTING POSITION? LOWER LEFT IS (1,1)" @"COLUMN ";X1:"ROW "; "IT PRESENTLY HAS ";SN;" SHAPE(S) IN IT":? I12500:IH 240v ::"NUMBER OF SHAPES IN THIS TABLE: ";N TA,0:TA1,0 DA2N2 TA2,DA256(DA256) TA3,(DA256) ITA4TA2N3:I,0:I :"CHOOSE SIZE OF SHAPE D"N --> START A NEW SHAPE TABLE":F F"YOUR CHOICE ";(95);:12:A$V PA$"N"180f ZA$"L"40 d:"NAME OF THE TABLE ";N$ n(4);"BLOAD ";N$;",A$6000" xN((TA2)256(TA3)2)2 SN(TA): "THIS TABLE CAN HOLD ";N;" SHAPES":.6 )PROGRAM A2.2 (SHAPE CONSTRUCTION)SASSISTS IN CONSTRUCTING SHAPE TABLESi 3:1:0:TA24576768,1:769,0:770,4:771,0772,58:773,36:774,45:775,54:776,7:778,0(::"CHOOSE:":2"L --> LOAD A SHAPE TABLE FROM DISK":# <   TXCYS:YYCXS:XT0 SXSCXCX:SYCYY> FL1240N SX,SY:FL1Z SX,SYc J:I2A,B:2C,D d75:I063/ nI:1140,96> xJ115:Jk I8ę2:1:2A,B:AA3:BB3:2A,B:75 I19ę2:1:2C,D:CC3:DD1:2C,D:75 A140ĉ:: I:1140,96 I:100 2,0,6,0,8,0,4,0,109,229,240,54,14,4,0 J1N dPROGRAM A2.1 (RADAR)?ILLUSTRATES THE USE OF SHAPESY I768782:X:I,X:Ik233,3:232,0w:0:2(DT.1:C(DT):S(DT):N6.4DT2CX140:CY96:SC1.16:X50:Y0:FL0<190FX30:Y0:FL0:190PA175:B61:C191:D113 Zz#ij Ҡ Ǡ зҳԠзԠıIJ ͠ ŠΠ Π ΠŠ ΫŠ Ԡ ŠԠ ͠ ͠ ͠͠ ͠ ͠ ͠ "͠" ͠" ͠"͠"͠"͠"͠͠ ͠͠ ͠ ͠!͠! ͠  ͠͠͠͠ ͠͠͠ ͠ ͠͠͠͠͠ ͠ ͠͠ ͠ ͠͠͠͠  ͠ ͠͠͠͠͠͠  ͠͠͠ ͠͠͠͠  ͠ ͠͠͠͠͠ ͠  ͠ ͠͠͠͠͠ ͠Ϡ ͠͠͠͠͠͠6384)155Ĺ16368,0:::! 20#PROGRAM 1.4 (MOIRE)BDRAWS OVERLAPPING RANDOM PATTERNSL :A5hX1(1)279:Y1(1)191{CC1:C8C0(C:Y1912X0279A<X,191X1,Y1279X,0FXPY0191AZ279,191YX1,Y10,YdYnI1500:I x(1 PROGRAM 1.3 (SPACE SHIP)LUSES HPLOT TO DRAW ELEMENTARY SHAPES W ::3120,170120,50140,20160,50160,170160,120180,170100,170120,1201,Y dYYV:XXDX n40Dx40D#PROGRAM 1.2 (BOUNCING BALL)VSIMULATES A BALL BOUNCING OFF FLOOR AND WALLSo DX4:X8:Y0:A2:V0w:2:2,02,133266,133266,0(3:X,Y:X1,Y2Y132VV:V0V20<X263DXDXFX6DXDXPVVA Z0:X,Y:XPROGRAM 1.1 (SPACE)?PLOTS RANDOMLY SELECTED POINTSJ ::3WI1100qX(1)279:Y(1)191z(X,Y2ILI ETTERS.# @IT IS BEST TO KEEP BIT@ JPATTERNS UNDER 220 BITSW TTO GET REASONABLEm ^ANIMATION SPEED.L `  0f@f@@@@@@@@@XDISPLAY PROGRAM, SEND* $15 (AGAIN) TO; ROY MYERSP DISPLAY PROGRAMg R. D. 1, BOX 3150 LEECHBURG, PA 15656  LONG NAMES (MORE THAN 12 LETTERS) RESULT IN "SLOW ANIMATION. I CAN ,ALSO DO BIT PATTERNS 6OTHER THAN L X` ~ k e ~ e<  ж @ WRPT `I` ,T`,U``e`e88`  W : : : :,0` IF YOU WOULD LIKE TO HAVE A PERSONALIZED   22925::8:8);"MICROCOMPUTER GRAPHICS"?2240\(10:13);"PROGRAM DISK"{223:25);"COPYRIGHT 1982"<24:27);"ROY MYERS";F16384,128:P:(4);"CATALOG" `0f@f@@@ D     ,PROGRAM 2.2 (BIT PATTERN CHARACTERS)]PLACES LETTERS A AND Z ON THE HI RES SCREENi ::218,20,34,34,62,34,34I8192143661024(X2I,X<IF62,32,16,8,4,2,62PI8193143671024ZXdI,XnIxI!PROGRAM 2.1 (BIT PATTERN)OPLACES THE LETTER A ON THE HI RES SCREENh 8,20,34,34,62,34,34t::21I8192143661024(X2I,X<K$FIPI1 A197F2 A200đ* C:I:SI F0Ē3:1X,Y:1X,Y:300T 1X,Ya F1300o "4:1X,Yv ,I~ 660LdA178C2 nA179C3* xA180C49 A181C5H A182C6d A202XX1:X0X279 A203XX1:X279X0 A201YY1:Y0Y191 A205YY1:Y191Y0 A211SS1:S1S1 A204SS1 A195F0 A196FЀ"PROGRAM 1.9 (ARTIST'S AID)RPROVIDES PAINTBRUSH UNDER KEYBOARD CONTROLd 768,1:770,4v771,0:772,4773,0(232,0:233,32:16302,0:C3:S25:X140:Y96<I164FA(16384):16368,0PA155ĉ::ZA177C1  xYY2:J, 42,85,127,128,170,213,255D.PROGRAM 1.8 (RING)>DRAWS A COLORFUL CIRCULAR BANDX DT.1:C(DT):S(DT)qSC1.16:CX140:CY96z:3(X0:Y802SCXCX,YCY<J120FI163PTXCYS:YYCXS:XTZCL:28,CL:CL255ĮdSCXCX,YCY nI PROGRAM 1.7 (CIRCLE)2CIRCLE GENERATORL DT.1:C(DT):S(DT)eSC1.16:CX140:CY96n:3{(X0:Y802SCXCX,YCY<I163FTXCYS:YYCXS:XTPSCXCX,YCYZID sPROGRAM 1.6 (CURVE);STRAIGHT LINES - - > CURVED :3SY01914j0,Y279Y191,191q(Y #PROGRAM 1.5 (COLORED LINES)SRANDOMLY DROPS COLORED LINES ON THE SCREENY uX1(1)279:Y1(1)191X2(1)279:Y2(1)191(CC1:C8C02C<X1,Y1X2,Y2F20X0A,96A140A,96A140A,96A140A,96A9 x16299D,0C D1DL J,IZ BB:CCb 30Ad&PROGRAM 2.9 (ANIMATED SQUARES)M ILLUSTRATES ANIMATION TECHNIQUESU :jA1:B1:C2:D1vI120(J122230,32J<AABF0P140A,96A140A,96A140A,96A140A,96A140A,96AZAACd3) n140A,96A14+PROGRAM 2.8 (FLASHING X AND SQUARE)QILLUSTRATES USE OF SOFT SWITCHESZ :390,40190,40190,16090,16090,40(90,40190,160:190,4090,1602I1100<J150:JFA1AP16299A,0ZIdI-PROGRAM 2.7 (IMPROVED HCOLOR CONTROL)LSETTING HCOLOR WITH POKES[ :21::2l20,2050,7528,127:COLOR CODE OF HCOLOR=3(100,10210,100200,150LL,%PROGRAM 2.6 (HCOLOR SETTINGS)ECONVENTIONAL COLOR CONTROLT :21::2e20,2050,75l3y(100,10210,100200,150LL,'PROGRAM 2.5 (HIGHER RESOLUTION)FDISPLAYS 14 DOTS PER BYTEN :ZI114aXn(14800,Xy222:I<J1500:JFIP1,129,2,130,4,132,8,136,16,144,32,160,64,192 I /PROGRAM 2.4 (PROBLEM WITH MIXED COLORS)SPLOTTING OVER BACKGROUND COLORb :21::2k0,0v62454}(521,1100,1004 #PROGRAM 2.3 (COLOR PROBLEM)LSOME VERTICAL LINES ARE NOT VISIBLEX ::21_2jI25}(7I,107I,302III     HILE COUNTING FROM 1 TO 40"$ 2550 J120> 16299,0Y 18:41,(41)4:2J1j I11000:Iw 18:2J 16300,0 I11000:I J)556 241,(41)4:"WE ARE NOW PRINTING ON PAGE 2."k <41,(41)4:"GET READY FOR A CHANGE TO PAGE 1."| FI11000:I P16300,0:10 Z"WE ARE NOW PRINTING ON PAGE 1." d"WE WILL DISPLAY EACH OF THE TWO" n"TEXT PAGES REPEATEDLY" x"W(PROGRAM 2.13 (TWO PAGES OF TEXT)_ILLUSTRATES PRINTING, DISPLAYING PAGE TWO OF TEXTBE SURE TO SET PROGRAM POINTERSAT LOCATIONS 103,104BEFORE LOADING OR TYPING THIS PROGRAM :10I20483071:I,160:I16299,0 (4,0 60,0:61,160) 62,255:63,191: 66,0:67,32H 768:240A "16304,0 ,60,0:61,641 662,255:63,95B @66,0:67,32P J768:240^ T16304,0o ^60,0:61,96 h62,255:63,127 r66,0:67,32 |768:240 16304,0 60,0:61,128 62,255:63,159 66,0:67,32 768:240 1630 OR 4 TO SEE THEM":< "PRESS 'ESC' TO END THE PROGRAM":i "PRESS 'RETURN' TO RETURN TO THIS MENU" 16297,0:16302,0 18:A$::X(0) (A$)27ĉ::"DOS IS DEAD!": (A$)13Ĺ16303,0:240 A(A$):A290,340,390,440 2400:0 n230,128:62450- x110,10110,180A 140,10140,180U 170,10170,180i 230,160:62450} 110,10110,180 170,10010,100110,10 "THIS PROGRAM WILL DISPLAY ONE OF FOUR": "HIGH RESOLUTION IMAGES": "PRESS KEYS 1, 2, 3I0PROGRAM 2.12 (ADDITIONAL GRAPHICS PAGES)YDRAWS, DISPLAYS 4 PAGES OF GRAPHICSd ::3x768,160:769,0770,76:771,44(772,2542230,64:62450<140,10140,180F230,96:62450P120,10120,180Z160,10160,180 d 16384,128 xA"PROGRAM 2.11 (NAME COPIER)NUSES MEMORY MOVE TO DUPLICATE A STRINGb 768,160:769,0v770,76:771,44772,254(:2" YOUR NAME, PLEASE ";A$<:A$FL(A$)1P60,0:61,4Z62,255L:63,7d66,L:67,4 n768:  0:61,96 x62,255:63,127- 66,0:67,646 768C8-PROGRAM 2.10 (MEMORY MOVE SUBROUTINE)HNOT A DISPLAY PROGRAMX INITIALIZEl768,160:769,0770,76:771,44(772,2542PAGE 2 TO PAGE 1<60,0:61,64F62,255:63,95P66,0:67,32Z768dPAGE 3 TO PAGE 2 n60,,0,206,0,214,01 Z222,0,236,0,245,0,249,0,255,0e d2,1,9,1,24,1,32,1,44,1: SHAPE TABLE n56,1,67,1,79,1,93,1,102,1 x116,1,127,1,133,1,139,1,148,1 156,1,165,1,175,1,190,1,202,1: ADDRESSING 216,1,228,1,240,1,254,1,8,2 b /PROGRAM 3.3 (SHAPE TABLE ALPHABET FILE)YSAVES A SHAPE TABLE ALPHABET ON DISKl I2457625364sX|I,X(I2(4);"BSAVE SHAPE ALPHABET,A24576,L793"<F63,0,128,0,134,0,142,0,157,0: ----------- P172,0,185,0,200     "VTAB ";VT "HTAB ";HT# 210) O BA8063128VT984((VT1)8)HT_ I1(ST$)w CH((ST$,I,1))32 J07 BA1024J,AL%(CH,J) J BABA1 I "ALN256((ADDRLN)256)# F::21P PVT5:HT5:ST$"BIT PATTERN TEXT FOR HGR"Y Z210 dVT7:HT5:ST$"PROVIDING TEXT, NUMBERS, AND SYMBOLS" n210 xVT10:HT10:ST$"TRY IT!" 210 VT20:HT1:ST$"ENTER:" 210 "STRING ";ST$ <PROGRAM 3.2 (BIT PATTERN TEXT FOR THE GRAPHICS PAGE)mDEMONSTRATES PRINTING FOR THE GRAPHICS PAGE} ADDR0:LN0ADDR(107)256(108)(4);"BLOAD ALPHABET,A";ADDR(LN256(43617)(43616)2110,((ADDRLN)256) <109,ADDR2,62: Z00,62,6,6,6,6,6,62: LEFT BRACKETT0,0,2,4,8,16,32,0: BACKSLASH0,62,48,48,48,48,48,62: RIGHT BRACKET0,0,8,20,34,0,0,0: ^0,0,0,0,0,0,0,62: UNDERLINE S,30,10,18,34: R1l0,28,34,2,28,32,34,28: SLv0,62,8,8,8,8,8,8: Tm0,34,34,34,34,34,34,28: U0,34,34,34,34,34,20,8: V0,34,34,34,42,42,54,34: W0,34,34,20,8,20,34,34: X0,34,34,20,8,8,8,8: Y 0,62,32,16,8,4,,32,32,34,28: J10,34,18,10,6,10,18,34: KL&0,2,2,2,2,2,2,62: Lm00,34,54,42,34,34,34,34: M:0,34,34,38,42,50,34,34: ND0,28,34,34,34,34,34,28: ON0,30,34,34,30,2,2,2: PX0,28,34,34,34,42,18,28: Q b0,30,34,340,30,34,34,30,34,34,30: B; 0,28,34,2,2,2,34,28: C\ 0,30,34,34,34,34,34,30: Dy 0,62,2,2,30,2,2,62: E 0,62,2,2,30,2,2,2: F 0,60,2,2,2,50,34,60: G 0,34,34,34,62,34,34,34: H 0,28,8,8,8,8,8,28: I0,32,32,3234,34,60,32,16,14: 90 r0,0,0,8,0,8,0,0: :J |0,0,0,8,0,8,8,4: ;f 0,16,8,4,2,4,8,16: < 0,0,0,62,0,62,0,0: = 0,4,8,16,32,16,8,4: > 0,28,34,16,8,8,0,8: ? 0,28,34,42,42,26,2,60: @ 0,8,20,34,34,62,34,34: A ,8,12,8,8,8,8,28: 16 "0,28,34,32,24,4,2,62: 2W ,0,62,32,16,24,32,34,28: 3x 60,16,24,20,18,62,16,16: 4 @0,62,2,30,32,32,34,28: 5 J0,56,4,2,30,34,34,28: 6 T0,62,32,16,8,4,4,4: 7 ^0,28,34,34,28,34,34,28: 8 h0,28,0,8,4,2,2,2,4,8: (4 0,8,16,32,32,32,16,8: )R 0,8,42,28,8,28,42,8: *m 0,0,8,8,62,0,0,0: + 0,0,0,0,0,8,8,4: , 0,0,0,0,62,0,0,0: - 0,0,0,0,0,0,0,8: . 0,0,32,16,8,4,2,0: / 0,28,34,50,42,38,34,28: 0 0;LN d) n0,0,0,0,0,0,0,0: SPACED x0,8,8,8,8,8,0,8: !a 0,20,20,20,0,0,0,0: " 0,20,20,62,20,62,20,20: # 0,8,60,10,28,40,30,8: $ 0,6,38,16,8,4,50,48: % 0,4,10,10,4,42,18,44: & 0,8,8,0,0,0,0,0: ' /PROGRAM 3.1 (BIT PATTERN ALPHABET FILE)SSAVES AN ALPHABET FILE ON DISKc ADDR0:LN0rAL%(64,8)~I063(J072AL%(I,J)<J,IFADDR(107)256(108)PLN(109)256(110)ADDR Z(4);"BSAVE ALPHABET,A";ADDR;",L"  H((ST$,I,1))32 CH0230. CHHT,VT: HTHT7A IG 9 FVT7:HT5:ST$"PROVIDING TEXT, NUMBERS, AND SYMBOLS"B P180` ZVT10:HT10:ST$"TRY IT!"i d180 nVT20:HT1:ST$"ENTER:" x180 "STRING ";ST$ "VTAB ";VT "HTAB ";HT 180 HT7(HT1):VT8VT1 I1(ST$) CI=PROGRAM 3.4 (SHAPE TABLE TEXT FOR THE GRAPHICS PAGE) mDEMONSTRATES HIGH RES PRINTING WITH SHAPES (4);"BLOAD SHAPE ALPHABET,A24576"232,(43634):233,(43635)::3:21:1:0(VT5:HT5:ST$"SHAPE TABLE TEXT FOR HGR" <1809,37,39,37,39,253,63,4,0:RIGHT BRACKET F*64,24,97,12,21,21,4,0:^a441,45,37,0:UNDERLINE4,54,28,28,180,35,0:WB33,12,12,28,28,108,9,190,22,21,38,0:Xe73,36,228,28,108,9,246,4,0:Y73,9,63,63,100,12,12,12,60,63,39,0:Z 73,9,63,63,44,60,44,60,44,28,45,45,4,0:LEFT BRACKET72,73,28,28,28,28,4,0:BACKSLASH( 41,45,37,3,4,32,36,28,63,23,54,54,4,0:QL33,36,36,44,45,21,190,63,21,21,21,4,0:Rw8,21,45,12,60,56,231,100,45,21,4,0:S73,36,36,36,63,77,37,0:T9,45,12,36,36,252,27,54,54,38,0:U73,12,12,36,36,223,51,54,174,4,0:V33,36,36,108,9,54,53,36,36,108,9,23,23,23,21,21,21,4,0:KFv73,9,63,63,36,36,36,4,0:Lr33,36,36,172,21,102,96,54,54,54,4,0:M33,36,36,172,170,21,149,36,36,36,4,0:N9,45,12,36,36,28,63,23,54,54,4,0:0 33,36,36,44,45,21,190,63,4,0:P9,37,168,2154,23,63,4,0:D?041,45,37,192,63,55,38,64,3,36,45,45,4,0:Ed:33,36,36,44,45,181,26,63,4,0:FD9,45,37,60,223,34,36,100,45,37,0:GN33,36,36,180,10,45,37,36,150,50,38,0:HX9,45,28,36,36,60,13,4,0:Ib1,168,45,12,36,36,36,0:J&l34,0:>)73,4,32,12,12,28,63,23,4,0:?\9,45,37,64,3,36,28,63,23,54,54,76,229,36,0:@33,36,100,12,14,14,54,63,111,17,38,0:A33,36,36,44,45,21,190,31,109,50,23,63,4,0:B73,9,184,63,28,36,36,12,45,21,4,0:C&33,36,36,44,45,21,54,12,12,60,63,39,0:7O9,45,12,228,63,23,38,64,3,100,45,21,38,0:8 y41,101,12,36,228,63,23,174,45,4,0:973,64,3,4,32,0::9,5,32,4,32,0:;73,225,28,28,12,12,12,4,0:<64,45,45,4,56,63,39,0:=9,12,12,12,28,28,28,9,45,28,36,36,188,4,0:1E r73,9,63,63,100,12,101,228,63,23,4,0:2o |8,21,45,12,228,103,5,32,63,63,4,0:3 73,33,44,31,63,100,12,12,54,38,0:4 8,21,45,12,36,28,63,39,44,45,37,0:5 9,45,12,228,63,55,38,64,3,12,12,45,4,0:6 9,36,12,:(! 73,12,12,36,28,28,4,0:)S "73,36,36,36,141,23,31,28,150,98,13,21,4,0:*u ,73,32,60,111,41,31,32,4,0:+ 69,12,36,0:, @64,24,41,45,37,0:- J73,4,0:. T1,96,12,12,12,4,0:/ ^9,45,12,36,36,28,63,23,54,54,12,12,12,4,0:0 h3 9,36,103,60,5,32,13,246,45,23,30,45,23,38,0:#f 1,40,53,12,12,28,55,28,28,12,37,22,12,37,0:$ 73,41,60,223,12,12,12,5,248,35,55,4,0:% 73,9,28,28,28,28,100,21,190,26,174,101,8,4,0:& 73,64,24,32,36,0:' 73,28,28,36,12,12,4,019,2,31,2,40,2,48,2,61,2K 70,2,82,2,94,2,106,2,116,2: STRUCTUREo 130,2,143,2,155,2,163,2,174,2 185,2,198,2,210,2,219,2,231,2 245,2,253,2,9,3,17,3: ----------- 73,4,32,36,36,0:! 9,64,24,32,108,54,4,0:" CLIPPING SUBROUTINEF |L(1)L(2)R(1)R(2)T(1)T(2)B(1)B(2)0ı I1:L(I)R(I)T(I)B(I)0I2:L(I)R(I)T(I)B(I)0ēX(1),Y(1)X(2),Y(2): L(I)1Y(I)Y(1)(Y(2)Y(1))(XLX(1))(X(2)X(1)):X(I)XL:360! R(I)1Y(I)Y(1)(Y(2)Y(1))("N"30 (A$)27ĉ::$ 240Q 0,0,40,0,40,0,40,40,40,40,0,40,0,40,0,0W v " **** CLASSIFY SUBROUTINE ,L(I)0:R(I)0:T(I)0:B(I)0 6X(I)XLL(I)1 @X(I)XRR(I)1 JY(I)YTT(I)1 TY(I)YBB(I)1 ^ h300 r ****4 xI12 X,Y/ TXAXCY:TYBXDYL X(I)SCTXCX:Y(I)CYTYU 300\ Ie 380n S: 21:"A B";11);A;20);B 22:8);"=" 23:"C D";11);C;20);D 24:"PRESS 'N' FOR NEW MATRIX; 'ESC' TO END"; 10:A$:A$PROGRAM 4.5 (MATRIX)MSHOWS EFFECT OF A 2X2 TRANSFORMATION MATRIXf CX140:CY96:SC1.16XR279:XL0:YT0:YB191:(" A = ";A2" B = ";B<" C = ";CF" D = ";DP:6Z0,96279,96:140,0140,191d3 nS1J 0,0,1,0,1,1,0,1,0,0A PROGRAM 4.4 (RECTANGLES)KPLOTS 8 RECTANGLES FROM 1 SET OF DATAa A20:B0:C10:D0l::3wJ18(X,Y:SXAXB:SYCYD2SX,SY<I14FX,Y:SXAXB:SYCYDPSX,SYZIdAA15:BB15:CC10:DD10n x#PROGRAM 4.3 (RECTANGLE 2) <PLOTS ONE RECTANGLEG ::3UX,Y:X,Y`I14o(X,Y:X,Yv2I< 0,0,20,0,20,10,0,10,0,0 d!PROGRAM 4.2 (RECTANGLE 1):PLOTS ONE RECTANGLEE ::3b0,020,020,100,100,0Y (YBY(1))(Y(2)Y(1)):Y(I)YB:1905 ,20,-20,300,40I 620,-20,-10,120^ @-10,120,270,180r J300,40,270,180F1)X(2),Y(2):S L(I)1Y(I)Y(1)(Y(2)Y(1))(XLX(1))(X(2)X(1)):X(I)XL:190 R(I)1Y(I)Y(1)(Y(2)Y(1))(XRX(1))(X(2)X(1)):X(I)XR:190 T(I)1X(I)X(1)(X(2)X(1))(YTY(1))(Y(2)Y(1)):Y(I)YT:190" B(I)1X(I)X(1)(X(2)X(1))T(I)0:B(I)0! nX(I)XLL(I)15 xX(I)XRR(I)1I Y(I)YTT(I)1] Y(I)YBB(I)1c l 100 **** CLIPPING SUBROUTINE L(1)L(2)R(1)R(2)T(1)T(2)B(1)B(2)0ı I1:L(I)R(I)T(I)B(I)0I2:L(I)R(I)T(I)B(I)0ēX(1),Y(uPROGRAM 4.1 (CLIPPING)IEXAMPLE OF USE OF CLIPPING SUBROUTINEe XR279:XL0:YT0:YB191v:3:SC1.16 ****MAIN LOOP J14:I12(X(I),Y(I):1002I<200FJP_ **** CLASSIFY SUBROUTINE dL(I)0:R(I)0:"PROGRAM 5.2 (CLIPPED LINE)SILLUSTRATES USE OF LINE CLIPPING SUBROUTINEo XR279:XL0:YT0:YB191:2:SC1.16140,0140,191:0,96279,96(3:CX140:CY962I1:X140:Y.4X20:X(I)SCXCX:Y(I)CYY:100 <I2:X139:Y.4X2 PROGRAM 5.1 (LINES) 2LINE Y = MX + B; :2[140,0140,191:0,96279,96o3:CX140:CY96(X140:Y.4X202SXXCX:SYCYY<SX,SYFX139:Y.4X20PSXXCX:SYCYYZSX,SY:X,SY dSX,SY. nXNXCYS:YXSYC:XXN5 xIa XNSF(XC1YS1):YSF(XS1YC1):XXNh J | Pj$PROGRAM 4.8 (HEXAGON DESIGN)QDRAWS A SEQUENCE OF SPIRALLING HEXAGONS` PI3.14159xC(PI3):S(PI3)C1(PI36):S1(PI36):SF.95(X95:Y0:CX140:CY96:SC1.162:3<J140FI06PSXXSCCX:SYCYY ZI0ēSPROGRAM 4.7 (HEXAGON)9DRAWS A SINGLE HEXAGONH PI3.14159`C(PI3):S(PI3)(X95:Y0:CX140:CY96:SC1.162:3FI06PSXXSCCX:SYCYYZI0ēSX,SYdSX,SYnXNXCYS:YXSYC:XXNxI KY(1))(XLX(1))(X(2)X(1)):X(I)XL:380n R(I)1Y(I)Y(1)(Y(2)Y(1))(XRX(1))(X(2)X(1)):X(I)XR:380 T(I)1X(I)X(1)(X(2)X(1))(YTY(1))(Y(2)Y(1)):Y(I)YT:380 B(I)1X(I)X(1)(X(2)X(1))(YBY(1))(Y(2)Y(1)):Y(I)YB:380C)XRR(I)1 ^Y(I)YTT(I)13 hY(I)YBB(I)19 rB |320a  **** CLIPPING SUBROUTINE L(1)L(2)R(1)R(2)T(1)T(2)B(1)B(2)0ı I1:L(I)R(I)T(I)B(I)0I2:L(I)R(I)T(I)B(I)0ēX(1),Y(1)X(2),Y(2):) L(I)1Y(I)Y(1)(Y(2));H;20);K= 24:"PRESS 'N' FOR NEW MATRIX; 'ESC' TO END";T 10:A$:A$"N"30h (A$)27ĉ::q 260 "0,0,40,0,40,0,40,40,40,40,0,40,0,40,0,0 , 6 **** CLASSIFY SUBROUTINE @L(I)0:R(I)0:T(I)0:B(I)0 JX(I)XLL(I)1 TX(I6" n0,96279,96:140,0140,191) x34 S14? I12H X,Yf TXAXCYH:TYBXDYK X(I)SCTXCX:Y(I)CYTY 320 I 400 S: 21:"A B";11);A;20);B 22:"C D";8);"=";11);C;20);D 23:"H K";11-PROGRAM 4.6 (HOMOGENEOUS COORDINATES)bILLUSTRATES EFFECT OF 3X3 TRANSFORMATION MATRIX{ CX140:CY96:SC1.16XR279:XL0:YT0:YB191:(" A = ";A2" B = ";B<" C = ";CF" D = ";DP" H = ";HZ" K = ";K d:     XRX(1))(X(2)X(1)):X(I)XR:360f T(I)1X(I)X(1)(X(2)X(1))(YTY(1))(Y(2)Y(1)):Y(I)YT:360 B(I)1X(I)X(1)(X(2)X(1))(YBY(1))(Y(2)Y(1)):Y(I)YB:360CE% PROGRAM 5.7 (CLIPPED CIRCLE)DDRAWS A TRANSLATED CIRCLES H40:K20zCX140:CY96:SC1.16:X90:Y0:FL0DT.1:C(DT):S(DT):N6.4DT(:32I1N<TXCYS:YYCXS:XTFSXSC(XH)CX:SYCY(YK) PSX0SX279SYSX,SY dInCHPROGRAM 5.6 (CIRCLE 3)MRECURSIVELY CALCULATES POINTS ON A CIRCLEt CX140:CY96:SC1.16:X90:Y0:FL0DT.1:C(DT):S(DT):N6.4DT:3(I1N2TXCYS:YYCXS:XT<SXSCXCX:SYCYYFFL190PSX,SY:FL1 ZPROGRAM 5.5 (CIRCLE 2)IDRAWS CIRCLE USING ANGULAR INCREMENTSg CX140:CY96:SC1.16:FL0p:3TH06.4.3(X90(TH):Y90(TH)2SXSCXCX:SYCYY<FL180FSX,SY:FL1PSX,SYZTHCX809010 YYN(X), SXXCX:SYCYY8 SX,SY? XLLCAPROGRAM 5.4 (CIRCLE 1)ARECTANGULAR COORDINATE CIRCLER CX140:CY96jYP(X)(8100XX)YN(X)(8100XX)(:32X90:Y0:SXXCX:SYCYY<SX,SYFX809010PYYP(X)ZSXXCX:SYCYYdSX,SYnX xSX,SY X LCPROGRAM 5.3 (LINE)1DRAWS LINE SLOWLY: :3XX110:Y1150:X2250:Y250nDXX2X1:DYY2Y1y(X1,Y12T01.001<X1TDX,Y1TDYFTXXCX:SYCYYdSX,SYnXxX809010YYN(X)SXXCX:SYCYY   1X(I)X(1)(X(2)X(1))(YTY(1))(Y(2)Y(1)):Y(I)YT:190 B(I)1X(I)X(1)(X(2)X(1))(YBY(1))(Y(2)Y(1)):Y(I)YB:190X2)T(1)T(2)B(1)B(2)0ıl I1:L(I)R(I)T(I)B(I)0I2:L(I)R(I)T(I)B(I)0ēX(1),Y(1)X(2),Y(2): L(I)1Y(I)Y(1)(Y(2)Y(1))(XLX(1))(X(2)X(1)):X(I)XL:190 R(I)1Y(I)Y(1)(Y(2)Y(1))(XRX(1))(X(2)X(1)):X(I)XR:190; T(I)0:X(I)SCXCX:Y(I)CYY:100& F200, PK _ **** CLASSIFY SUBROUTINEk dL(I)0:R(I)0:T(I)0:B(I)0 nX(I)XLL(I)1 xX(I)XRR(I)1 Y(I)YTT(I)1 Y(I)YBB(I)1 100 **** CLIPPING SUBROUTINE L(1)L(2)R(1)R( xTCY xT CPROGRAM 5.12 (PARABOLA)L DRAWS A PARABOLA; PARAMETRIC EQUATIONSj CX140:CY96:SC1.16:FL0sP10|(:32T55.5<X2PT:YPTTPSXSCXCX:SYCYYZSX0SX279SY0SY191FL0:120dFL0ēSX,SY:FL1nSX,SYL0ēSX,SY:FL1 dSX,SY" nT$!PROGRAM 5.11 (PARAMETRIC)>DRAWS LISSAJOUS FIGURES\ CX140:CY96:SC1.16:FL0kPI3.14159A50:B2:C13:D70(:32T06.3.1<XA(B(TPIC)):YD(T)FSXSCXCX:SYCYYPSX0SX279SY0SY191FL0:110 ZFBS1H:Y1XAS1YBC1K2 ZSXSCX1CX:SYCYY1Y dSX0SX279SY0SY191FL0:140g nFL1130w xSX,SY:FL1 SX,SY IC PROGRAM 5.10 (ELLIPSE 3)EELLIPSE AS A TRANSFORMED CIRCLEk CX140:CY96:SC1.16:X1:Y0:FL0yA90:B50DT.1:C(DT):S(DT):N6.4DT(H10:K30:T.3:S1(T):C1(T)2:3<I1NFTXCYS:YYCXS:XT PX1XAC1Y279SY0SY191FL0:120' ZFL11107 dSX,SY:FL1C nSX,SYK xTHCI] CLPROGRAM 5.9 (ELLIPSE 2):ROTATION; TRANSLATIONb CX140:CY96:SC1.16:FL0:A90:B50H10:K30:T.3:C1(T):S1(T):3(TH06.4.32XA(TH):YB(TH)<X1XC1YS1H:Y1XS1YC1KFSXSCX1CX:SYCYY1 PSX0SX  ZSX,SY dTHnL# xTH) CPROGRAM 5.8 (ELLIPSE 1)HDRAWS AN ELLIPSE CENTERED ON SCREENp CX140:CY96:SC1.16:FL0:A90:B50y:3TH06.4.3(XA(TH):YB(TH)2SXSCXCX:SYCYY<SX0SX279SY0SY191FL0:100FFL190PSX,SY:FL1   0SY191FL0:120! ZFL11101 dSX,SY:FL1= nSX,SYD xIH    F:3 PX,Y,Z:150:SX,SY/ ZI18:X,Y,Z@ d150:SX,SYG nI^ xX,Y,Z:150:SX,SYv X,Y,Z:150:SX,SY| XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHO SXDXEZECX:SYCYDYEZE:RPROGRAM 6.1 (CUBE)ADRAWS THE VISIBLE PARTS OF A CUBEc RHO10:THETA.7:PHI1.3:D500S1(TH):C1(TH):S2(PH):C2(PH)CX140:CY96(1,1,0, 1,1,1, 0,1,1, 0,1,021,1,0, 1,0,0, 1,0,1, 0,0,1<0,1,1, 1,0,1, 1,1,1 SX,SY:FL1 dSX,SY nXxXPROGRAM 5.16 (CURVE)4DRAWS A SINE CURVEY XS20:YS20:MINX6:MAXX6:ST.5wFL0:CX140:CY96:SC1.16Y(X)(X)(:32XMINXMAXXST<YY(X)FSXCXSCXSX:SYCYYSYPSX0SX279SY0SY191FL0:110 ZFL0ēSXPROGRAM 5.15 (POLAR).DRAWS A ROSEL CX140:CY96:SC1.16:FL0U:3eT06.3.1u(R80(2T)2XR(T):YR(T)<SXSCXCX:SYCYYFSX0SX279SY0SY191FL0:100PFL0ēSX,SY:FL1ZSX,SYdTnC ZSX,SY dTnC PROGRAM 5.14 (HYPERBOLA)K PARAMETRIC EQUATIONS FOR A HYPERBOLAi CX140:CY96:SC1.16:FL0wA30:B35:3(T1.64.5.052XA(T):YB(T)<SXSCXCX:SYCYYFSX0SX279SY0SY191FL0:100PFL0ēSX,SY:FL1   CYY1- ZSX0SX279SY0SY191FL0:120C dFL0ēSX,SY:FL1O nSX,SYV xTCW'PROGRAM 5.13 (ROTATED PARABOLA)QDRAWS A TRANSLATED, ROTATED PARABOLAo CX140:CY96:SC1.16:FL0xP10H10:K80:TH.3:S1(TH):C1(TH)(:32T55.5<X2PT:YPTTFX1XC1YS1H:Y1XS1YC1K PSXSCX1CX:SY -PROGRAM 7.1 (HIDDEN LINE ELIMINATION)MSURFACE ORIENTATION METHODs VIEWPOINT AND SCREEN PARAMETERSRHO40:THETA.7:PHI1:D250CX140:CY96:S1(TH):C1(TH):S2(PH):C2(PH)( VERTICES25,7,-5< 5,7,5 F5,-7,5      2(PHI)# 2Z(X)(.1(XXYY)), <:3= FX10101F PFL0T ZY1010d dZZ(X):20 nSX0SX279SY0SY191FL0:140 xFL0FL1:SX,SY SX,SY Y,XPROGRAM 6.4 (SURFACE)=DRAWS A SURFACE Z = F(X,Y)E 40XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHOSXDXEZECX:SYCYDYEZE: (RHO30:D350:THETA.3:PHI1:CX140:CY96:S1(THETA):S2(PHI):C1(THETA):C2:X,Y,Z I100,60,20, SX,SY:X,Y,Z= "I100,60,20I ,SX,SYU 6J::IRR, -1,1,1' 1,1,1, 1,1,-1, 1,-1,-1H -1,-1,-1, -1,1,-1, 1,1,-1h 1,-1,1, 1,-1,-1, -1,-1,1 -1,-1,-1, -1,1,1, -1,1,-1 :3 I13:X,Y,Z I100,60,20 SX,SY J111:X,Y,Z I100,60,20 SX,SY J J1PZ13Z2 ZXX1:YY1:ZZ1e dXEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHO nSXDXEZECX:SYCYDYEZE: xRHO25:D250:THETA.3:PHI1.3:CX140:CY96:S1(THETA):S2(PHI):C1(THETA):C2(PHI) 1,1,1, 1,-1,1, -1,-1,1V&PROGRAM 6.3 (TRANSFORMED CUBE)`DRAWS THREE IMAGES, GENERATED FROM A SINGLE DATA SETi 120X11.93X.259Y.224Z4Y1.518X.966Y.837Z2(Z11.732Y.5Z22XX1:YY1:ZZ1:100<X1.866X.5Y1FY1.5X.866Y6 10:"THE CUBE IS PARTLY OFFSCREEN."I 15:"TRY A LARGER VALUE OF RHO"t 20:"OR A SMALLER VALUE FOR DISTANCE" I13000:I :250S,1,1,1,1,11,1,1R " J8:17:T$2 T(T$)0THETA(T$)U ^8:17:" ";THETA;" "e h11:15:P$} r(P$)0PHI(P$) |11:15:" ";PHI;" " 14:20:D$ (D$)0D(D$) 14:20:" ";D;" " 240 ::216,0$ ,-1,-1, -1,1,1, -1,1,-1% 40::? 5:10);"RHO = ";RHO] 8:10);"THETA = ";THETAx 11:10);"PHI = ";PHI 14:10);"DISTANCE = ";D "20:"TO ACCEPT A VALUE, PRESS 'RETURN'" ,5:15:R$ 6(R$)0RHO(R$) @5:15:" ";RHO;"'"; 24:30:A$:1:, (A$)27ĉ::? (A$)13140E r RHO15:D350:THETA.7:PHI1:CX140:CY96 1,1,1, 1,-1,1, -1,-1,1, -1,1,1 1,1,1, 1,1,-1, 1,-1,-1 -1,-1,-1, -1,1,-1, 1,1,-1 1,-1,1, 1,-1,-1, -1,-1,1 -1S2(PHI):C2(PHI)+ F:X,Y,Z:20:SX,SYM PI111:X,Y,Z:20:SX,SY:Ij ZI12:X,Y,Z:20:SX,SY dX,Y,Z:20:SX,SY:I n21:"TO EXIT PROGRAM, PRESS 'ESC'" x23:"TO CHANGE VALUES OF RHO,THETA, PHI," 24:"OR DISTANCE, PRESS 'RETURNPROGRAM 6.2 (VIEWPOINT)\ILLUSTRATES EFFECT OF CHANGING THE VIEWPOINT PARAMETERSi ::180XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHOSXDXEZECX:SYCYDYEZE:(:4302S1(THETA):C1(THETA) <NPS(I)HE2S(I,J) RK1NM\E(O,K,1)E2E(O,K,2)E1E(O,K,3)2:900TfK{pE(O,N,1)E1:E(O,N,2)E2:E(O,N,3)1zNN1E1E2JI7O2:N1I ESTABLISH PRIORITY OF OBJECTSYE7P(1)1:P(2)2YE7P(1)2:PE/ AND COLLECT VISIBLE EDGES IN EDGE ARRAYTXERHS2C1:YERHS2S1:ZERHC2cE(2,12,3)oO1:N1{I113E2S(I,1) VXXEV(E2,1)VYYEV(E2,2) VZZEV(E2,3)*N(I,1)VXN(I,2)VYN(I,3)VZ09204E1S(I,1)>J22)V(S(I,1),2)- vU3V(S(I,2),3)V(S(I,1),3)L V1V(S(I,3),1)V(S(I,1),1)k V2V(S(I,3),2)V(S(I,1),2) V3V(S(I,3),3)V(S(I,1),3) N(I,1)U2V3V2U3 N(I,2)U3V1V3U1 N(I,3)U1V2V1U2 I DETERMINE VISIBILITY OF EACH SURFAC17,13,12  11,15,16,12,112  14,13,17,18,14K  FILL SURFACE ARRAYX S(13,6)d I113t &J1NPS(I) 0S(I,J) :J,I D CALCULATE VECTOR NORMAL TO EACH SURFACE NN(13,3) XI113 bU1V(S(I,2),1)V(S(I,1),1) lU2V(S(I,2), hNPS(I) rI> | SURFACE ARRAY - POINTERS TO VERTICESN  1,4,3,2,1_ 1,5,8,9,4,1o  5,6,7,8,5 2,3,10,7,6,2  3,4,9,10,3  7,10,9,8,7  1,2,6,5,1  11,12,13,14,11  15,18,17,16,15  11,14,18,15,11  12,16,(THETA) S2(PHI):C2(PHI)) :75 N6:70P X,Y,Z:20:X1SX:Y1SYk X,Y,Z:20:X2SX:Y2SY SL(Y1Y2)(X1X2) 4 XPX1X2:YPSL(XPX1)Y1 XP,YPXP,191 XP 7 N9:70:N2:701,5,5,5 TNPS(13) ^I113 0,1.5,1 { <0,2.5,1, 1,2.5,1, 1,2.5,0, 0,2.5,0, 0,2.5,1, 0,1.5,1, 1,1.5,1, 1,1.5,0, 1,2.5,0, 1,2.5,1, 1,1.5,1 FI1N:X,Y,Z P20 ZI1ēSX,SY dSX,SY nI x RHO10:D600:THETA1:PHI1.2:CX140:CY96 S1(THETA):C1-PROGRAM 7.2 (HIDDEN LINE ELIMINATION)HTWO OBJECTS; BLACKOUTU ::130XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHOSXDXEZECX:SYCYDYEZE:(1,1,0, 0,0,1, 0,1,0, 1,1,0, 1,0,0, 0,0,1 21,1.5,1,   V(K,1),SV(K,2)>IRJ2NPS(I)E2S(I,J)#K1NJE(K,1)E2E(K,2)E1E(K,3)2:740QKrE(N,1)E1:E(N,2)E2:E(N,3)1|NN1E1E2JIDRAW VISIBLE EDGES :3I112 E(I,3)0830*JE(I,1):KE(I,2)4SV(J,1),SV(J,2)SOF EACH SURFACE= : AND COLLECT VISIBLE EDGES IN EDGE ARRAYb DXERHS2C1:YERHS2S1:ZERHC2s NE(12,3):N1~ XI17 bE2S(I,1) lWXXEV(E2,1) vWYYEV(E2,2) WZZEV(E2,3) N(I,1)WXN(I,2)WYN(I,3)WZ0760 E1S(I,1) U2V(S(I,2),2)V(S(I,1),2); U3V(S(I,2),3)V(S(I,1),3)Z V1V(S(I,3),1)V(S(I,1),1)y V2V(S(I,3),2)V(S(I,1),2) V3V(S(I,3),3)V(S(I,1),3) N(I,1)U2V3V2U3 N(I,2)U3V1V3U1 N(I,3)U1V2V1U2 &I 0 DETERMINE VISIBILITY J 4,3,10,7,6,4" T 3,2,9,10,33 ^ 7,10,9,8,7D h 1,4,6,5,1] r FILL SURFACE ARRAYi |S(7,6)t I17 J1NPS(I) S(I,J) J,I  CALCULATE VECTOR NORMAL TO EACH SURFACE N(7,3) I17 U1V(S(I,2),1)V(S(I,1),1) 2RHO4 SV(I,1)D(X1Z1)CX:SV(I,2)D(Y1Z1)CY; Ib NUMBER OF POINTS IN EACH SURFACEu 5,6,5,6,5,5,5 NPS(7) I17 NPS(I) I " SURFACE ARRAY - POINTERS TO VERTICES , 1,2,3,4,1 6 1,5,8,9,2,1 @ 5,6,7,8,5 P 5,-7,-5  Z-5,7,-5( d-5,-7,-55 n-5,-7,5A x-5,7,5L 0,7,8X 0,-7,8q FILL VERTEX ARRAYS V(10,3),SV(10,2) I110 X,Y,Z V(I,1)X:V(I,2)Y:V(I,3)Z X1XS1YC1:Y1XC1C2YS1C2ZS2:Z1XS2C1YS2S1ZC2,13,14,11  15,18,17,16,154  11,14,18,15,11I  12,16,17,13,12^  11,15,16,12,11s  14,13,17,18,14  FILL SURFACE ARRAY S(13,6) I113 &J1NPS(I) 0S(I,J) :J,I D CALCULATE VECTOR NORMAL TO EACH SURFACE NN(ACE# J 5,6,5,6,5,5,5,5,5,5,5,5,50 TNPS(13)< ^I113H hNPS(I)O rIz | SURFACE ARRAY - POINTERS TO VERTICES  1,2,3,4,1  1,5,8,9,2,1  5,6,7,8,5  4,3,10,7,6,4  3,2,9,10,3  7,10,9,8,7  1,4,6,5,1  11,1FILL VERTEX ARRAYS( V(18,3),SV(18,3)4 I118? X,Y,Z^ V(I,1)X:V(I,2)Y:V(I,3)Z "X1XS1YC1:Y1XC1C2YS1C2ZS2:Z1XS2C1YS2S1ZC2RHO ,SV(I,1)D(X1Z1)CX:SV(I,2)D(Y1Z1)CY 6I @ NUMBER OF POINTS IN EACH SURF F5,-7,5 P 5,-7,-5 ) Z-5,7,-57 d-5,-7,-5D n-5,-7,5P x-5,7,5[ 0,7,8g 0,-7,8 VERTICES OF OBJECT 2 (CHIMNEY) -2,-7,-5 -2,-9,-5 -5,-9,-5 -5,-7,-5 -2,-7,9 -2,-9,9 -5,-9,9 -5,-7,9 "PROGRAM 7.4 (HIDDEN LINES)HTWO OBJECTS; ARBITRARY VIEWPOINTn VIEWPOINT AND SCREEN PARAMETERSRHO40:THETA.7:PHI1:D250CX140:CY96:S1(TH):C1(TH):S2(PH):C2(PH)( VERTICES OF OBJECT 1 (HOUSE)25,7,-5 < 5,7,5    V2(YHYV)2" U1XPXQ:U2YPYQ8 XTXVV1:YTYVV2C I27} "VI((U2(XVXQ)U1(YVYQ))(U2(XTXQ)U1(YTYQ))) ,V1V12:V2V22 6XTXTVIV1:YTYTVIV2 @I JXV,YVXT,YT TJETA1:PHI1.2:CX140:CY966 S1(THETA):C1(THETA)N S2(PHI):C2(PHI)W :7k N9:80:N2:80w N4:80 J12 X,Y,Z:20:XVSX:YVSY X,Y,Z:20:XHSX:YHSY X,Y,Z:20:XPSX:YPSY X,Y,Z:20:XQSX:YQSY V1(XHXV)2:,1.5,1, 1,1.5,1, 1,1.5,0, 1,2.5,0, 1,2.5,1, 1,1.5,1[ 21,1,0, 0,0,1, 1,0,0, 1,1,0 <1,1,0, 0,1,0, 1,1.5,0, 1,1.5,1 F0,0,1, 0,1,0, 1,1.5,1, 0,1.5,1 PI1N:X,Y,Z Z20 dI1ēSX,SY nSX,SY xI  RHO10:D600:TH/PROGRAM 7.3 (HIDDEN LINE ELIMINATION) OTWO OBJECTS; BINARY SEARCH\ ::140XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHOSXDXEZECX:SYCYDYEZE:8 ( 0,2.5,1, 1,2.5,1, 1,2.5,0, 0,2.5,0, 0,2.5,1, 0 V2(YHYV)2"XTXVV1:YTYVV2-I277(1170K2V1V12:V2V22[<XTXTVIV1kFYTYTVIV2rPIZXV,YVXT,YTdEV(P,1):U2YTSV(P,2)/U2R1U1R20VI1:6L<x PLOT VISIBLE PORTION OF EDGES WHICH ARE PARTLY HIDDENSV(I,3)1XVSV(I,1):YVSV(I,2):XHSV(J,1):YHSV(J,2)SV(J,3)1XVSV(J,1):YVSV(J,2):XHSV(I,1):YHSV(I,2)  V1(XHXV)2:,3)SV(J,3)012607jSV(I,1),SV(I,2)SV(J,1),SV(J,2)>tED~{ CLASSIFY ENDPOINTS OF EDGES AS VISIBLE OR HIDDENVI1L112E(P(1),L,3)11240PE(P(1),L,1):QE(P(1),L,2)R1SV(Q,1)SV(P,1):R2SV(Q,2)SV(P,2)U1XTS VISIBLE EDGES AND VISIBLE PARTS OF EDGES5$E112M.E(P(2),E,3)01150m8IE(P(2),E,1):JE(P(2),E,2)BSV(I,3)0XTSV(I,1):YTSV(I,2):1170:SV(I,3)VILSV(J,3)0XTSV(J,1):YTSV(J,2):1170:SV(J,3)VIVSV(I,3)SV(J,3)21140`SV(I(2)17 DRAW VISIBLE EDGES OF FIRST PRIORITY OBJECT@:3LI112dE(P(1),I,3)01030JE(P(1),I,1):KE(P(1),I,2)SV(J,1),SV(J,2)SV(K,1),SV(K,2)I TEST EACH EDGE OF SECOND PRIORITY OBJECT FOR VISIBILITY STATUS) DRAWXS2C1YS2S1ZC2RHO. SXD(XEZE)CXC SYD(YEZE)CY[ FL0FL1:F0:360s DXOXSX:DX0DX1 SL(OYSY)DX:YPOY XP(OX)1SX FG1 "YPYPSL ,XP0XP279FG0:F0:350 6YP191YP0FG0:F0 @YPYN(XP)37,YX(280)" FI0279:YN(I)191:I> P POINT GENERATING LOOPM ZX881V dFL0e nY88.5q xZZ(X)z 190 Y,X 2 0,0278,0278,1910,1910,0 PLOTTING SUBROUTINE XEXS1YC1 YEXC1C2YS1C2ZS2 ZE# PROGRAM 7.6 (HIDDEN LINES)WHIDDEN LINE ELIMINATION FOR SURFACES: Z=F(X,Y)l INITIALIZATION:3:RHO30:THETA.4:PHI1.25:D420:CX140:CY96S1(THETA):C1(THETA)(S2(PHI):C2(PHI)2Z(X)7(.1(X2Y2)) <YN(280)   !SX,SY SX,SY ZFL0 ZY1010.4" dZZ(X)+ n1504 xY,X: S PLOTTING SUBROUTINEe XEXS1YC1 YEXC1C2YS1C2ZS2 ZEXS2C1YS2S1ZC2RHO SXD(XEZE)CX SYD(YEZE)CY SX0SX279SY0SY191FL0: FL0FL1:PROGRAM 7.5 (SURFACE)8REPEAT OF PROGRAM 6.4L INITIALIZATION:3:RHO30:THETA.4:PHI1.25:D420:CX140:CY96S1(THETA):C1(THETA)(S2(PHI):C2(PHI)2Z(X)(.1(XXYY))<POINT GENERATING LOOPFX10101 P   1XVSV(J,1):YVSV(J,2):XHSV(I,1):YHSV(I,2)L V1(XHXV)2:V2(YHYV)2bXTXVV1:YTYVV2mI27w(11702V1V12:V2V22<XTXTVIV1FYTYTVIV2PIZXV,YVXT,YTdERE(P(1),L,2)5R1SV(Q,1)SV(P,1):R2SV(Q,2)SV(P,2)UU1XTSV(P,1):U2YTSV(P,2)oU2R1U1R20VI1:vL| PLOT VISIBLE PORTION OF EDGES WHICH ARE PARTLY HIDDENSV(I,3)1XVSV(I,1):YVSV(I,2):XHSV(J,1):YHSV(J,2).SV(J,3)TSV(J,2):1170:SV(J,3)VI7VSV(I,3)SV(J,3)21140S`SV(I,3)SV(J,3)01260xjSV(I,1),SV(I,2)SV(J,1),SV(J,2)tE~ CLASSIFY ENDPOINTS OF EDGES AS VISIBLE OR HIDDENVI1L112E(P(1),L,3)11240 PE(P(1),L,1):QH EDGE OF SECOND PRIORITY OBJECT FOR VISIBILITY STATUSj DRAW VISIBLE EDGES AND VISIBLE PARTS OF EDGESv$E112.E(P(2),E,3)011508IE(P(2),E,1):JE(P(2),E,2)BSV(I,3)0XTSV(I,1):YTSV(I,2):1170:SV(I,3)VILSV(J,3)0XTSV(J,1):YPRIORITY OF OBJECTS-YE7P(1)1:P(2)2FYE7P(1)2:P(2)1x DRAW VISIBLE EDGES OF FIRST PRIORITY OBJECT:3I112E(P(1),I,3)01030JE(P(1),I,1):KE(P(1),I,2)SV(J,1),SV(J,2)SV(K,1),SV(K,2)I6 TEST EAC**N(I,1)VXN(I,2)VYN(I,3)VZ092084E1S(I,1)H>J2NPS(I)VHE2S(I,J)aRK1N\E(O,K,1)E2E(O,K,2)E1E(O,K,3)2:900fKpE(O,N,1)E1:E(O,N,2)E2:E(O,N,3)1zNN1E1E2JI7O2:N1I ESTABLISH I,3)U1V2V1U2IB DETERMINE VISIBILITY OF EACH SURFACEp AND COLLECT VISIBLE EDGES IN EDGE ARRAYXERHS2C1:YERHS2S1:ZERHC2E(2,12,3)O1:N1I113E2S(I,1) VXXEV(E2,1)VYYEV(E2,2) VZZEV(E2,3)13,3) XI1130 bU1V(S(I,2),1)V(S(I,1),1)O lU2V(S(I,2),2)V(S(I,1),2)n vU3V(S(I,2),3)V(S(I,1),3) V1V(S(I,3),1)V(S(I,1),1) V2V(S(I,3),2)V(S(I,1),2) V3V(S(I,3),3)V(S(I,1),3) N(I,1)U2V3V2U3 N(I,2)U3V1V3U1N(\ADDRADDR24f7"pI167zSP%(ADDR)0910jSP%(ADDR),SP%(ADDR1)SP%(ADDR2),SP%(ADDR3)zADDRADDR4IADDRADDR48ADDR865ADDR116300DP,0DP1DP790CX:SV(I,2)D(YEZE)CY I(RO0ROQI148:SP%(I864)SP%(I):Ic:"READY";A$p::DP0{ ADDR1230,32(DP1) 4*I164SP%(ADDR)0840>SP%(ADDR),SP%(ADDR1)SP%(ADDR2),SP%(ADDR3)HADDRADDR4RIT2STV(I,1)COCTV(I,2)SOCTV(I,3)mT3SPCTV(I,1)(SOCPCOSTSP)V(I,2)(STSOSPCOCP)V(I,3)V(I,1)T1:V(I,2)T2:V(I,3)T3XT1:YT2:ZT3XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHOSV(I,1)D(XEZE)1 &E1E2 0J :I% DI167 NE(I,3)0620M XJE(I,1):KE(I,2) bSP%(AD)SV(J,1):SP%(AD1)SV(J,2):SP%(ADDR2)SV(K,1):SP%(ADDR3)SV(K,2) lADDRADDR4 vI I14 T1CPCTV(I,1)(STCPSOSP)V(I,2)(SOSTCPSPCO)V(I,3)) I14 E2S(I,1)) WXXEV(E2,1); WYYEV(E2,2)M WZZEV(E2,3)w N(I,1)WXN(I,2)WYN(I,3)WZ0570 E1S(I,1) J24 E2S(I,J) K1N E(K,1)E2E(K,2)E1E(K,3)2:550 K E(N,1)E1:E(N,2)E2:E(N,3)1 NNS(I,1),2)( 6U3V(S(I,2),3)V(S(I,1),3)G @V1V(S(I,3),1)V(S(I,1),1)f JV2V(S(I,3),2)V(S(I,1),2) TV3V(S(I,3),3)V(S(I,1),3) ^N(I,1)U2V3V2U3 hN(I,2)U3V1V3U1 rN(I,3)U1V2V1U2 |I XERHS2C1:YERHS2S1:ZERHC2 N1 X:SV(I,2)D(YEZE)CY I- 1,4,2,1< 1,2,3 ,1J 1,3,4,1Y 2,4,3,2e S(4,4)p I14{ J14 S(I,J) J,I N(4,3) RO136 I16:E(I,3)0:I I14 "U1V(S(I,2),1)V(S(I,1),1) ,U2V(S(I,2),2)V((TN):CO(TN)* 2TP.1:SP(TP):CP(TP)5 <0,0,3@ F1,0,0M P-.2,1,0[ Z-.2,-1,0o dV(4,3),SV(4,2) nI14:X,Y,Z xV(I,1)X:V(I,2)Y:V(I,3)Z XEXS1YC1:YEXC1C2YS1C2ZS2:ZEXS2C1YS2S1ZC2RHO SV(I,1)D(XEZE)C&PROGRAM 8.2 (ROTATING PYRAMID)e THREE DIMENSIONAL ANIMATION WITH HIDDEN LINES ELIMINATED SP%(912):ADDR1:E(6,3)RHO15:THETA.5:PHI.9:D400CX140:CY96:S1(TH):C1(TH):S2(PH):C2(PH) (TN.1:TT.1:CT(TT):ST(TT):SO!!!!!!!!!299,0:II5:I51I1 "200Y(I)X(I1),Y(I1)X(I2),Y(I2)X(I3),Y(I3)X(I4),Y(I4)[ 16300,0:230,64:II5:0 X(I),Y(I)X(I1),Y(I1)X(I2),Y(I2)X(I3),Y(I3)X(I4),Y(I4) II10:3 X(I),Y(I)X(I1),Y(I1)X(I2),Y(I2)X(I3),Y(I3)X(I4),Y(I4) 16(AN)YO(J)1406 xY(5IJ)(AN)XO(J)(AN)YO(J)96E X(5IJ)TL JS I` I5160~ X(I)X(I50):Y(I)Y(I50) I ::I1 0:230,32 X(I),Y(I)X(I1),Y(I1)X(I2),Y(I2)X(I3),Y(I3)X(I4),Y(I4) II10:3< X(I),%PROGRAM 8.1 (ROTATING SQUARE)JANIMATION VIA PRIOR CALCULATION[ X(60),Y(60)sPI3.14159:DTPI20C(DT):S(DT)(80,0,0,80,-80,0,0,-80,80,02I15<XO(I),YO(I)FIPI09ZANIDTdJ15 nT(AN)XO(J)! ! ! ! 0 JYPYX(XP)420 TF0% ^XP7 hOXSX:OYSY:E rYN(XP)YPS |FG0410g F0ēXP,YP:F1s XP,YP YPYX(XP)350 YX(XP)YP FG0460 F0ēXP,YP:F1 XP,YP 3501170R JI%PROGRAM A1.2 (BASE CONVERTOR)9DECIMAL TO HEXS H$"0123456789ABCDEF"cBASE16:I1"NUMBER (DECIMAL) ";N:N(N)(Q(NBASE)2A(I)NBASEQ:II1<QBASENQ:40FA(I)QP"$";ZJI11d(H$,A(J)1,1); n""%PROGRAM A1.1 (BASE CONVERTOR)9HEX TO DECIMALQ "NUMBER (HEX) ";A$aL(A$):N0I0L1:T((A$,LI,1))(T36ī802TT48:T9TT7<NNT16IFIPN ,"(16286)127F0:20 0:X,Y( 80L)*. PROGRAM 9.3 (IMPROVED ELECTRONIC PEN)OINCLUDES PUSHBUTTON CONTROLX :3kX279(0)255~Y191(1)255(F0F1:X,Y2X,Y<(16287)12780F20PX279(0)255ZY191(1)255d3:X,YnI110:I x""$PROGRAM 9.2 (ELECTRONIC PEN)IUSES PADDLES TO CONTROL DRAWINGR :3eX279(0)255xY191(1)255(F0F1:X,Y2X,Y<20L8" u#PROGRAM 9.1 (PADDLE READER)QDISPLAYS VALUES PROVIDED BY GAME PADDLESY :k1:(0),(1)s20L" 24 PX:I,X ZI' d232,0:233,38 n::3:1:0H xX101004S I15` IX,100o T160:T| IX,100 I,X1PROGRAM 8.3 (INCHWORM)9SHAPE TABLE ANIMATION[ 5,0,12,0,21,0,30,0,39,0,46,0{45,40,32,5,168,174,21,37,045,40,32,5,40,45,21,37,0(45,5,40,5,40,45,21,37,0245,45,45,45,45,37,0<9,5,32,5,40,168,21,21,173,37,0 FI7688""