Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 » !AWApr95/Goodies/Draw/!DrawBasic/Draw/File
!AWApr95/Goodies/Draw/!DrawBasic/Draw/File
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Archimedes World » AW-1995-04-Disc1.adf » Disk1Apr95 |
Filename: | !AWApr95/Goodies/Draw/!DrawBasic/Draw/File |
Read OK: | ✔ |
File size: | 0629 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
ON ERROR ON ERROR OFF : CHAIN "ThrowBack:Error" LIBRARY "DrawBasic:Utils" HIMEM=FNFreeSlot PROCBeginDrawing REM >DrawBasic:Standard REM -------------------------------- REM REM This is the standard DrawBasic REM 'library' file REM REM � The LIBER ABACI Press, June 1994 REM REM ------------------------------- REM The main library calls:- REM ====================== LIBRARY "DrawBasic:Resources.Paths" LIBRARY "DrawBasic:Resources.Figures" LIBRARY "DrawBasic:Resources.Points" LIBRARY "DrawBasic:Resources.Attributes" LIBRARY "DrawBasic:Resources.Fonts" LIBRARY "DrawBasic:Resources.Transforms" LIBRARY "DrawBasic:Resources.Scales" REM the application libraries: REM ========================= LIBRARY "DrawBasic:Resources.Calculus.Graphs" LIBRARY "DrawBasic:resources.Calculus.ODEs" REM the Logo library REM ================ LIBRARY "DrawBasic:Library.Logo.LogoUtils" �Centimetres REM Hilbert Space Filling Curve REM REM References: REM REM 1) "Turtle Geometry" : H.Abelson & A. diSessa pub. MIT p.93 REM levels=6 �Inches �PathBegin(path) �Turtle(1,2,0) �Hilbert(.05,levels,1) �PathEnd �Quit END DEF �Hilbert(size,level,parity) IF level<>0 THEN �Left(parity*90) : �Hilbert(size,level-1,-parity) : �Forward(size) �Right(parity*90) : �Hilbert(size,level-1,parity) : �Forward(size) �Hilbert(size,level-1,parity) : �Right(parity*90) : �Forward(size) �Hilbert(size,level-1,-parity) : �Left(parity*90) ENDIF ENDPROC
00000000 4f 4e 20 45 52 52 4f 52 20 4f 4e 20 45 52 52 4f |ON ERROR ON ERRO| 00000010 52 20 4f 46 46 20 3a 20 43 48 41 49 4e 20 22 54 |R OFF : CHAIN "T| 00000020 68 72 6f 77 42 61 63 6b 3a 45 72 72 6f 72 22 0d |hrowBack:Error".| 00000030 4c 49 42 52 41 52 59 20 22 44 72 61 77 42 61 73 |LIBRARY "DrawBas| 00000040 69 63 3a 55 74 69 6c 73 22 0d 48 49 4d 45 4d 3d |ic:Utils".HIMEM=| 00000050 46 4e 46 72 65 65 53 6c 6f 74 0d 50 52 4f 43 42 |FNFreeSlot.PROCB| 00000060 65 67 69 6e 44 72 61 77 69 6e 67 0d 52 45 4d 20 |eginDrawing.REM | 00000070 3e 44 72 61 77 42 61 73 69 63 3a 53 74 61 6e 64 |>DrawBasic:Stand| 00000080 61 72 64 0d 52 45 4d 20 2d 2d 2d 2d 2d 2d 2d 2d |ard.REM --------| 00000090 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 000000a0 2d 2d 2d 2d 2d 2d 2d 2d 0d 52 45 4d 0d 52 45 4d |--------.REM.REM| 000000b0 20 54 68 69 73 20 69 73 20 74 68 65 20 73 74 61 | This is the sta| 000000c0 6e 64 61 72 64 20 44 72 61 77 42 61 73 69 63 0d |ndard DrawBasic.| 000000d0 52 45 4d 20 27 6c 69 62 72 61 72 79 27 20 66 69 |REM 'library' fi| 000000e0 6c 65 0d 52 45 4d 0d 52 45 4d 20 20 a9 20 54 68 |le.REM.REM . Th| 000000f0 65 20 4c 49 42 45 52 20 41 42 41 43 49 20 50 72 |e LIBER ABACI Pr| 00000100 65 73 73 2c 20 4a 75 6e 65 20 31 39 39 34 0d 52 |ess, June 1994.R| 00000110 45 4d 0d 52 45 4d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |EM.REM ---------| 00000120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000130 2d 2d 2d 2d 2d 2d 0d 20 20 20 20 20 20 20 20 20 |------. | 00000140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00000170 0d 52 45 4d 20 54 68 65 20 6d 61 69 6e 20 6c 69 |.REM The main li| 00000180 62 72 61 72 79 20 63 61 6c 6c 73 3a 2d 0d 52 45 |brary calls:-.RE| 00000190 4d 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |M ==============| 000001a0 3d 3d 3d 3d 3d 3d 3d 3d 0d 0d 20 0d 20 20 20 20 |========.. . | 000001b0 4c 49 42 52 41 52 59 20 22 44 72 61 77 42 61 73 |LIBRARY "DrawBas| 000001c0 69 63 3a 52 65 73 6f 75 72 63 65 73 2e 50 61 74 |ic:Resources.Pat| 000001d0 68 73 22 0d 20 20 20 20 4c 49 42 52 41 52 59 20 |hs". LIBRARY | 000001e0 22 44 72 61 77 42 61 73 69 63 3a 52 65 73 6f 75 |"DrawBasic:Resou| 000001f0 72 63 65 73 2e 46 69 67 75 72 65 73 22 0d 20 20 |rces.Figures". | 00000200 20 20 4c 49 42 52 41 52 59 20 22 44 72 61 77 42 | LIBRARY "DrawB| 00000210 61 73 69 63 3a 52 65 73 6f 75 72 63 65 73 2e 50 |asic:Resources.P| 00000220 6f 69 6e 74 73 22 0d 20 20 20 20 4c 49 42 52 41 |oints". LIBRA| 00000230 52 59 20 22 44 72 61 77 42 61 73 69 63 3a 52 65 |RY "DrawBasic:Re| 00000240 73 6f 75 72 63 65 73 2e 41 74 74 72 69 62 75 74 |sources.Attribut| 00000250 65 73 22 0d 20 20 20 20 4c 49 42 52 41 52 59 20 |es". LIBRARY | 00000260 22 44 72 61 77 42 61 73 69 63 3a 52 65 73 6f 75 |"DrawBasic:Resou| 00000270 72 63 65 73 2e 46 6f 6e 74 73 22 0d 20 20 20 20 |rces.Fonts". | 00000280 4c 49 42 52 41 52 59 20 22 44 72 61 77 42 61 73 |LIBRARY "DrawBas| 00000290 69 63 3a 52 65 73 6f 75 72 63 65 73 2e 54 72 61 |ic:Resources.Tra| 000002a0 6e 73 66 6f 72 6d 73 22 0d 20 20 20 20 4c 49 42 |nsforms". LIB| 000002b0 52 41 52 59 20 22 44 72 61 77 42 61 73 69 63 3a |RARY "DrawBasic:| 000002c0 52 65 73 6f 75 72 63 65 73 2e 53 63 61 6c 65 73 |Resources.Scales| 000002d0 22 0d 0d 52 45 4d 20 74 68 65 20 61 70 70 6c 69 |"..REM the appli| 000002e0 63 61 74 69 6f 6e 20 6c 69 62 72 61 72 69 65 73 |cation libraries| 000002f0 3a 0d 52 45 4d 20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |:.REM ==========| 00000300 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d |===============.| 00000310 0d 20 20 20 20 4c 49 42 52 41 52 59 20 22 44 72 |. LIBRARY "Dr| 00000320 61 77 42 61 73 69 63 3a 52 65 73 6f 75 72 63 65 |awBasic:Resource| 00000330 73 2e 43 61 6c 63 75 6c 75 73 2e 47 72 61 70 68 |s.Calculus.Graph| 00000340 73 22 0d 20 20 20 20 4c 49 42 52 41 52 59 20 22 |s". LIBRARY "| 00000350 44 72 61 77 42 61 73 69 63 3a 72 65 73 6f 75 72 |DrawBasic:resour| 00000360 63 65 73 2e 43 61 6c 63 75 6c 75 73 2e 4f 44 45 |ces.Calculus.ODE| 00000370 73 22 0d 0d 52 45 4d 20 74 68 65 20 4c 6f 67 6f |s"..REM the Logo| 00000380 20 6c 69 62 72 61 72 79 0d 52 45 4d 20 3d 3d 3d | library.REM ===| 00000390 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0d 20 |=============.. | 000003a0 20 20 4c 49 42 52 41 52 59 20 22 44 72 61 77 42 | LIBRARY "DrawB| 000003b0 61 73 69 63 3a 4c 69 62 72 61 72 79 2e 4c 6f 67 |asic:Library.Log| 000003c0 6f 2e 4c 6f 67 6f 55 74 69 6c 73 22 0d 0d 0d 0d |o.LogoUtils"....| 000003d0 f2 43 65 6e 74 69 6d 65 74 72 65 73 0d 0d 0d 52 |.Centimetres...R| 000003e0 45 4d 20 48 69 6c 62 65 72 74 20 53 70 61 63 65 |EM Hilbert Space| 000003f0 20 46 69 6c 6c 69 6e 67 20 43 75 72 76 65 0d 52 | Filling Curve.R| 00000400 45 4d 0d 52 45 4d 20 52 65 66 65 72 65 6e 63 65 |EM.REM Reference| 00000410 73 3a 0d 52 45 4d 0d 52 45 4d 20 20 20 20 20 20 |s:.REM.REM | 00000420 31 29 20 22 54 75 72 74 6c 65 20 47 65 6f 6d 65 |1) "Turtle Geome| 00000430 74 72 79 22 20 3a 20 48 2e 41 62 65 6c 73 6f 6e |try" : H.Abelson| 00000440 20 26 20 41 2e 20 64 69 53 65 73 73 61 20 70 75 | & A. diSessa pu| 00000450 62 2e 20 4d 49 54 20 20 70 2e 39 33 0d 52 45 4d |b. MIT p.93.REM| 00000460 0d 0d 20 20 20 20 6c 65 76 65 6c 73 3d 36 0d 0d |.. levels=6..| 00000470 20 20 20 20 20 20 20 0d 20 20 20 20 f2 49 6e 63 | . .Inc| 00000480 68 65 73 0d 20 20 20 20 f2 50 61 74 68 42 65 67 |hes. .PathBeg| 00000490 69 6e 28 70 61 74 68 29 0d 20 20 20 20 f2 54 75 |in(path). .Tu| 000004a0 72 74 6c 65 28 31 2c 32 2c 30 29 0d 20 20 20 20 |rtle(1,2,0). | 000004b0 f2 48 69 6c 62 65 72 74 28 2e 30 35 2c 6c 65 76 |.Hilbert(.05,lev| 000004c0 65 6c 73 2c 31 29 0d 20 20 20 20 f2 50 61 74 68 |els,1). .Path| 000004d0 45 6e 64 0d 20 20 20 20 f2 51 75 69 74 0d 0d 45 |End. .Quit..E| 000004e0 4e 44 0d 0d 44 45 46 20 f2 48 69 6c 62 65 72 74 |ND..DEF .Hilbert| 000004f0 28 73 69 7a 65 2c 6c 65 76 65 6c 2c 70 61 72 69 |(size,level,pari| 00000500 74 79 29 0d 20 49 46 20 6c 65 76 65 6c 3c 3e 30 |ty). IF level<>0| 00000510 20 54 48 45 4e 0d 20 f2 4c 65 66 74 28 70 61 72 | THEN. .Left(par| 00000520 69 74 79 2a 39 30 29 20 3a 20 f2 48 69 6c 62 65 |ity*90) : .Hilbe| 00000530 72 74 28 73 69 7a 65 2c 6c 65 76 65 6c 2d 31 2c |rt(size,level-1,| 00000540 2d 70 61 72 69 74 79 29 20 3a 20 f2 46 6f 72 77 |-parity) : .Forw| 00000550 61 72 64 28 73 69 7a 65 29 0d 20 f2 52 69 67 68 |ard(size). .Righ| 00000560 74 28 70 61 72 69 74 79 2a 39 30 29 20 3a 20 f2 |t(parity*90) : .| 00000570 48 69 6c 62 65 72 74 28 73 69 7a 65 2c 6c 65 76 |Hilbert(size,lev| 00000580 65 6c 2d 31 2c 70 61 72 69 74 79 29 20 3a 20 f2 |el-1,parity) : .| 00000590 46 6f 72 77 61 72 64 28 73 69 7a 65 29 0d 20 f2 |Forward(size). .| 000005a0 48 69 6c 62 65 72 74 28 73 69 7a 65 2c 6c 65 76 |Hilbert(size,lev| 000005b0 65 6c 2d 31 2c 70 61 72 69 74 79 29 20 20 3a 20 |el-1,parity) : | 000005c0 f2 52 69 67 68 74 28 70 61 72 69 74 79 2a 39 30 |.Right(parity*90| 000005d0 29 20 3a 20 f2 46 6f 72 77 61 72 64 28 73 69 7a |) : .Forward(siz| 000005e0 65 29 0d 20 f2 48 69 6c 62 65 72 74 28 73 69 7a |e). .Hilbert(siz| 000005f0 65 2c 6c 65 76 65 6c 2d 31 2c 2d 70 61 72 69 74 |e,level-1,-parit| 00000600 79 29 20 3a 20 f2 4c 65 66 74 28 70 61 72 69 74 |y) : .Left(parit| 00000610 79 2a 39 30 29 20 0d 20 45 4e 44 49 46 0d 45 4e |y*90) . ENDIF.EN| 00000620 44 50 52 4f 43 0d 0d 0d 0d |DPROC....| 00000629