Home » Archimedes archive » Acorn User » AU 1995-10.adf » !Regulars » Regulars/StarInfo/Graphics/Incandesce

Regulars/StarInfo/Graphics/Incandesce

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 1995-10.adf » !Regulars
Filename: Regulars/StarInfo/Graphics/Incandesce
Read OK:
File size: 0458 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Incandesce
   20REM By dL 31Jul95
   30LIBRARY "PROCmode"
   40PROCmode("X800 Y600 C32T")
   50CLS
   60OFF
   70DIM x(200),y(200)
   80q=24
   90REPEAT
  100 s=RND(60)+10
  110 x=RND(800)*2
  120 y=RND(600)*2
  130 FOR i=0 TO s-1
  140  x(i)=x
  150  y(i)=y
  160  REPEAT
  170   a=RND(1)*360
  180   l=RND(40)+10
  190   dx=l*SINRAD(a)
  200   dy=l*COSRAD(a)
  210   x=x(i)+dx
  220   y=y(i)+dy
  230  UNTIL x>0 AND y>0 AND x<1600 AND y<1200
  240 NEXT
  250
  260 cr=RND(64)
  270 cg=RND(64)
  280 cb=RND(64)
  290
  300 cr2=cr
  310 cg2=cg
  320 cb2=cb
  330 x=RND(6)
  340 IF (x AND 1) cr2=256-RND(160)
  350 IF (x AND 2) cg2=256-RND(160)
  360 IF (x AND 4) cb2=256-RND(160)
  370
  380 dr=(cr2-cr)/q
  390 dg=(cg2-cg)/q
  400 db=(cb2-cb)/q
  410
  420 
  430 FOR w=q*2 TO 0 STEP -2
  440  IF w=q*2 THEN
  450   GCOL 0,0,0
  460  ELSE
  470   GCOL cr,cg,cb
  480   cr+=dr
  490   cg+=dg
  500   cb+=db
  510  ENDIF
  520  IF w=0 THEN
  530   POINT x(0),y(0)
  540  ELSE
  550   CIRCLE FILL x(0),y(0),w
  560  ENDIF
  570  FOR i=1 TO s-1
  580   dx=x(i)-x(i-1)
  590   dy=y(i)-y(i-1)
  600   l=w/SQR(dx*dx+dy*dy)
  610   dx=dx*l
  620   dy=dy*l
  630   IF w=0 THEN
  640    DRAW x(i),y(i)
  650   ELSE
  660    MOVE x(i-1)-dy,y(i-1)+dx
  670    MOVE x(i-1)+dy,y(i-1)-dx
  680    PLOT 85,x(i)-dy,y(i)+dx
  690    PLOT 85,x(i)+dy,y(i)-dx
  700    CIRCLE FILL x(i),y(i),w
  710   ENDIF
  720  NEXT
  730 NEXT
  740UNTIL 0

� >Incandesce
� By dL 31Jul95
ț "PROCmode"
(�mode("X800 Y600 C32T")
2�
<�
F� x(200),y(200)
Pq=24
Z�
d s=�(60)+10
n x=�(800)*2
x y=�(600)*2
� � i=0 � s-1
�  x(i)=x
�  y(i)=y
�  �
�   a=�(1)*360
�   l=�(40)+10
�   dx=l*��(a)
�   dy=l*��(a)
�   x=x(i)+dx
�   y=y(i)+dy
�#  � x>0 � y>0 � x<1600 � y<1200
� �
�

 cr=�(64)

 cg=�(64)

 cb=�(64)
"
, cr2=cr
6 cg2=cg
@ cb2=cb
J x=�(6)
T � (x � 1) cr2=256-�(160)
^ � (x � 2) cg2=256-�(160)
h � (x � 4) cb2=256-�(160)
r
| dr=(cr2-cr)/q
� dg=(cg2-cg)/q
� db=(cb2-cb)/q
�
� 
� � w=q*2 � 0 � -2
�  � w=q*2 �
�   � 0,0,0
�  �
�   � cr,cg,cb
�
   cr+=dr
�
   cg+=dg
�
   cb+=db
�  �

  � w=0 �
   Ȓ x(0),y(0)
  �
&   ȏ Ȑ x(0),y(0),w
0  �
:  � i=1 � s-1
D   dx=x(i)-x(i-1)
N   dy=y(i)-y(i-1)
X   l=w/�(dx*dx+dy*dy)
b   dx=dx*l
l   dy=dy*l
v   � w=0 �
�    � x(i),y(i)
�   �
�    � x(i-1)-dy,y(i-1)+dx
�    � x(i-1)+dy,y(i-1)-dx
�    � 85,x(i)-dy,y(i)+dx
�    � 85,x(i)+dy,y(i)-dx
�    ȏ Ȑ x(i),y(i),w
�   �
�  �
� �
�� 0
�
00000000  0d 00 0a 11 f4 20 3e 49  6e 63 61 6e 64 65 73 63  |..... >Incandesc|
00000010  65 0d 00 14 13 f4 20 42  79 20 64 4c 20 33 31 4a  |e..... By dL 31J|
00000020  75 6c 39 35 0d 00 1e 11  c8 9b 20 22 50 52 4f 43  |ul95...... "PROC|
00000030  6d 6f 64 65 22 0d 00 28  1b f2 6d 6f 64 65 28 22  |mode"..(..mode("|
00000040  58 38 30 30 20 59 36 30  30 20 43 33 32 54 22 29  |X800 Y600 C32T")|
00000050  0d 00 32 05 db 0d 00 3c  05 87 0d 00 46 13 de 20  |..2....<....F.. |
00000060  78 28 32 30 30 29 2c 79  28 32 30 30 29 0d 00 50  |x(200),y(200)..P|
00000070  08 71 3d 32 34 0d 00 5a  05 f5 0d 00 64 0f 20 73  |.q=24..Z....d. s|
00000080  3d b3 28 36 30 29 2b 31  30 0d 00 6e 0f 20 78 3d  |=.(60)+10..n. x=|
00000090  b3 28 38 30 30 29 2a 32  0d 00 78 0f 20 79 3d b3  |.(800)*2..x. y=.|
000000a0  28 36 30 30 29 2a 32 0d  00 82 10 20 e3 20 69 3d  |(600)*2.... . i=|
000000b0  30 20 b8 20 73 2d 31 0d  00 8c 0c 20 20 78 28 69  |0 . s-1....  x(i|
000000c0  29 3d 78 0d 00 96 0c 20  20 79 28 69 29 3d 79 0d  |)=x....  y(i)=y.|
000000d0  00 a0 07 20 20 f5 0d 00  aa 11 20 20 20 61 3d b3  |...  .....   a=.|
000000e0  28 31 29 2a 33 36 30 0d  00 b4 11 20 20 20 6c 3d  |(1)*360....   l=|
000000f0  b3 28 34 30 29 2b 31 30  0d 00 be 11 20 20 20 64  |.(40)+10....   d|
00000100  78 3d 6c 2a b5 b2 28 61  29 0d 00 c8 11 20 20 20  |x=l*..(a)....   |
00000110  64 79 3d 6c 2a 9b b2 28  61 29 0d 00 d2 10 20 20  |dy=l*..(a)....  |
00000120  20 78 3d 78 28 69 29 2b  64 78 0d 00 dc 10 20 20  | x=x(i)+dx....  |
00000130  20 79 3d 79 28 69 29 2b  64 79 0d 00 e6 23 20 20  | y=y(i)+dy...#  |
00000140  fd 20 78 3e 30 20 80 20  79 3e 30 20 80 20 78 3c  |. x>0 . y>0 . x<|
00000150  31 36 30 30 20 80 20 79  3c 31 32 30 30 0d 00 f0  |1600 . y<1200...|
00000160  06 20 ed 0d 00 fa 04 0d  01 04 0d 20 63 72 3d b3  |. ......... cr=.|
00000170  28 36 34 29 0d 01 0e 0d  20 63 67 3d b3 28 36 34  |(64).... cg=.(64|
00000180  29 0d 01 18 0d 20 63 62  3d b3 28 36 34 29 0d 01  |).... cb=.(64)..|
00000190  22 04 0d 01 2c 0b 20 63  72 32 3d 63 72 0d 01 36  |"...,. cr2=cr..6|
000001a0  0b 20 63 67 32 3d 63 67  0d 01 40 0b 20 63 62 32  |. cg2=cg..@. cb2|
000001b0  3d 63 62 0d 01 4a 0b 20  78 3d b3 28 36 29 0d 01  |=cb..J. x=.(6)..|
000001c0  54 1d 20 e7 20 28 78 20  80 20 31 29 20 63 72 32  |T. . (x . 1) cr2|
000001d0  3d 32 35 36 2d b3 28 31  36 30 29 0d 01 5e 1d 20  |=256-.(160)..^. |
000001e0  e7 20 28 78 20 80 20 32  29 20 63 67 32 3d 32 35  |. (x . 2) cg2=25|
000001f0  36 2d b3 28 31 36 30 29  0d 01 68 1d 20 e7 20 28  |6-.(160)..h. . (|
00000200  78 20 80 20 34 29 20 63  62 32 3d 32 35 36 2d b3  |x . 4) cb2=256-.|
00000210  28 31 36 30 29 0d 01 72  04 0d 01 7c 12 20 64 72  |(160)..r...|. dr|
00000220  3d 28 63 72 32 2d 63 72  29 2f 71 0d 01 86 12 20  |=(cr2-cr)/q.... |
00000230  64 67 3d 28 63 67 32 2d  63 67 29 2f 71 0d 01 90  |dg=(cg2-cg)/q...|
00000240  12 20 64 62 3d 28 63 62  32 2d 63 62 29 2f 71 0d  |. db=(cb2-cb)/q.|
00000250  01 9a 04 0d 01 a4 05 20  0d 01 ae 15 20 e3 20 77  |....... .... . w|
00000260  3d 71 2a 32 20 b8 20 30  20 88 20 2d 32 0d 01 b8  |=q*2 . 0 . -2...|
00000270  0f 20 20 e7 20 77 3d 71  2a 32 20 8c 0d 01 c2 0e  |.  . w=q*2 .....|
00000280  20 20 20 e6 20 30 2c 30  2c 30 0d 01 cc 07 20 20  |   . 0,0,0....  |
00000290  cc 0d 01 d6 11 20 20 20  e6 20 63 72 2c 63 67 2c  |.....   . cr,cg,|
000002a0  63 62 0d 01 e0 0d 20 20  20 63 72 2b 3d 64 72 0d  |cb....   cr+=dr.|
000002b0  01 ea 0d 20 20 20 63 67  2b 3d 64 67 0d 01 f4 0d  |...   cg+=dg....|
000002c0  20 20 20 63 62 2b 3d 64  62 0d 01 fe 07 20 20 cd  |   cb+=db....  .|
000002d0  0d 02 08 0d 20 20 e7 20  77 3d 30 20 8c 0d 02 12  |....  . w=0 ....|
000002e0  13 20 20 20 c8 92 20 78  28 30 29 2c 79 28 30 29  |.   .. x(0),y(0)|
000002f0  0d 02 1c 07 20 20 cc 0d  02 26 18 20 20 20 c8 8f  |....  ...&.   ..|
00000300  20 c8 90 20 78 28 30 29  2c 79 28 30 29 2c 77 0d  | .. x(0),y(0),w.|
00000310  02 30 07 20 20 cd 0d 02  3a 11 20 20 e3 20 69 3d  |.0.  ...:.  . i=|
00000320  31 20 b8 20 73 2d 31 0d  02 44 15 20 20 20 64 78  |1 . s-1..D.   dx|
00000330  3d 78 28 69 29 2d 78 28  69 2d 31 29 0d 02 4e 15  |=x(i)-x(i-1)..N.|
00000340  20 20 20 64 79 3d 79 28  69 29 2d 79 28 69 2d 31  |   dy=y(i)-y(i-1|
00000350  29 0d 02 58 19 20 20 20  6c 3d 77 2f b6 28 64 78  |)..X.   l=w/.(dx|
00000360  2a 64 78 2b 64 79 2a 64  79 29 0d 02 62 0e 20 20  |*dx+dy*dy)..b.  |
00000370  20 64 78 3d 64 78 2a 6c  0d 02 6c 0e 20 20 20 64  | dx=dx*l..l.   d|
00000380  79 3d 64 79 2a 6c 0d 02  76 0e 20 20 20 e7 20 77  |y=dy*l..v.   . w|
00000390  3d 30 20 8c 0d 02 80 13  20 20 20 20 df 20 78 28  |=0 .....    . x(|
000003a0  69 29 2c 79 28 69 29 0d  02 8a 08 20 20 20 cc 0d  |i),y(i)....   ..|
000003b0  02 94 1d 20 20 20 20 ec  20 78 28 69 2d 31 29 2d  |...    . x(i-1)-|
000003c0  64 79 2c 79 28 69 2d 31  29 2b 64 78 0d 02 9e 1d  |dy,y(i-1)+dx....|
000003d0  20 20 20 20 ec 20 78 28  69 2d 31 29 2b 64 79 2c  |    . x(i-1)+dy,|
000003e0  79 28 69 2d 31 29 2d 64  78 0d 02 a8 1c 20 20 20  |y(i-1)-dx....   |
000003f0  20 f0 20 38 35 2c 78 28  69 29 2d 64 79 2c 79 28  | . 85,x(i)-dy,y(|
00000400  69 29 2b 64 78 0d 02 b2  1c 20 20 20 20 f0 20 38  |i)+dx....    . 8|
00000410  35 2c 78 28 69 29 2b 64  79 2c 79 28 69 29 2d 64  |5,x(i)+dy,y(i)-d|
00000420  78 0d 02 bc 19 20 20 20  20 c8 8f 20 c8 90 20 78  |x....    .. .. x|
00000430  28 69 29 2c 79 28 69 29  2c 77 0d 02 c6 08 20 20  |(i),y(i),w....  |
00000440  20 cd 0d 02 d0 07 20 20  ed 0d 02 da 06 20 ed 0d  | .....  ..... ..|
00000450  02 e4 07 fd 20 30 0d ff                           |.... 0..|
00000458