home *** CD-ROM | disk | FTP | other *** search
-
- IFSGEN v1.0 (c) January 1991
-
- Written with AMOS (c) 1990 Mandarin/Jawx
-
- By Andrew Kreibich
-
- SEE END OF FILE FOR ADDITIONAL DOCS/CHANGES FOR LATER VERSIONS
-
- This file refers to IFSgen and IFSgenDEM. The DEM version is identical
- to the real thing except that all saves have been disabled. You can
- save yourself a lot of time (and your pictures) by registering. See
- DISTRIBUTION, below.
-
-
- Note: To toggle Wbench screen use left-Amiga-A (Alt-N and M will not work)
- To quit without using the quit menu press Ctrl-C.
-
-
-
- #########################
- MEMORY REQUIREMENTS
- #########################
- My machine is an A500 with 1 meg of ram. I forked out a lot of hard earned
- cash for the extra half meg and I intend getting some use out of it!
- Therefore when I write programmes I usually use up plenty of memory in
- order to get more speed where possible. I have not tried this programme
- on a 512k machine, so I don't know if it would run. It will almost
- certainly not run on a 512k machine if workbench is loaded and may still
- cause some problems when you have generated a lot of triangles or when
- the programme tries to open the palette tool.
-
-
- If you have been using it for a while and especially if you have been
- changing from mono to colour and back a lot then you will probably end
- up with fragmented memory which could result in strange things happening
- or your machine crashing.
- I will try to fix this in version 3 if I get enough response from people
- who are having this problem. (it only happens to me very rarely so I
- haven't bothered to do anything about it).
-
-
- ################
- DISTRIBUTION
- ################
-
- THIS PROGRAMME IS SHAREWARE!
-
- This means that my wallet would appreciate a little feedback for all my
- efforts!
- You may distribute the DEM version of this software to anyone providing you
- observe the following conditions.
- YOU MAY NOT DISTRIBUTE THE FULL VERSION OF IFSgen TO ANYONE ELSE WHO HAS
- NOT REGISTERED WITH ME. (give them the DEM version instead!)
-
- (a) You don't make any money from it (apart from a nominal copying fee)
- without my prior written permission.
-
- (b) You may not include any part of it in any commercial release
- (including SHAREWARE or one of its variations) without my prior
- written permission.
-
- (c) You give me credit for any of my routines in your doc. files
- and/or the programme you use them in. (FEED MY EGO!)
-
- (d) You distribute this entire doc. file with the programme and
- also the .IFS and .IFF files in the drawer. The only exception to this
- is if it is on a magazine's coverdisk and you need the space. In this
- case you may delete the .IFF files, but NOT the .IFS files, everyone
- else please leave them alone.
-
- (e) You may use the demonstration version on the coverdisk of a magazine
- providing you send me a copy of the issue in which it is used.
-
- (f) You write back and let me know what you think of it along with a
- SHAREWARE donation (min $20 Australian)
-
- To Andrew Kreibich
- Box 333
- Wantirna South
- Victoria
- Australia. 3152
-
- If you register and send $20 (Australian dollars please, our banks charge
- a fortune to convert), I will try and make any changes you
- suggest and I will send you the latest upgrade (with all features
- enabled), the AMOS source and some other AMOS routines and games I am
- working on.
- AMOS programmers can also get a copy of the palette procedure which this
- programme uses. This can be inserted into your own programmes with minimum
- of fuss. Let me know if you want it. FREE to anyone who registers!
-
- Naturally if you think I have done a really fantastic job on this
- and you cannot help but show your appreciation by sending more
- than $20 (Australian Dollars!) etc. then I will happily
- accept it!
-
- If you have the full version and you have registered: Thanks!
-
- If you have the full version and you have not registered: Then someone
- gave it to you illegally! Please register and do something anatomically
- unpleasant to the pirate who gave (sold?) it to you!
-
-
- WHAT IS IFSGEN?
- ***************
-
- Ifsgen is a programme to generate and display iterated function systems.
- (IFS's). These are a type of fractal which exploit the self-similar
- nature of some shapes to produce a code (the IFS code) which can be used
- to regenerate the image. One advantage of this is that a typical IFS code
- is about 1/500th the size of the original image's code.
-
- An example of a self-similar shape is a fern frond. Each 'branch' of the
- frond is a smaller copy of the entire frond.
-
- What is an IFS code?
- *********************
- (You can skip this bit if you wish)
- The ifs code is a set of numbers which describes how each part of the
- fern (or any other image) can be derived from the main shape. It does
- this by defining a matrix which describes the mathematical transformation
- for getting from the main image to the smaller image.
- See the Fern example in the programme for this.
-
- In order for the programme to calculate the matrix you must specify
- 3 points on the main image and the corresponding 3 points on each of
- the 'parts' or transformations. When the programme knows the coordinates
- of each of these points it can work out the IFS code.
- I have labelled the main image A and subsequent transformations B,C,D
- etc. The three points on each image are labelled A1,A2,A3. It is
- important to make sure that the points B1,B2,B3 correspond to these
- same points on the original image.
-
- The IFS code is a set of 6 numbers for each transformation which I
- have labelled A,B,C,D,E and F. These ARE NOT THE SAME as the A,B,C etc
- which I labelled the points with. Sorry if this is a bit confusing
- but you don't need to worry about the actual IFS code to use the
- programme.
-
- To plot the picture the programme picks a point on the screen and then
- chooses one of the transformations at random and applies this to the
- point which is then plotted. The new point is then subjected to the same
- procedure, and this process continues until the user selects stop.
-
- Mathematically
-
- Xn = A*X + B*Y + E
- Yn = C*X + D+Y + F
-
- Where Xn = new point's X coordinate
- Yn = new point's Y coordinate
- X = last point's X coordinate
- Y = last point's Y coordinate
- A,B,C,D,E and F are the IFS code for the randomly selected transformation.
-
- This method of generating the image is sometimes known as The Chaos Game.
-
- For further information consult any good book on Fractals.
-
- The two that I used were
- "Fractals Everywhere" By Michael Barnsley (Academic Press)
- and
- "The Science of Fractal Images" Edited by H.O.Peitgen and D.Saupe
- (Springer-Verlag)
-
- INSTRUCTIONS and EXPLANATION OF MENU ITEMS:
- ******************************************
-
- GETTING STARTED. (A quick tutorial)
- When you first start IFSGEN you will probably be presented with a
- blank screen (unless I have got around to making a fancy title screen
- or something like that!).
- I did, so you can ignore the last sentence. Incidentally all of the
- pictures on this screen were generated with this programme. You should
- find their associated IFS files with this programme.
-
- There are 4 menus which you can use.
-
- You can start a picture in one of 3 ways.
- 1. Load IFS from the PROJECT menu.
- 2. Add Triangle from the TRANSFORMATION menu
- 3. Select one of the 4 examples from the EXAMPLE menu.
-
- First time users will probably find it easiest to select one of the
- examples. Spiral is the simplest one.
- When you have selected this you will see three triangles drawn on the
- screen. The corners of these triangles are labelled A1,A2,A3 (main
- triangle) and B1,B2,B3 and C1,C2,C3 (The two smaller triangles which
- are used to generate the transformations from the main one). Some of
- these will be difficult to see because they are obscured by some of
- the others.
- Next select GENERATE from the PICTURE menu.
- The screen will clear and you will slowly see the spiral generated in
- two colours (Green and Blue unless you have already discovered the
- Palette!). This will take a few minutes to generate.
- Notice that the small green part of the image is really a copy of the
- whole image. (In other words it is self-similar, and the green spiral
- is known as an affine transformation of the whole image). Similarly,
- the blue section is also a copy of the whole image.
-
- When the image has 'developed' to your satisfaction select stop from
- the PICTURE menu, and then select Show Triangles from the TRANSFORMATION
- menu. This will draw the three triangles on top of your image, so you
- can see how the picture is constructed from these.
- Now select 'Change Triang B' from the TRANSFORMATION menu and
- you will see triangle B drawn in a different colour and a line leading
- to the mouse. You now have to redraw the triangle using the mouse.
- Place point 1 first. This time put it in the same place as it originally
- was (On the left corner of the big triangle A) by clicking the left mouse
- button over this point. Next place corner B2 (put it over the original
- B2 this time) and finally place corner B3, put it fairly near the
- original B3 but not in quite the same spot.
- Now select GENERATE again and see how the shape has changed.
-
- NOTE: The shape is VERY SENSITIVE to small changes in the positions
- of the triangles.
-
- You may also like to look at the other examples.
-
- SIERPINSKI constructs a Sierpinski triangle. This one is fairly easy
- to understand. Each of the three small triangles is a smaller copy of the
- big one and each small one contains three smaller ones and so on.
-
- FERN draws a fern (surprise surprise!)
- This consists of the main triangle and FOUR transformations. The fourth
- (Triangle E) is a bit hard to see. It is a very thin copy of the fern
- and is used to generate the stem. You will see the stem in red when
- you generate it. If you wish to change some of the points on this do it
- carefully. In particular it is very important to keep the small triangles
- in the right place with respect to the others. I.E. if A2 and B2 are
- not in the same place you will get a very strange fern!
- So if you move A2 make sure that you move B2 to the same place!
- The same goes for the following points.
- A1 and E1
- A3 and C2
- B1 and E2
- Also if E3 is not on a straight line between E1 and E2 you will end up
- with very fat stems!
- (You will not do any harm if you don't follow these rules but you will
- probably end up with something that looks nothing like a fern!)
- SMALL variations to these triangles can produce a variety of ferns and
- trees. To make a tree just move C3 close to the line between C1 and C2,
- and move D3 close to the line between D1 and D3. You could also try
- moving A3 and C2 and D3 to the left.
-
- IFS! generates the letters IFS! Each letter is made up of smaller
- copies of IFS! and each small copy is made up of even smaller copies.
- When you get good at manipulating these you might like to try a few
- words of your own.
-
- Also LOAD some of the IFS files which I have provided and see how these
- are generated.
-
- In particular you could look at some of the galaxy ifs's which are in
- the drawer. These are all variations of the initial spiral shape with
- a few extra triangles added to make the other 3 spiral arms. Making small
- changes to triangle G will greatly change the spacing of the arms and the
- overall density of the galaxy. You can also change the density of the
- pictures by stopping the generation earlier or later.
- Look at the IFF picture 'Galaxies' This was made by combining various
- galaxy ifs's on the same picture. To do this you should use load iff to
- load a picture, then add your IFS and use Continue (not Generate) when you
- think you have the triangles in the right position. Keep adding other IFS
- codes and use the continue option to draw them on your picture. Finally
- save the picture with save iff. If you haven't guessed it already, this
- is how the title screen was generated.
-
- By the way if you want your galaxies to look like galaxies instead of
- multicoloured blobs, then you will have to change the palette to various
- shades of white and grey. If you want to see the colours I used then load
- one of the IFF pictures and then call up the palette tool.
- In this version the IFS file does not save colour information but IFF files
- do.
-
- If you think you are getting the hang of things try the other menu items
- or find a picture which displays self-similarity and try to generate it!
- (this can be quite hard at first so start with something simple)
- Alternatively just put a few triangles on the screen and see what happens!
-
-
- EXPLANATION OF MENU ITEMS
- *************************
-
- PROJECT MENU:
- ABOUT: Try it and see!
- NEW: clears everything!
- LOAD IFS and SAVE IFS: Load and save the IFS code for the images but
- not the actual pictures. (Use LOAD IFF and SAVE IFF in the PICTURE
- menu for this.) SAVE IS DISABLED IN THE DEM VERSION
- INSTRUCTIONS: Try it!
- QUIT: Do I really need to say it?
-
- TRANSFORMATION MENU:
- This allows you to define and manipulate the various transformations
- (triangles) which make up the image. You will need to select Generate
- to see the effect of any changes on your image.
-
- ADD TRIANG: This adds another triangle to the image. You should also
- use this to start an image definition from scratch.
- Clicking this will result in a line being drawn from the current
- mouse position to somewhere else on the screen (it doesn't matter
- where the other end is, as it is the position of the mouse which
- is important). If this is the first triangle (Triangle A) then
- the first point wil be A1. Move the mouse to the position you want
- A1 and click the left mouse button. Next place A2 and A3.
-
- You should then add at least 2 more triangles. You cannot GENERATE
- an image until you have at least 3 triangles (including A) defined.
-
- If you make any of the others larger than A the image will probably be
- much larger than the screen.
- (This isn't a fatal problem but you should remember that triangle A is
- used to define the position of the whole shape, while the others are
- used to define the position of SMALLER parts of the shape, so if you
- are trying to produce something in particular keep this in mind. If
- not then feel free to experiment!)
-
- You can have a maximum of 26 triangles because I ran out of letters
- in the alphabet, maybe next time I should programme in Chinese? Apart
- from this there is no reason why this could not be increased.
-
-
- CHANGE TRIANGLE: allows you to reposition a triangle. Unfortunately
- you must place all three corners, although the original position is
- displayed until you have finished so that you can see where it was!
- Maybe in version 2 I will fix this so that you can just reposition
- one corner? (If you want this then write and let me know!)
-
- DELETE TRIANGLE: Fairly obvious!
- But there are two things which you should be aware of.
- 1. All other triangles will be relabelled so that you still
- have a complete alphabetical sequence. I.E. if you delete B
- then C will become B, D will become C etc.
- 2. You cannot delete triangle A. All others use this as a reference.
- If this did not exist the programme could not calculate the IFS
- code.
-
- Sorry, 3 things!
-
- 3. At this stage there is no check to ask if you are sure. Maybe
- Version 2?
-
- MOVE: this is to allow you to resize and reposition the image on
- the screen. This is done by manipulating the IFS code, not the
- image, so you will have to Generate again after selecting this.
-
- ZOOM IN: allows you to define a rectangular box with the mouse
- Click left mouse button on where you want the top left
- corner of the box and drag it to the place you want the
- bottom right corner. Let go and the area inside the box
- will be enlarged to fill the screen.
- ZOOM OUT: works in a similar way to zoom in but this time the
- area displayed on the screen will be shrunk to fit inside
- the box. This will allow you to see any areas of image
- which have gone off the screen.
-
- NOTE: The zoom functions were intended to allow fairly small
- resizing of the image. Excessive use of these will result
- in large rounding off errors. You should be able to ZOOM
- IN by a factor of about 1000 and ZOOM OUT by a factor of
- about 1,000,000 without any trouble. If you go too far your
- picture will not be very accurate but the programme should
- still run.
-
- CENTRE: This allows you to recentre the picture. Place the
- crosshair where you want the new centre to be. The
- triangles will be moved so that this point will now
- be at the centre of the screen
-
- ROT 90, 180, 270: Rotate the image 90, 180 and 270 degrees
- respectively in an anticlockwise direction.
-
- FLIP X: Flips the picture from left to right.
- FLIP Y: Flips the picture from top to bottom.
-
- FINE TUNE: Allows you to display and change the position and/or
- the IFS code of any point or triangle respectively.
- (see "What is an IFS code?" above.) This brings up a
- window with the letters A to Z at the top. These are
- for the triangles which you have defined. Any triangle
- which has not been defined SHOULD be displayed in a
- different colour and cannot be selected. Select the
- triangle you wish to fine tune (or just view) by clicking
- on its letter with the mouse. This will display the
- coordinates of the corner points of your triangle
- together with the associated IFS code. Click the mouse
- on any box you wish to change and retype it. Press return
- when done. (There are a couple of 'slightly undesirable
- features' in this which might appear from time to time,
- just make sure that the number in the box is right before
- you quit. These will take any number between 1E-14 and
- 1E+15 (I hope!), but be aware that if you position one of
- your points at a screen coordinate of 1E+15 you will find
- that the programme takes a very long time to draw the
- triangles!
- To change another triangle just click on the letter.
- When you have done select quit.
- NOTES: You cannot change the IFS code for triangle A (this will
- always be displayed as zero).
- There is no way of getting your original settings back
- after you have pressed return, unless you have written
- them down somewhere or you have used the SAVE IFS option
- in the PROJECT menu. Something else for Vers. 2?
-
- HIDE/SHOW triangles: Fairly self explanatory!
-
- PICTURE MENU:
- GENERATE: This clears the screen and starts the picture generating.
- This will also disable the TRANSFORMATION and EXAMPLE
- menus together with the New, load ifs and save ifs from
- the project menu. You cannot generate until you have
- defined at least three triangles.
- STOP: Stops the picture from generating and allows you to use
- all of the other menus.
- CONTINUE: This does exactly the same as Generate except that the
- screen is not cleared first. This can be used to either
- continue generating a picture after it has been stopped
- or for generating an image on top of another image or
- an iff screen which you have loaded.
- PALETTE: This brings up a palette requester which I wrote called
- Gumbypal. This is an AMOS procedure which you can inlcude
- in your own AMOS programmes.
- This procedure currently supports the following features.
-
- DRAGBAR:
- This is the message (Gumby's Palette) at the top of the screen.
- Hold left mouse button down while you are over this and drag the
- palette screen up and down your screen.
-
- ABOUT:
- Work this out for yourself!
-
- RGB sliders: These work in the usual way, just click on the slider
- with the left mouse button and drag it along, or just click on the
- spot you want it to go to.
-
- Up to 32 colours are displayed in little boxes on the right of the
- screen. You can select two of these at any time.
-
- Left mouse button selects the CURRENT colour. This will be changed
- by moving the slider bars.
-
- Right mouse button selects the TO colour. This is used by COPY,
- SPREAD and CYCLE, to copy, spread or cycle from the current colour
- to the TO colour, and also by SWAP to swap the current colour with
- the TO colour.
-
- The TO and CURRENT colours are outlined in different colours so that
- you can see them. It is possible that the colours used by these
- outlines are hard to see because they are the same or similar
- to the colour of the background around the colour boxes.
-
- COLOUR Buttons:
- There are 6 of these, GET, COPY, SWAP, CYCLE, SPREAD and SKIP.
- These are selected with the left (and sometimes right) mouse button.
-
- COPY and SWAP are explained above.
-
- CYCLE. Press Left mouse button to cycle forward and right mouse
- button to cycle backwards.
-
- SPREAD spreads the colour from the current colour to the TO colour
- and works in conjunction with the SKIP button.
-
- If SKIP is 1 then the spread will skip 1 colour in between each
- one it spreads. Best way is to try it! I put this in because I
- thought it might be useful in a Mandelbrot type programme.
- SKIP can be any number you like providing it is between 0 and 9.
- I don't think it would be a very good idea to set it to a number
- greater than the number of colours between the two colours you are
- spreading between. This could cause some unpredictable results.
- Usually you will leave this set to zero.
-
- GET brings up a window with a number of preset colours.
- You can pick any colour to be changed into one of the preset
- colours. Pick your CURRENT GET colour by clicking it with the
- Left mouse button. This will not disturb your CURRENT and TO
- settings although the outlines on these boxes may disappear
- while the get window is open. (They will return when you close
- this window.)
- When you open this window the CURRENT GET colour will be set to
- colour number 2 (third from the left on the top row). If you don't
- want to change this colour then select a different one.
-
- The up and down arrows on the left move the list of colours up
- and down.
-
- P picks the colour in the middle of the box and changes your CURRENT
- GET colour to this.
-
- R assigns a random colour to your CURRENT GET colour.
-
- Cancel CURRENT returns your CURRENT GET colour to what it was
- before you opened the GET window.
- Cancel ALL returns all of the colours to what they were before
- you opened the GET window.
-
- QUIT quits the GET window.
-
-
- SPRITE performs a Get Sprite Palette when you click it.
-
- DEFAULT Left mouse
- returns all colours to the programme's default colours
-
- DEFAULT Right mouse
- selects the AMOS default palette.
-
- Exit CANCEL cancels all changes and returns you to your programme.
- Exit ACCEPT keeps all changes and returns you to your programme.
-
- END OF PALETTE DOCS.
-
- SAVE IFF and LOAD IFF: save and load an IFF screen.
- THIS DOES NOT SAVE OR LOAD THE IFS CODE NEEDED TO
- GENERATE THE TRIANGLES! (Use load and save IFS in the
- project menu for this.)
- SAVE IS DISABLED IN THE DEM VERSION
-
- MONO/MULTI COLOUR. Allows image generation in a single colour
- (which is faster) or plots each transformation in a
- different colour (which can be useful if you want to see
- what each triangle is doing)
-
- EXAMPLE MENU: contains 4 examples. Select them and then GENERATE.
- See the tutorial 'getting started' above.
-
- WARNING!
- Many functions are irreversible. (eg. NEW, DELETE etc.) There are no
- 'idiot proof' boxes asking you 'are you sure' in this version.
- (Something else for V2!)
-
-
- BUGS
- ****
- This code has been thoroughly tested by an expert bug finder
- (Perry Rosenboom) who has the incredible ability to run a programme
- for the first time and find bugs that happen once in a blue moon!
- (I never did manage to reproduce the one which turned the screen
- white, although I have made sure? that it can't happen again!)
-
- My code no longer contains any bugs. It may contain a few Slightly
- Undesirable Features (SUFs). If you find any SUFs in it please write
- back and let me know.
-
-
- It is possible that you will produce a set of triangles for which it is
- impossible to solve the set of simultaneous equations which are used to
- find the IFS code. This is NOT a bug! (you are trying to do something
- which is mathematically impossible!)
- This would result in a divide by zero error.
- I have put in a routine to trap this, but if you come up with any
- other divide by zero errors please send details.
-
- If you try to generate an 'impossible' ifs code (this will usually
- only happen if you put all three corners of one triangle in the same
- spot, or if you zoom in too far, thereby making a triangle of zero size)
- then a message will appear on the screen asking you to redefine your
- triangles. Press the space bar to continue.
- Unfortunately due to a minor SUF, sometimes the message will flash up
- once for each triangle and you will have to keep pressing the space bar
- until it goes away. It will go eventually!
- When this message screen is displayed it may cause you to run out of
- memory and the programme will stop. (see 'memory requirements' above.)
- So if the programme stops when you have just placed a triangle it is
- almost certainly due to lack of memory. I'm working on it!
-
- AMOS PROGRAMMERS NOTES
- **********************
-
- If you have registered and have the source!
-
- If you are trying to figure out what I have done, good luck! I had to
- restructure a large part of it and the result is a hybrid between two
- control systems. I might fix it up one day, but at the moment it works
- so I'm happy!
- You will also notice that I'm not very good at putting in the REMs!
-
- There are 3 general procedures which you may find useful
-
- 1. GUMBYPAL:
- My palette procedure. Full details of this can be found in
- gumbypal.doc. This has been modified slightly by the addition
- of a few lines at the end to handle the dummy screen which is
- used by ifsgen to assist in hiding/showing the triangles.
- 2. GPBUTTONS:
- A procedure for drawing fancy buttons around a zone of text.
- See gumbypal.doc for details.
- 3. SIMEQNS:
- A simultaneous equation solver. This should be fairly self
- explanatory. The coefficients of the variables are fed into
- an array, SIMA# and the answers are returned in the array SIMX#
- These must be made global. (If only Francois had allowed us to
- pass an array as a parameter!)
-
- Sorry, 4 things. Amongst the procedures which you may find useful are.....
-
- 4. STRINGGET:
- This is used in the fine tune window to display and change
- various strings. This has been modified a few times and is
- realy due for a complete rewrite to make it a bit more logical
- and capable of selecting numbers and/or letters. If anyone
- gets around to doing this before I do please send it back!
- The last parameter is used to allow or disallow changes to
- the displayed string.
-
- The above 4 routines were written in a way which made them as general as
- I could possibly make them so that they could easily be used in other
- programmes.
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
- I hope you find this programme useful and/or interesting and that you
- bother to take the time to write back. If you have written anything
- that you would like to send me, please feel free to do so.
-
-
- BUT PLEASE DON'T SEND ANY SILLY SCROLLY DEMOS, MEGADEMOS, ULTRADEMOS,
- ULTRAMEGADEMOS, MEGAULTRADEMOS, ULTRACOSMICDEMOS, ALPHAGAMMAOMEGADEMOS,
- ZAPHODEFFINGBEEBLEBROXDEMOS OR ANYTHING ELSE VAGUELY RESEMBLING A DEMO!
-
-
- AMOS IS A BRILLIANT LANGUAGE SO HOW ABOUT USING IT TO WRITE SOMETHING
- REALLY USEFUL?
-
- Happy (real) programming.
- Andrew.
-
-
-
-
-
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- V2.0 docs
- *********
-
- Rewrote some of the code to make procedure calls more consistent and
- to remove a problem which sometimes caused a recursive procedure call
- which eventually resulted in an out of memory error. (I admit that
- this just about rates as a bug! Shock!! Horror!!! Shutup Perry!)
-
- Added a close editor line to conserve memory when running from AMOS
-
- Repositioned the mouse pointer so that it didn't cover up the centre
- of the cross hairs when you are defining your triangles.
-
- Removed the limits to the position of the mouse so that you can put it
- anywhere on your screen. NTSC users probably didn't find this a
- problem but PAL users would have had trouble using the bottom of the
- screen until after they had selected zoom.
-
- Colour palette is now saved with the ifs codes. You have the option
- of loading this or ignoring it when you load an ifs file.
- V1.0 ifs files are compatible with v2.0 but v2.0 files will not load
- into v1.0! So get rid of v1.0 now!
-
- Added idiot boxes for some functions
-
- Added ability to adjust single corners of triangles when using CHANGE.
- To use CHANGE now, just select the triangle you want to change from
- menu, then click left mouse button near the corner you want to change.
- Change other corners the same way. When you have finished just click
- left mouse button somewhere not very near to one of the corners.
- I have deliberately left the original triangle visible until you have
- finished your adjustments. I found it more useful this way.
-
- Trapped errors. These are reported by their AMOS error numbers.
- Out of memory and divide by zero will also generate a message.
- If you have problems, please describe what you were doing and
- quote the error number.
-
-
- NEW MENU ITEMS
- ##############
-
- CLOSE WORKBENCH. (in PROJECT menu)
- **********************************
- This saves about 40k of memory.
-
- PROBABILITY. (in TRANSFORMATION menu)
- *************************************
- You cannot use this until you have at least 3 triangles defined
- (including A).
- This allows users to adjust the probability of any particular
- transformation being plotted. The higher the probability the more
- likely this particular triangle will be chosen when each point is
- plotted.
- To change these just click on the relevant box and retype the
- correct value (just the same as the way the FINETUNE boxes work).
- If you don't adjust this then the probability is proportional to the
- area of the triangle.
-
- AREAS BUTTON
- This returns the probabilities to their default condition which is
- proportional to the area of the triangle.
-
- NORMALISE BUTTON
- All probabilities should add up to 1. I have provided a NORMALISE
- button which will recalculate all of your probabilities so that the
- total is 1. This is so you can enter relative weights without worrying
- about the total. Eg. if you have two transformations (triangles B and
- C) and you want B to be twice as likely as C then enter 2 in the space
- for B and 1 in the space for C. Then click NORMALISE and the
- programme will recalculate the probabilities giving B = 0.6667 and
- C = 0.3333.
- You cannot adjust the probability of triangle A because this is not
- actually plotted!
-
- Click on QUIT when finished. The programme will automatically
- readjust the probabilities so that they add up to one if you haven't
- already done so (see NORMALISE BUTTON above).
-
- ROTATE ANY. (in TRANSFORMATION:- MOVE menu)
- *******************************************
- Allows you to rotate at any angle or fraction of an angle.
- Just type in the angle (in degrees) that you wish to rotate at
- and press return.
- Positive angles rotate clockwise, negative angles rotate anticlockwise.
- (Any mathematicians who winced at the last sentence should stop and
- think! It is the crazy backwards coordinate system of this computer
- - fancy making positive y values go down! - that results in this
- apparent heresy. Stick the y axis back the right way and all is fine!)
-
-
- MONO/MULTI colour
- *****************
- You now have a choice of colour when using MONO. This might make it
- easier to combine 2 or more IFF files into the same picture.
- You also have a choice of starting colours with MULTI. In each case
- you will be presented with a number of colour boxes after you
- select the menu item. Just click on the one you want.
-
-
- CENTRE
- ******
- Made the centre tool a bit easier to use. Just drag the triangles
- to wherever you want them. Sorry about the flicker but it would
- use up too much memory to stop it.
-
-
- VERSION 2.1
- ***********
- Compiled version. At last!
- This allows non-Amos users to run it without messing about
- with Ramos, and it also increases the speed of the programme.
-
-
- Version 2.2
- ***********
- Tidied up a few bits of code and hopefully stopped the mouse from
- disappearing. This happened rarely and may be due to an incompatability
- with Dmouse (or similar)
-
- Version 2.3
- ***********
- Registered versions will now have the name of the person who registered
- in the about screen. Tidied up a few more bits of code. Now uses a bit
- less chip ram.
-