...when users request them. This is not always a rapid process.
While copyright considerations prevent convenient
redistribution of many of the model files that have been
previously constructed, there are several archives of model
files independently available from:
By far the easiest way to load files into Springie
is to use drag-and-drop.
This works between the filing system into any Springie window.
Note, however: drag-and-drop was introduced into Java at
version 1.2 - so, if you are using a Java 1.1 virtual
machine, drag-and-drop will not work.
Under those circumstances, it is still possible to load
files using the file menu on the menu bar at the top
of Springie's main window.
As well as loading files, it is possible to merge input
files with existing models.
To try that, turn on the see the Preferences -> I/O -
> Merge option.
Objects in Springie can have a range of properties.
The following table presents an overview:
Some of these categories deserve some further explanation:
Hidden objects are invisible - and can't be
seen, selected or manipulated (unless the relevant option to
show hidden objects is selected).
Elasticity represents the constant of
proportionality in Hook's law.
Damping represents the magnitude of frictional
forces inside each strut. Without such forces, struts
would oscillate about their rest length indefinitely once
Charge represents electrostatic charge. It
causes nodes to repel or attract each other. Node repulsion
is important in Springie - since it can be used to
"inflate" structures which would otherwise be unstable.
Colour has more than just cosmetic significance in
Springie. It is used to group objects together by
type. If you have selected an object, all the other objects
of the same colour can be selected - by clicking the "class"
button in the main editing window. They can then be
manipulated simultaneously by many editing operations.
Disabled - when applied to links,
causes forces in them to be zero. When applied to nodes, it
disables the effect of any electrostatic charges.
All objects in Springie can be selected.
Selection is important in Springie - since most editing
operations act on the selection.
The simplest way to select something is to click on it
with the mouse.
Holding down the control key while doing this prevents
any existing objects from first being deselected.
There are other ways to select objects. Probably most
important of these are the "Select all of" options:
"Select all of class" selects all items of the same
colour as the current selection. This is one of the most
common editing actions.
"Select all of type" selects all nodes if there are any
selected, all links if there are any selected and all
polygons if there are any selected..
This illustrates the default page of controls.
There are a number of editing primitives for
manipulating models - the attributes of
each element can be changed - and elements
can be deleted, cloned and linked together
in different configurations.
From the top:
Firstly there are a number of ways of selecting items.
Basic selection is often done using the mouse - either
clicking on objects to select them, or using a drag box -
but this areas also allows configuration of what it is
possible to select, and where large-scale operations on
the selection can be made.
The "class" button here is very important - it selects all
items of the same colour as what is currently selected.
Then come the "properties". These are used to make
quantitative changes to attributes of all selected
A number of scalar properties are shown here: radius,
length, elasticity, damping and charge. Making both
absolute and relative changes is possible.
Then there are flags - boolean property settings. These
take the form of checkboxes. These affect all selected
This shows the main colour editing dialogue in Springie's
Colour plays a functional role in Springie - it is
one of the main ways of grouping items together: so this is
an important area.
The first is a tab controlling whether the
HSB (hue-saturation-brightness) or RGB (red-green-blue) colour
model is to be used.
Then there are a number of sliders where the colour can be
configured and the level of opacity can be controlled.
At the bottom there are areas where the colour can be
previewed and set.
Colours can be stored on a temporary basis - and previously
configured colours can be restored.
There are many other areas in Springie where colours can be
configured; they all have the same basic layout illustrated
by this control panel.
There are a number of keyboard shortcuts available when editing objects. These are:
Deletes the current selection
Select all of type
Select all of class
There is much that remains to be done - in
There's no facility to undo changes that have been made;
Editing facilities are still rather crude;
There are no motor cells, nerve cells or neurons yet;
There's no copy, cut or paste facility;
The Springie renderer could be vastly improved;
There is a serious need for a dynamic scripting language;
Springie needs to implement the model-controller-view pattern;
Support for form-finding tensile structure applications;
Support for membrane patterning applications.
Support for membrane forces - for simulating inflated structures.
...and so on.
new users of Springie will often face is that they
will attempt to import a model generated by another program
- and it will rapidly "implode" on them - resulting into a
seething mass of struts.
This happens mainly because the import routines do not
currently do a perfect job of translating the existing
models into a form that can be handled in the
If this happens, then all is not necessarily lost - it is
quite likely that the model can be imported if some settings
One of the first things to try is to increase the
"viscosity" of the Springie universe to a high value (using
the "Universe controls") - and attempt the import again.
If that fails, try importing while the universe is paused - and
then select everything, and globally decrease the "elasticity"
of all the elements.
Springie connects back to the server it was
loaded from to access data files. If you access it via a
proxy, while it will load and display a few built-in models,
most of the models it can render won't load - since applet
security constraints place limits on the connections
untrusted applets are permitted to make.
Rendering crossed struts does not always
draw the struts on top of each other in the right order.
Hopefully this problem will be addressed in a future
version of Springie.