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