Home » Personal collection » Acorn hard disk » apps » Atelier » AtelFiles/Formulae

AtelFiles/Formulae

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 » Personal collection » Acorn hard disk » apps » Atelier
Filename: AtelFiles/Formulae
Read OK:
File size: 076B bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
A formula is found by the dollar sign, its name traced backwards to
the first [CR] or [LF] and the formula traced to the last [CR] or [LF].
This means that other text in this file must not use the dollar sign
otherwise problems will occur.

The following list will identify correctly.

Bowl$COS(FNradiusR)*50
Bumps$COS(XR)*SIN(YR)*50
Egg Box$(ABS(XD)<270)*(ABS(YD)<270)*(COS(XR)*COS(YR))*50
Error$Atelier written by Simon Clay for Minerva Software.
If a formula like the line 'Error' above is not a valid a formula it will be
ignored.
Flat$0
Hump$(FNradiusD<180)*(COS(FNradiusR/2))*-100
Peak$(FNradiusD*-.5)+COS(FNradiusR*2)*20
Pyramid$180+(ABS(XD)>=ABS(YD))*ABS(XD)+(ABS(XD)<ABS(YD))*ABS(YD))
Spike$COS(FNradiusR*2)*TAN(80-FNradiusR/4.5)*50

NOTE :
ONLY THE FIRST 19 CHARACTERS OF A NAME ARE ACCEPTED,
AND ONLY THE FIRST NINE FORMULAE ARE USED IN THE FILE.

The variables available are
XD goes from -360 on the left of the source,to +360 on the right
YD goes from -360 on the bottom of the source to +360 on the top
XR and YR are the same as XD and YD except in radians

Functions available are
FNradiusR-SQR(XR^2+YR^2) - Finds the radius from the center in radians
FNradiusD-SQR(XD^2+YD^2) - Finds the radius from the center in degrees.

These formulae will be listed by Atelier in its Formula Setup Menu.
The list can be scrolled and selected. When a file of this nature is
loaded Atelier scans it and when a formula is found it is read and used to
 build up a skeleton of its shape for the menu.
If an error occurs when this skeleton is being calculated then that formula  is ignored. Atelier also allows a single formula to be entered directly into 
the menu. Formulae can therefore be tested before transferring it to a file. 
Two formulae can have the same name as they are selected by their
position in the list and not by name. Therefore, different names should be used to avoid confusion.
00000000  41 20 66 6f 72 6d 75 6c  61 20 69 73 20 66 6f 75  |A formula is fou|
00000010  6e 64 20 62 79 20 74 68  65 20 64 6f 6c 6c 61 72  |nd by the dollar|
00000020  20 73 69 67 6e 2c 20 69  74 73 20 6e 61 6d 65 20  | sign, its name |
00000030  74 72 61 63 65 64 20 62  61 63 6b 77 61 72 64 73  |traced backwards|
00000040  20 74 6f 0a 74 68 65 20  66 69 72 73 74 20 5b 43  | to.the first [C|
00000050  52 5d 20 6f 72 20 5b 4c  46 5d 20 61 6e 64 20 74  |R] or [LF] and t|
00000060  68 65 20 66 6f 72 6d 75  6c 61 20 74 72 61 63 65  |he formula trace|
00000070  64 20 74 6f 20 74 68 65  20 6c 61 73 74 20 5b 43  |d to the last [C|
00000080  52 5d 20 6f 72 20 5b 4c  46 5d 2e 0a 54 68 69 73  |R] or [LF]..This|
00000090  20 6d 65 61 6e 73 20 74  68 61 74 20 6f 74 68 65  | means that othe|
000000a0  72 20 74 65 78 74 20 69  6e 20 74 68 69 73 20 66  |r text in this f|
000000b0  69 6c 65 20 6d 75 73 74  20 6e 6f 74 20 75 73 65  |ile must not use|
000000c0  20 74 68 65 20 64 6f 6c  6c 61 72 20 73 69 67 6e  | the dollar sign|
000000d0  0a 6f 74 68 65 72 77 69  73 65 20 70 72 6f 62 6c  |.otherwise probl|
000000e0  65 6d 73 20 77 69 6c 6c  20 6f 63 63 75 72 2e 0a  |ems will occur..|
000000f0  0a 54 68 65 20 66 6f 6c  6c 6f 77 69 6e 67 20 6c  |.The following l|
00000100  69 73 74 20 77 69 6c 6c  20 69 64 65 6e 74 69 66  |ist will identif|
00000110  79 20 63 6f 72 72 65 63  74 6c 79 2e 0a 0a 42 6f  |y correctly...Bo|
00000120  77 6c 24 43 4f 53 28 46  4e 72 61 64 69 75 73 52  |wl$COS(FNradiusR|
00000130  29 2a 35 30 0a 42 75 6d  70 73 24 43 4f 53 28 58  |)*50.Bumps$COS(X|
00000140  52 29 2a 53 49 4e 28 59  52 29 2a 35 30 0a 45 67  |R)*SIN(YR)*50.Eg|
00000150  67 20 42 6f 78 24 28 41  42 53 28 58 44 29 3c 32  |g Box$(ABS(XD)<2|
00000160  37 30 29 2a 28 41 42 53  28 59 44 29 3c 32 37 30  |70)*(ABS(YD)<270|
00000170  29 2a 28 43 4f 53 28 58  52 29 2a 43 4f 53 28 59  |)*(COS(XR)*COS(Y|
00000180  52 29 29 2a 35 30 0a 45  72 72 6f 72 24 41 74 65  |R))*50.Error$Ate|
00000190  6c 69 65 72 20 77 72 69  74 74 65 6e 20 62 79 20  |lier written by |
000001a0  53 69 6d 6f 6e 20 43 6c  61 79 20 66 6f 72 20 4d  |Simon Clay for M|
000001b0  69 6e 65 72 76 61 20 53  6f 66 74 77 61 72 65 2e  |inerva Software.|
000001c0  0a 49 66 20 61 20 66 6f  72 6d 75 6c 61 20 6c 69  |.If a formula li|
000001d0  6b 65 20 74 68 65 20 6c  69 6e 65 20 27 45 72 72  |ke the line 'Err|
000001e0  6f 72 27 20 61 62 6f 76  65 20 69 73 20 6e 6f 74  |or' above is not|
000001f0  20 61 20 76 61 6c 69 64  20 61 20 66 6f 72 6d 75  | a valid a formu|
00000200  6c 61 20 69 74 20 77 69  6c 6c 20 62 65 0a 69 67  |la it will be.ig|
00000210  6e 6f 72 65 64 2e 0a 46  6c 61 74 24 30 0a 48 75  |nored..Flat$0.Hu|
00000220  6d 70 24 28 46 4e 72 61  64 69 75 73 44 3c 31 38  |mp$(FNradiusD<18|
00000230  30 29 2a 28 43 4f 53 28  46 4e 72 61 64 69 75 73  |0)*(COS(FNradius|
00000240  52 2f 32 29 29 2a 2d 31  30 30 0a 50 65 61 6b 24  |R/2))*-100.Peak$|
00000250  28 46 4e 72 61 64 69 75  73 44 2a 2d 2e 35 29 2b  |(FNradiusD*-.5)+|
00000260  43 4f 53 28 46 4e 72 61  64 69 75 73 52 2a 32 29  |COS(FNradiusR*2)|
00000270  2a 32 30 0a 50 79 72 61  6d 69 64 24 31 38 30 2b  |*20.Pyramid$180+|
00000280  28 41 42 53 28 58 44 29  3e 3d 41 42 53 28 59 44  |(ABS(XD)>=ABS(YD|
00000290  29 29 2a 41 42 53 28 58  44 29 2b 28 41 42 53 28  |))*ABS(XD)+(ABS(|
000002a0  58 44 29 3c 41 42 53 28  59 44 29 29 2a 41 42 53  |XD)<ABS(YD))*ABS|
000002b0  28 59 44 29 29 0a 53 70  69 6b 65 24 43 4f 53 28  |(YD)).Spike$COS(|
000002c0  46 4e 72 61 64 69 75 73  52 2a 32 29 2a 54 41 4e  |FNradiusR*2)*TAN|
000002d0  28 38 30 2d 46 4e 72 61  64 69 75 73 52 2f 34 2e  |(80-FNradiusR/4.|
000002e0  35 29 2a 35 30 0a 0a 4e  4f 54 45 20 3a 0a 4f 4e  |5)*50..NOTE :.ON|
000002f0  4c 59 20 54 48 45 20 46  49 52 53 54 20 31 39 20  |LY THE FIRST 19 |
00000300  43 48 41 52 41 43 54 45  52 53 20 4f 46 20 41 20  |CHARACTERS OF A |
00000310  4e 41 4d 45 20 41 52 45  20 41 43 43 45 50 54 45  |NAME ARE ACCEPTE|
00000320  44 2c 0a 41 4e 44 20 4f  4e 4c 59 20 54 48 45 20  |D,.AND ONLY THE |
00000330  46 49 52 53 54 20 4e 49  4e 45 20 46 4f 52 4d 55  |FIRST NINE FORMU|
00000340  4c 41 45 20 41 52 45 20  55 53 45 44 20 49 4e 20  |LAE ARE USED IN |
00000350  54 48 45 20 46 49 4c 45  2e 0a 0a 54 68 65 20 76  |THE FILE...The v|
00000360  61 72 69 61 62 6c 65 73  20 61 76 61 69 6c 61 62  |ariables availab|
00000370  6c 65 20 61 72 65 0a 58  44 20 67 6f 65 73 20 66  |le are.XD goes f|
00000380  72 6f 6d 20 2d 33 36 30  20 6f 6e 20 74 68 65 20  |rom -360 on the |
00000390  6c 65 66 74 20 6f 66 20  74 68 65 20 73 6f 75 72  |left of the sour|
000003a0  63 65 2c 74 6f 20 2b 33  36 30 20 6f 6e 20 74 68  |ce,to +360 on th|
000003b0  65 20 72 69 67 68 74 0a  59 44 20 67 6f 65 73 20  |e right.YD goes |
000003c0  66 72 6f 6d 20 2d 33 36  30 20 6f 6e 20 74 68 65  |from -360 on the|
000003d0  20 62 6f 74 74 6f 6d 20  6f 66 20 74 68 65 20 73  | bottom of the s|
000003e0  6f 75 72 63 65 20 74 6f  20 2b 33 36 30 20 6f 6e  |ource to +360 on|
000003f0  20 74 68 65 20 74 6f 70  0a 58 52 20 61 6e 64 20  | the top.XR and |
00000400  59 52 20 61 72 65 20 74  68 65 20 73 61 6d 65 20  |YR are the same |
00000410  61 73 20 58 44 20 61 6e  64 20 59 44 20 65 78 63  |as XD and YD exc|
00000420  65 70 74 20 69 6e 20 72  61 64 69 61 6e 73 0a 0a  |ept in radians..|
00000430  46 75 6e 63 74 69 6f 6e  73 20 61 76 61 69 6c 61  |Functions availa|
00000440  62 6c 65 20 61 72 65 0a  46 4e 72 61 64 69 75 73  |ble are.FNradius|
00000450  52 2d 53 51 52 28 58 52  5e 32 2b 59 52 5e 32 29  |R-SQR(XR^2+YR^2)|
00000460  20 2d 20 46 69 6e 64 73  20 74 68 65 20 72 61 64  | - Finds the rad|
00000470  69 75 73 20 66 72 6f 6d  20 74 68 65 20 63 65 6e  |ius from the cen|
00000480  74 65 72 20 69 6e 20 72  61 64 69 61 6e 73 0a 46  |ter in radians.F|
00000490  4e 72 61 64 69 75 73 44  2d 53 51 52 28 58 44 5e  |NradiusD-SQR(XD^|
000004a0  32 2b 59 44 5e 32 29 20  2d 20 46 69 6e 64 73 20  |2+YD^2) - Finds |
000004b0  74 68 65 20 72 61 64 69  75 73 20 66 72 6f 6d 20  |the radius from |
000004c0  74 68 65 20 63 65 6e 74  65 72 20 69 6e 20 64 65  |the center in de|
000004d0  67 72 65 65 73 2e 0a 0a  54 68 65 73 65 20 66 6f  |grees...These fo|
000004e0  72 6d 75 6c 61 65 20 77  69 6c 6c 20 62 65 20 6c  |rmulae will be l|
000004f0  69 73 74 65 64 20 62 79  20 41 74 65 6c 69 65 72  |isted by Atelier|
00000500  20 69 6e 20 69 74 73 20  46 6f 72 6d 75 6c 61 20  | in its Formula |
00000510  53 65 74 75 70 20 4d 65  6e 75 2e 0a 54 68 65 20  |Setup Menu..The |
00000520  6c 69 73 74 20 63 61 6e  20 62 65 20 73 63 72 6f  |list can be scro|
00000530  6c 6c 65 64 20 61 6e 64  20 73 65 6c 65 63 74 65  |lled and selecte|
00000540  64 2e 20 57 68 65 6e 20  61 20 66 69 6c 65 20 6f  |d. When a file o|
00000550  66 20 74 68 69 73 20 6e  61 74 75 72 65 20 69 73  |f this nature is|
00000560  0a 6c 6f 61 64 65 64 20  41 74 65 6c 69 65 72 20  |.loaded Atelier |
00000570  73 63 61 6e 73 20 69 74  20 61 6e 64 20 77 68 65  |scans it and whe|
00000580  6e 20 61 20 66 6f 72 6d  75 6c 61 20 69 73 20 66  |n a formula is f|
00000590  6f 75 6e 64 20 69 74 20  69 73 20 72 65 61 64 20  |ound it is read |
000005a0  61 6e 64 20 75 73 65 64  20 74 6f 0a 20 62 75 69  |and used to. bui|
000005b0  6c 64 20 75 70 20 61 20  73 6b 65 6c 65 74 6f 6e  |ld up a skeleton|
000005c0  20 6f 66 20 69 74 73 20  73 68 61 70 65 20 66 6f  | of its shape fo|
000005d0  72 20 74 68 65 20 6d 65  6e 75 2e 0a 49 66 20 61  |r the menu..If a|
000005e0  6e 20 65 72 72 6f 72 20  6f 63 63 75 72 73 20 77  |n error occurs w|
000005f0  68 65 6e 20 74 68 69 73  20 73 6b 65 6c 65 74 6f  |hen this skeleto|
00000600  6e 20 69 73 20 62 65 69  6e 67 20 63 61 6c 63 75  |n is being calcu|
00000610  6c 61 74 65 64 20 74 68  65 6e 20 74 68 61 74 20  |lated then that |
00000620  66 6f 72 6d 75 6c 61 20  20 69 73 20 69 67 6e 6f  |formula  is igno|
00000630  72 65 64 2e 20 41 74 65  6c 69 65 72 20 61 6c 73  |red. Atelier als|
00000640  6f 20 61 6c 6c 6f 77 73  20 61 20 73 69 6e 67 6c  |o allows a singl|
00000650  65 20 66 6f 72 6d 75 6c  61 20 74 6f 20 62 65 20  |e formula to be |
00000660  65 6e 74 65 72 65 64 20  64 69 72 65 63 74 6c 79  |entered directly|
00000670  20 69 6e 74 6f 20 0a 74  68 65 20 6d 65 6e 75 2e  | into .the menu.|
00000680  20 46 6f 72 6d 75 6c 61  65 20 63 61 6e 20 74 68  | Formulae can th|
00000690  65 72 65 66 6f 72 65 20  62 65 20 74 65 73 74 65  |erefore be teste|
000006a0  64 20 62 65 66 6f 72 65  20 74 72 61 6e 73 66 65  |d before transfe|
000006b0  72 72 69 6e 67 20 69 74  20 74 6f 20 61 20 66 69  |rring it to a fi|
000006c0  6c 65 2e 20 0a 54 77 6f  20 66 6f 72 6d 75 6c 61  |le. .Two formula|
000006d0  65 20 63 61 6e 20 68 61  76 65 20 74 68 65 20 73  |e can have the s|
000006e0  61 6d 65 20 6e 61 6d 65  20 61 73 20 74 68 65 79  |ame name as they|
000006f0  20 61 72 65 20 73 65 6c  65 63 74 65 64 20 62 79  | are selected by|
00000700  20 74 68 65 69 72 0a 70  6f 73 69 74 69 6f 6e 20  | their.position |
00000710  69 6e 20 74 68 65 20 6c  69 73 74 20 61 6e 64 20  |in the list and |
00000720  6e 6f 74 20 62 79 20 6e  61 6d 65 2e 20 54 68 65  |not by name. The|
00000730  72 65 66 6f 72 65 2c 20  64 69 66 66 65 72 65 6e  |refore, differen|
00000740  74 20 6e 61 6d 65 73 20  73 68 6f 75 6c 64 20 62  |t names should b|
00000750  65 20 75 73 65 64 20 74  6f 20 61 76 6f 69 64 20  |e used to avoid |
00000760  63 6f 6e 66 75 73 69 6f  6e 2e 0a                 |confusion..|
0000076b