Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Regulars » StarInfo/vanMourik/WHIRL2
StarInfo/vanMourik/WHIRL2
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 » Acorn User » AU 1997-10 A.adf » Regulars |
| Filename: | StarInfo/vanMourik/WHIRL2 |
| Read OK: | ✔ |
| File size: | 069E bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
10REM >WHIRL2 20REM JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1995 30MODE12:OFF:E=EXP1:C%=4 40DIM R%(15),G%(15),B%(15):FORX%=0TO15:READ R%(X%),G%(X%),B%(X%):COLOUR X%,R%(X%),G%(X%),B%(X%):NEXT 50ORIGIN640,512:OFF:PRINT:PRINT" LOGARITHMIC SPIRAL-WHIRL":PRINT 60PRINT"SUGGESTED ANGLES; 1 RADIANT=57.3 DEG. OR GOLDEN RATIO GROWTH=85.62 DEG.":PRINT"TO SEE THE PATTERN WITHOUT TRANSFORMATION ; ANGLE = 0." 70PRINT"AFTER THE WHIRL IS FINISHED YOU CAN GET YOURSELF HYPNOTISED BY THE COMPUTER.":PRINT"PRESS LEFT/RIGHT MOUSE BUTTON TO GO FOR A BIT OF COLOUR CYCLING." 80PRINT"MIDDLE BUTTON TO START AGAIN WITH A DIFFERENT PARAMETER." 90INPUT"ANGLE OF SPIRAL WITH RADIUS (IN DEGREES < 90)";A:A=RADA:IF A>PI/2-.0001 A=PI/2-.0001 100PRINT DEGA;" DEGREES.":IF A=0 A=.00001 110REM M,N ARE THE TRANDFORMED COORDINATES FROM X%,Y% 120 130B=TAN A:D=15/PI:REM MAIN LOOP 140FOR X%=-640TO0STEP2:Z%=X%*X% 150FOR Y%=-512TO512STEPC%:R=SQR(Z%+Y%*Y%):IF R=0 NEXT:NEXT:GOTO190 160V=LN(R/A)*B:M=X%*COSV+Y%*SINV:N=Y%*COSV-X%*SINV:GCOL((ATN(N/M)+PI)*D)MOD15+1:POINT X%,Y%:POINT -X%,-Y%:NEXT:NEXT 170 180REM COLOUR CYCLER ROUTINE. NEED TO BE IN A 16 COLOUR MODE. 190REPEAT 200WAIT:WAIT:FORX%=1TO15:COLOURX%,R%(X%),G%(X%),B%(X%):NEXT 210REM WAIT:FORX%=6TO10:COLOURX%,R%(X%),G%(X%),B%(X%):NEXT 220REM WAIT:FORX%=11TO15:COLOURX%,R%(X%),G%(X%),B%(X%):NEXT 230REPEAT:MOUSE R%,G%,B%:UNTIL B% 240IF B%=1 R%=R%(15):G%=G%(15):B%=B%(15):FORX%=14TO1STEP-1:R%(X%+1)=R%(X%):G%(X%+1)=G%(X%):B%(X%+1)=B%(X%):NEXT:R%(1)=R%:G%(1)=G%:B%(1)=B% 250IF B%=4 R%=R%(1):G%=G%(1):B%=B%(1):FORX%=2TO15:R%(X%-1)=R%(X%):G%(X%-1)=G%(X%):B%(X%-1)=B%(X%):NEXT:R%(15)=R%:G%(15)=G%:B%(15)=B% 260UNTILB%=2:GOTO90 270 280DATA 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192 REM R,G,B VALUE OF THE PALETTE
� >WHIRL2 K� JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 1995 �12:�:E=�1:C%=4 (V� R%(15),G%(15),B%(15):�X%=0�15:� R%(X%),G%(X%),B%(X%):� X%,R%(X%),G%(X%),B%(X%):� 25ȑ640,512:�:�:�" LOGARITHMIC SPIRAL-WHIRL":� <��"SUGGESTED ANGLES; 1 RADIANT=57.3 DEG. OR GOLDEN RATIO GROWTH=85.62 DEG.":�"TO SEE THE PATTERN WITHOUT TRANSFORMATION ; ANGLE = 0." F��"AFTER THE WHIRL IS FINISHED YOU CAN GET YOURSELF HYPNOTISED BY THE COMPUTER.":�"PRESS LEFT/RIGHT MOUSE BUTTON TO GO FOR A BIT OF COLOUR CYCLING." P?�"MIDDLE BUTTON TO START AGAIN WITH A DIFFERENT PARAMETER." ZU�"ANGLE OF SPIRAL WITH RADIUS (IN DEGREES < 90)";A:A=�A:� A>�/2-.0001 A=�/2-.0001 d#� �A;" DEGREES.":� A=0 A=.00001 n4� M,N ARE THE TRANDFORMED COORDINATES FROM X%,Y% x �B=� A:D=15/�:� MAIN LOOP �� X%=-640�0�2:Z%=X%*X% �2� Y%=-512�512�C%:R=�(Z%+Y%*Y%):� R=0 �:�:�t~@ �WV=�(R/A)*B:M=X%*�V+Y%*�V:N=Y%*�V-X%*�V:�((�(N/M)+�)*D)�15+1:Ȓ X%,Y%:Ȓ -X%,-Y%:�:� � �=� COLOUR CYCLER ROUTINE. NEED TO BE IN A 16 COLOUR MODE. �� �-Ȗ:Ȗ:�X%=1�15:�X%,R%(X%),G%(X%),B%(X%):� �9� WAIT:FORX%=6TO10:COLOURX%,R%(X%),G%(X%),B%(X%):NEXT �:� WAIT:FORX%=11TO15:COLOURX%,R%(X%),G%(X%),B%(X%):NEXT ��:ȗ R%,G%,B%:� B% �� B%=1 R%=R%(15):G%=G%(15):B%=B%(15):�X%=14�1�-1:R%(X%+1)=R%(X%):G%(X%+1)=G%(X%):B%(X%+1)=B%(X%):�:R%(1)=R%:G%(1)=G%:B%(1)=B% �~� B%=4 R%=R%(1):G%=G%(1):B%=B%(1):�X%=2�15:R%(X%-1)=R%(X%):G%(X%-1)=G%(X%):B%(X%-1)=B%(X%):�:R%(15)=R%:G%(15)=G%:B%(15)=B% �B%=2:�DZ@ �� 0,0,0,192,0,240,144,48,240,96,96,240,48,144,240,0,192,240,0,240,192,48,240,144,96,240,96,144,240,48,192,240,0,240,192,0,240,144,48,240,96,96,240,48,144,240,0,192 REM R,G,B VALUE OF THE PALETTE �
00000000 0d 00 0a 0d f4 20 3e 57 48 49 52 4c 32 0d 00 14 |..... >WHIRL2...| 00000010 4b f4 20 4a 45 41 4e 20 56 41 4e 20 4d 4f 55 52 |K. JEAN VAN MOUR| 00000020 49 4b 20 4d 49 4c 4c 43 4f 54 54 41 47 45 20 44 |IK MILLCOTTAGE D| 00000030 45 52 57 59 44 44 20 41 4d 4d 41 4e 46 4f 52 44 |ERWYDD AMMANFORD| 00000040 20 44 59 46 45 44 20 53 41 31 38 33 4c 51 20 20 | DYFED SA183LQ | 00000050 55 4b 2e 20 31 39 39 35 0d 00 1e 13 eb 31 32 3a |UK. 1995.....12:| 00000060 87 3a 45 3d a1 31 3a 43 25 3d 34 0d 00 28 56 de |.:E=.1:C%=4..(V.| 00000070 20 52 25 28 31 35 29 2c 47 25 28 31 35 29 2c 42 | R%(15),G%(15),B| 00000080 25 28 31 35 29 3a e3 58 25 3d 30 b8 31 35 3a f3 |%(15):.X%=0.15:.| 00000090 20 52 25 28 58 25 29 2c 47 25 28 58 25 29 2c 42 | R%(X%),G%(X%),B| 000000a0 25 28 58 25 29 3a fb 20 58 25 2c 52 25 28 58 25 |%(X%):. X%,R%(X%| 000000b0 29 2c 47 25 28 58 25 29 2c 42 25 28 58 25 29 3a |),G%(X%),B%(X%):| 000000c0 ed 0d 00 32 35 c8 91 36 34 30 2c 35 31 32 3a 87 |...25..640,512:.| 000000d0 3a f1 3a f1 22 20 20 20 20 20 20 4c 4f 47 41 52 |:.:." LOGAR| 000000e0 49 54 48 4d 49 43 20 53 50 49 52 41 4c 2d 57 48 |ITHMIC SPIRAL-WH| 000000f0 49 52 4c 22 3a f1 0d 00 3c 88 f1 22 53 55 47 47 |IRL":...<.."SUGG| 00000100 45 53 54 45 44 20 41 4e 47 4c 45 53 3b 20 31 20 |ESTED ANGLES; 1 | 00000110 52 41 44 49 41 4e 54 3d 35 37 2e 33 20 44 45 47 |RADIANT=57.3 DEG| 00000120 2e 20 4f 52 20 47 4f 4c 44 45 4e 20 52 41 54 49 |. OR GOLDEN RATI| 00000130 4f 20 47 52 4f 57 54 48 3d 38 35 2e 36 32 20 44 |O GROWTH=85.62 D| 00000140 45 47 2e 22 3a f1 22 54 4f 20 53 45 45 20 54 48 |EG.":."TO SEE TH| 00000150 45 20 50 41 54 54 45 52 4e 20 57 49 54 48 4f 55 |E PATTERN WITHOU| 00000160 54 20 54 52 41 4e 53 46 4f 52 4d 41 54 49 4f 4e |T TRANSFORMATION| 00000170 20 3b 20 41 4e 47 4c 45 20 3d 20 30 2e 22 0d 00 | ; ANGLE = 0."..| 00000180 46 97 f1 22 41 46 54 45 52 20 54 48 45 20 57 48 |F.."AFTER THE WH| 00000190 49 52 4c 20 49 53 20 46 49 4e 49 53 48 45 44 20 |IRL IS FINISHED | 000001a0 59 4f 55 20 43 41 4e 20 47 45 54 20 59 4f 55 52 |YOU CAN GET YOUR| 000001b0 53 45 4c 46 20 48 59 50 4e 4f 54 49 53 45 44 20 |SELF HYPNOTISED | 000001c0 42 59 20 54 48 45 20 43 4f 4d 50 55 54 45 52 2e |BY THE COMPUTER.| 000001d0 22 3a f1 22 50 52 45 53 53 20 4c 45 46 54 2f 52 |":."PRESS LEFT/R| 000001e0 49 47 48 54 20 4d 4f 55 53 45 20 42 55 54 54 4f |IGHT MOUSE BUTTO| 000001f0 4e 20 54 4f 20 47 4f 20 46 4f 52 20 41 20 42 49 |N TO GO FOR A BI| 00000200 54 20 4f 46 20 43 4f 4c 4f 55 52 20 43 59 43 4c |T OF COLOUR CYCL| 00000210 49 4e 47 2e 22 0d 00 50 3f f1 22 4d 49 44 44 4c |ING."..P?."MIDDL| 00000220 45 20 42 55 54 54 4f 4e 20 54 4f 20 53 54 41 52 |E BUTTON TO STAR| 00000230 54 20 41 47 41 49 4e 20 57 49 54 48 20 41 20 44 |T AGAIN WITH A D| 00000240 49 46 46 45 52 45 4e 54 20 50 41 52 41 4d 45 54 |IFFERENT PARAMET| 00000250 45 52 2e 22 0d 00 5a 55 e8 22 41 4e 47 4c 45 20 |ER."..ZU."ANGLE | 00000260 4f 46 20 53 50 49 52 41 4c 20 57 49 54 48 20 52 |OF SPIRAL WITH R| 00000270 41 44 49 55 53 20 28 49 4e 20 44 45 47 52 45 45 |ADIUS (IN DEGREE| 00000280 53 20 3c 20 39 30 29 22 3b 41 3a 41 3d b2 41 3a |S < 90)";A:A=.A:| 00000290 e7 20 41 3e af 2f 32 2d 2e 30 30 30 31 20 41 3d |. A>./2-.0001 A=| 000002a0 af 2f 32 2d 2e 30 30 30 31 0d 00 64 23 f1 20 9d |./2-.0001..d#. .| 000002b0 41 3b 22 20 44 45 47 52 45 45 53 2e 22 3a e7 20 |A;" DEGREES.":. | 000002c0 41 3d 30 20 41 3d 2e 30 30 30 30 31 0d 00 6e 34 |A=0 A=.00001..n4| 000002d0 f4 20 4d 2c 4e 20 41 52 45 20 54 48 45 20 54 52 |. M,N ARE THE TR| 000002e0 41 4e 44 46 4f 52 4d 45 44 20 43 4f 4f 52 44 49 |ANDFORMED COORDI| 000002f0 4e 41 54 45 53 20 46 52 4f 4d 20 58 25 2c 59 25 |NATES FROM X%,Y%| 00000300 0d 00 78 05 20 0d 00 82 1c 42 3d b7 20 41 3a 44 |..x. ....B=. A:D| 00000310 3d 31 35 2f af 3a f4 20 4d 41 49 4e 20 4c 4f 4f |=15/.:. MAIN LOO| 00000320 50 0d 00 8c 1a e3 20 58 25 3d 2d 36 34 30 b8 30 |P..... X%=-640.0| 00000330 88 32 3a 5a 25 3d 58 25 2a 58 25 0d 00 96 32 e3 |.2:Z%=X%*X%...2.| 00000340 20 59 25 3d 2d 35 31 32 b8 35 31 32 88 43 25 3a | Y%=-512.512.C%:| 00000350 52 3d b6 28 5a 25 2b 59 25 2a 59 25 29 3a e7 20 |R=.(Z%+Y%*Y%):. | 00000360 52 3d 30 20 ed 3a ed 3a e5 8d 74 7e 40 0d 00 a0 |R=0 .:.:..t~@...| 00000370 57 56 3d aa 28 52 2f 41 29 2a 42 3a 4d 3d 58 25 |WV=.(R/A)*B:M=X%| 00000380 2a 9b 56 2b 59 25 2a b5 56 3a 4e 3d 59 25 2a 9b |*.V+Y%*.V:N=Y%*.| 00000390 56 2d 58 25 2a b5 56 3a e6 28 28 99 28 4e 2f 4d |V-X%*.V:.((.(N/M| 000003a0 29 2b af 29 2a 44 29 83 31 35 2b 31 3a c8 92 20 |)+.)*D).15+1:.. | 000003b0 58 25 2c 59 25 3a c8 92 20 2d 58 25 2c 2d 59 25 |X%,Y%:.. -X%,-Y%| 000003c0 3a ed 3a ed 0d 00 aa 05 20 0d 00 b4 3d f4 20 43 |:.:..... ...=. C| 000003d0 4f 4c 4f 55 52 20 43 59 43 4c 45 52 20 52 4f 55 |OLOUR CYCLER ROU| 000003e0 54 49 4e 45 2e 20 20 4e 45 45 44 20 54 4f 20 42 |TINE. NEED TO B| 000003f0 45 20 49 4e 20 41 20 31 36 20 43 4f 4c 4f 55 52 |E IN A 16 COLOUR| 00000400 20 4d 4f 44 45 2e 0d 00 be 05 f5 0d 00 c8 2d c8 | MODE.........-.| 00000410 96 3a c8 96 3a e3 58 25 3d 31 b8 31 35 3a fb 58 |.:..:.X%=1.15:.X| 00000420 25 2c 52 25 28 58 25 29 2c 47 25 28 58 25 29 2c |%,R%(X%),G%(X%),| 00000430 42 25 28 58 25 29 3a ed 0d 00 d2 39 f4 20 57 41 |B%(X%):....9. WA| 00000440 49 54 3a 46 4f 52 58 25 3d 36 54 4f 31 30 3a 43 |IT:FORX%=6TO10:C| 00000450 4f 4c 4f 55 52 58 25 2c 52 25 28 58 25 29 2c 47 |OLOURX%,R%(X%),G| 00000460 25 28 58 25 29 2c 42 25 28 58 25 29 3a 4e 45 58 |%(X%),B%(X%):NEX| 00000470 54 0d 00 dc 3a f4 20 57 41 49 54 3a 46 4f 52 58 |T...:. WAIT:FORX| 00000480 25 3d 31 31 54 4f 31 35 3a 43 4f 4c 4f 55 52 58 |%=11TO15:COLOURX| 00000490 25 2c 52 25 28 58 25 29 2c 47 25 28 58 25 29 2c |%,R%(X%),G%(X%),| 000004a0 42 25 28 58 25 29 3a 4e 45 58 54 0d 00 e6 16 f5 |B%(X%):NEXT.....| 000004b0 3a c8 97 20 52 25 2c 47 25 2c 42 25 3a fd 20 42 |:.. R%,G%,B%:. B| 000004c0 25 0d 00 f0 81 e7 20 42 25 3d 31 20 52 25 3d 52 |%..... B%=1 R%=R| 000004d0 25 28 31 35 29 3a 47 25 3d 47 25 28 31 35 29 3a |%(15):G%=G%(15):| 000004e0 42 25 3d 42 25 28 31 35 29 3a e3 58 25 3d 31 34 |B%=B%(15):.X%=14| 000004f0 b8 31 88 2d 31 3a 52 25 28 58 25 2b 31 29 3d 52 |.1.-1:R%(X%+1)=R| 00000500 25 28 58 25 29 3a 47 25 28 58 25 2b 31 29 3d 47 |%(X%):G%(X%+1)=G| 00000510 25 28 58 25 29 3a 42 25 28 58 25 2b 31 29 3d 42 |%(X%):B%(X%+1)=B| 00000520 25 28 58 25 29 3a ed 3a 52 25 28 31 29 3d 52 25 |%(X%):.:R%(1)=R%| 00000530 3a 47 25 28 31 29 3d 47 25 3a 42 25 28 31 29 3d |:G%(1)=G%:B%(1)=| 00000540 42 25 0d 00 fa 7e e7 20 42 25 3d 34 20 52 25 3d |B%...~. B%=4 R%=| 00000550 52 25 28 31 29 3a 47 25 3d 47 25 28 31 29 3a 42 |R%(1):G%=G%(1):B| 00000560 25 3d 42 25 28 31 29 3a e3 58 25 3d 32 b8 31 35 |%=B%(1):.X%=2.15| 00000570 3a 52 25 28 58 25 2d 31 29 3d 52 25 28 58 25 29 |:R%(X%-1)=R%(X%)| 00000580 3a 47 25 28 58 25 2d 31 29 3d 47 25 28 58 25 29 |:G%(X%-1)=G%(X%)| 00000590 3a 42 25 28 58 25 2d 31 29 3d 42 25 28 58 25 29 |:B%(X%-1)=B%(X%)| 000005a0 3a ed 3a 52 25 28 31 35 29 3d 52 25 3a 47 25 28 |:.:R%(15)=R%:G%(| 000005b0 31 35 29 3d 47 25 3a 42 25 28 31 35 29 3d 42 25 |15)=G%:B%(15)=B%| 000005c0 0d 01 04 0f fd 42 25 3d 32 3a e5 8d 44 5a 40 0d |.....B%=2:..DZ@.| 000005d0 01 0e 05 20 0d 01 18 c8 dc 20 30 2c 30 2c 30 2c |... ..... 0,0,0,| 000005e0 31 39 32 2c 30 2c 32 34 30 2c 31 34 34 2c 34 38 |192,0,240,144,48| 000005f0 2c 32 34 30 2c 39 36 2c 39 36 2c 32 34 30 2c 34 |,240,96,96,240,4| 00000600 38 2c 31 34 34 2c 32 34 30 2c 30 2c 31 39 32 2c |8,144,240,0,192,| 00000610 32 34 30 2c 30 2c 32 34 30 2c 31 39 32 2c 34 38 |240,0,240,192,48| 00000620 2c 32 34 30 2c 31 34 34 2c 39 36 2c 32 34 30 2c |,240,144,96,240,| 00000630 39 36 2c 31 34 34 2c 32 34 30 2c 34 38 2c 31 39 |96,144,240,48,19| 00000640 32 2c 32 34 30 2c 30 2c 32 34 30 2c 31 39 32 2c |2,240,0,240,192,| 00000650 30 2c 32 34 30 2c 31 34 34 2c 34 38 2c 32 34 30 |0,240,144,48,240| 00000660 2c 39 36 2c 39 36 2c 32 34 30 2c 34 38 2c 31 34 |,96,96,240,48,14| 00000670 34 2c 32 34 30 2c 30 2c 31 39 32 20 20 20 52 45 |4,240,0,192 RE| 00000680 4d 20 52 2c 47 2c 42 20 56 41 4c 55 45 20 4f 46 |M R,G,B VALUE OF| 00000690 20 54 48 45 20 50 41 4c 45 54 54 45 0d ff | THE PALETTE..| 0000069e
.