Otoom home page


CauseF icon


CauseF manual

Table of contents


Menus and settings - Main window and Grid

Examples of scenarios - Grid

Menus and scenarios - Spheres

Menus and scenarios - Planets

Contact and bug report, credits


Menus and scenarios - Spheres

Please see the Manual → Overview for a more general information about this program.

What follows relates to the Spheres operation. Two setup files come with the program, standard.caufs and custom.caufs.

Hotkeys and useful hints



Hotkeys and useful hints

With the Spheres window in focus -

Esc   close Spheres window
S   Stop / Start toggle
I   increase number of spheres by 10
D   decrease number of spheres by 4
F   flip elasticity and bounce
R   reset all sphere parameters

For more on the hotkeys operation see the Spheres section.

Whether with the Main window in focus or the Settings window, Alt+S will start the Spheres window. When the Settings window is in focus only Alt+S will open the Spheres window. The Esc key will stop the Spheres operation and exit the window.

The Spheres window can be repositioned and stretched to suit your liking. If opened from Settings window (Main window → Settings - Grid / Spheres / Planets) the Spheres window will open as per previous position and size. If opened from Main Window (Main window → View → Show Spheres) the Spheres window will always open in centre position and default size. You can reset the Spheres window this way.

In Standard setup the hotkeys allow for an approximate selection of sphere numbers when using I and D in combination. For accurate amounts use Total number of spheres input.

In Custom setup increasing and/or decreasing the sphere numbers will either add more grey spheres (ie, spheres with no colour applied) or will systematically remove the spheres from the last group. Adding to the numbers will restore those spheres until the total number of defined spheres has been reached; any more will be coloured grey again.

When the Spheres window is opened (Alt+S) again after having been closed the operation will resume in the manner it has been in previously. If the Spheres window has been closed with the operation stopped, the window will open with the spheres stopped. If the Spheres window has exited with the spheres still moving, opening the window again will have the spheres moving instantly. The same goes for new initialisations through the Apply button. Therefore, if the spheres moving immediately after a new setup is not desired, with the Spheres window in focus press S, then Esc, then Alt+S and the Spheres will open with the spheres standing still.


AnchorArrow.jpg Menus

Go to Main window → Settings - Grid or Spheres and select the Spheres tab.

For a screenshot see below.

File - Load Spheres Settings (Ctrl+L)
Load previously saved setting parameters from a *.caufs file.

File - Save Spheres Settings (Ctrl+S)
Save setting parameters to a *.caufs file.

File - Save Spheres Settings As
Save setting parameters to a new *.caufs file.

File - Reset Spheres Settings (Ctrl+R)
Reset the settings to their default values.

Total number of spheres
Set the total number of spheres. In Standard setup their placement will be random, a number of colours are applied, and the initial speeds of the spheres vary. In Custom setup the spheres are defined as per further settings. Note: the number of spheres can be in- or decreased via the hotkeys at any time.

Custom setup
Define the spheres as per further settings.

Number of groups
The total number of spheres can be divided into groups. Any spheres added later during the operation via the I hotkey will show as undefined (ie, grey). Any spheres subtracted from the total number via the D hotkey will be removed from the screen but retain their definitions.

Identifies a group by its number.

Choose how many spheres should belong to this group. The number under Left indicates how many spheres remain from the total. Note that the prerequisite parameter values must have been entered in order to be properly registered here. If the number of groups is more than 1, the initial value in this field is the average based on the total number divided by the number of groups (rounded down). To exceed this value another group must be assigned a reduced value first. If there is a remainder those spheres will appear on the screen but undefined (ie, grey).

Select a colour for the spheres belonging to this group. When in the process of assigning colours to groups, the last colour selected is applied to the rest until a further selection is made. For example, if there are three groups and group 1 is yellow and group 2 is red so far, then group 2 and 3 will be red until group 3 has been assigned an additional colour.

Energy factors this group only
When ticked, only the group showing in the Group field will be influenced by the actions performed under Energy factors relating to Speed, Elasticity and Bounce. However, any factors applied through the hotkeys will still affect all the spheres. That goes for any spheres added with the I hotkey.

Initial placement - Random
When starting the Spheres window (Alt-S) the spheres will be randomly distributed across the surface. This is the default setting for standard and custom settings.

Initial placement - Block
When pressing Alt-S the spheres will be placed next to each other in the order of group selection to fit approximately within the vertical centre of the window. Note that unticking Custom setup and clicking Apply will default the placement to random.

Initial placement - Centric
When pressing Alt-S the spheres will be placed in a spiral fashion, starting at the centre and moving anti-clockwise, in the order of group selection.

The selection settings within the Spheres panel initialise the Spheres operation. This button can only be used with the Spheres window closed.

Energy factors - Speed
Default is 1.0. Moving the slider will cause the speed of each sphere (or each sphere of a selected group) to be multiplied with the particular value. Note the multiplication affects the current speed value at that moment, which is also a fraction. Therefore very slow speeds will not be affected as much, but the greater the speed the greater the effect. Likewise, fast speeds will respond to values less than 1.0 not as quickly either. Nudging the slider will impart the factor repeatedly and the resultant effect will add up.

Energy factors - Elasticity
Default is 0.4. This factor is multiplied with the speed of a sphere, whatever it may be at the time. Hence the factor simulates the effects of elasticity whereby a collision results in a certain amount of energy absorption.

Energy factors - Bounce
Default is 0.6. The particular speed of a sphere is divided by this factor. With its maximum value being 1.0 (no effect) any other will increase the speed value. To avoid possible extreme results the minimum is set at 0.3.

The respective Reset buttons below restore the default values.

Settings window

Back to Menus


AnchorArrow.jpg Spheres window      Back to Hotkeys and useful hints

Spheres window

On the title bar the items represent, from r. to l., frames per second, Walls- (energy absorbing), Spheres+ (energy adding), total number of spheres on the screen. For the hotkeys to work the Spheres window has to be in focus.

I - increase number of spheres by 10
Irrespective of Standard or Custom setup pressing this key will increase the number of spheres by 10 (until the maximum number is reached). Note the inevitable deterioration of the frame rate. If Custom setup is selected the additional spheres will be undefined (coloured grey).

D - decrease number of spheres by 4
Irrespective of Standard or Custom setup pressing this key will decrease the number of spheres by 4 (minimum number is 2). If Custom setup is selected the spheres belonging to a group will disappear from the screen but their definitions remain intact. They will reappear when pressing the I hotkey.

F - flip elasticity and bounce
Initially the Spheres operation starts with Walls- Spheres+. This means the walls (the borders of the spheres area) absorb energy in terms of the elasticity factor when hit by a sphere, if spheres collide with each other their respective speeds are affected by the bounce factor. Pressing F will flip the configuration around and the title bar will now show Walls+ Spheres-. The current flip state will be retained when the window is closed, regardless of any new configuration in Settings.

R - reset all sphere parameters
Under Standard setup pressing this key will reset the sphere numbers to 4 and revert to Walls- Spheres+. The same goes for Custom setup, except the colour will be that assigned to the first 4 spheres, to whatever group/s they may belong.

Below is a screenshot of a starting position under Custom setup, Centric placement, with 220 spheres in total, 9 spheres defined (group 1 - cyan, group 2 - red, group 3 - yellow), and the rest had been added using the I hotkey. The placement started from the centre outwards in an anti-clockwise fashion.

Spheres window centric

Back to Hotkeys and useful hints


AnchorArrow.jpg Scenarios

See Overview in Manual for a description of the general principles underpinning non-linear systems.

With spheres moving around an area the dynamics of their mutual relationships are easier to understand.

Once the operation gets under way, the following happens (assuming for the moment Walls- Spheres+):

Whatever the initial configuration, a sphere that hits a wall will loose its energy by a certain amount and hence slows down. If a sphere A hits another sphere B it will gain energy due to the bounce factor, so will B, both speeds will be spread across each other, but the actual result depends on the speed of A, the speed of B, and their respective deflection angle, all in conjunction with the other factors. While all the factors are part of a preset algorithm, what any given sphere will do over the course of time is impossible to predict.

For example, with the Elasticity factor set low and the Speed nudged towards the minimum, the overall dynamic is highly constrained. However, as soon as some spheres managed to hit each other the energy levels begin to rise and regions away from the walls begin to emerge that represent relatively high energy levels. Which spheres will inhabit those regions cannot be predicted, but in terms of their type realistic forecasts can be made. The screenshot under the heading Spheres window depicts such a situation.

Use groups defined by separate colours and link them to the Energy factors in turn to observe how changing those parameters affect a group, and for how long the influence can be maintained given the presence of the rest.

With Walls+ Spheres- (F hotkey) the walls no longer act as an energy sink and the overall energy levels rise significantly. Although now collisions between spheres create an energy sink for the spheres, the transfer of energy between the colliding spheres, their respective deflection angles and their current speeds override the effect considerably. The Elasticity factor under Walls- Spheres+ is far more influential than under Walls+ Spheres-.

A further phenomenon can be observed, especially with a high number of spheres (from around 80 upwards), generally pre-existing high speeds, and Walls+ Spheres-: two spheres clinging together should they be cornered by walls and other spheres which makes it impossible for them to break away. Lasting no longer than a second or so during that time the energy transfer continues and the speeds of both spheres are high. Yet as soon as their surrounds are clear enough for them to escape from each other their energies have dissipated since the wider environment has absorbed them. Hence despite being charged up their potentials do not last long.

What can be learned from all this?

Translating the Spheres dynamics into wider reality we have the following:

Considering human activity systems, there is a general set of concepts, usually referred to as culture. There also may be some ideas which are different from the preexisting set, defining a particular demographic. Members within that demographic may enhance their specific perceptions, but are also subject to the influences from outside. The differences come to the fore once members from either side interact with each other. Exceptional concepts (such as high-intensity ideas) may generate a raised energy level within their locale, but soon are acted upon by surrounding members. There is an over-arching conceptual framework, coming from something like the government, exerting a steady influence yet only becoming effective if the system's members come into contact with it. The less contact there is, the lesser the influence.

Sounds familiar?

Furthermore, if there are more general factors intended to bring the system 'into line', they either remain practically useless against the background of a higher and different dynamic represented by its members, or indeed generate opposite reactions precisely because of the difference. Ultimately it is the general quality of the system's members, in other words the overall quality of the population representing a human activity system, which determines its overall course. There is little governments for example can do, except affecting the internal characteristics of the population through something like education, provided there exists an affinity with the target audience. Anything else will either have no effect or make things worse. And above all, since we are dealing with forms of energy of one kind or another, any factor becoming active consumes the system's resources, regardless of the outcome.

It may be argued that CauseF does not really represent reality because it is a program specifically written with a certain purpose in mind.

To some extent this is true. Obviously, it is a very particular kind of software.

However, the algorithms defining its set of factors are exactly that - algorithms defining factors. They do not define themselves in terms of any outcome, they are not conditional upon the results those factors achieve at any one time. They remain the same, whatever happens. Therefore, as limited as they are (a society, indeed any group of humans, is subjected to a myriad of factors influencing their behaviour), they nevertheless represent as a constant set of principles according to which their activity space is defined. They have been coded to represent energy, contact, transfers of energy, and mitigating influences, all in a non-linear manner. Once the program runs any one of a combination of them displays its results on the screen on an ongoing basis.

Just as a program can be written to represent the laws of electricity in a circuit. How to apply that to a car, a vacuum cleaner or a toy is up to the user.


© Martin Wurzinger - see Terms of Use