what is materialworlds?
Materialworlds is a real-time simulation environment
for personal computers that runs a growing set of specially written
Unlike a video or animation, which merely replays a preset sequence of images,
the objects in a simulation interact with each other as you watch. Viewers
can participate too, as games players and experimentors, changing the view
onto the simulation or the speed at which it runs, or actively changing the
course of the simulation - by tweaking a control or pulling an object with
Materialworlds simulations are set into web pages - providing a flexible
format for organizing the text, controls, live graphs and multiple views
that are available for constructing a simulation. Web authors can modify
the presentation of existing simulations, or select elements of existing
simulations in building new web pages.
And of course web pages don't need to be viewed on the web - they can be
located on a CDROM or installed on a PC or local network.
A common educational thread runs through our diagram-style simulations. The
3D view of a pool/snooker game, for instance, is accompanied by a plan view
showing the balls' velocities and the forces on them.
The aim is to encourage an understanding of how physical systems work by
seeing forces in action; with materialworlds simply and automatically displaying
properties that in the real world could only be measured with some
how do simulations work?
All materialworlds simulations are run by the
same materialworlds simulation engine.
This reads the simulation data file (which can be just a few kilobytes in
size) which specifies the starting state of all objects in the simulation,
and how the simulation should be run and displayed.
The simulation engine then simply lets the objects interact with each other,
and displays what happens. Nothing "knows" what is going to happen before
it does, events just unfold from the initial state of the simulation according
to the properties of the objects and the laws that they obey.
Without intervention from the viewer (or any randomness in the laws) the
same things will happen every time the simulation is run.
Because simulations can take a substantial slice of the computer's attention,
materialworlds lets just one of them run at a time. So if there are different
simulations visible on a webpage, only one will be running at any one time.
To activate another, just click on it.
what's the difference between a simulation
and an animation?
Simulations automatically produce realistic
behaviour (provided the laws that objects obey are realistic). In animations
this depends the skill of the animator (if realism is desired).
Simulations can carry on forever as objects continue to interact.
Without user interaction, what happens in a simulation depends only by its
starting state. With animation, on the other hand, things can be "made" to
happen, irrespective of their being realistic. But if simulations allow user
interaction, or contain "intelligent agents", they too can be guided towards
special features of materialworlds web page
The main simulation view window has a configurable toolbar. Usually this
contains Rewind-Pause/Play controls - letting viewers pause, reactivate or
return to the beginning of a simulation.
Materialworlds supports multiple views of a simulation as it runs. A single
simulation might display 3D perspective views from different viewpoints
and 2D views in different planes; with arrows showing the forces between
objects and their velocities.
controls and user interaction
Sliders, check boxes and radio buttons on the web page can be used to control
how the simulation is viewed, the speed at which it runs, and even to alter
the properties of objects as the simulation runs.
The viewer can also interact directly in the 2D views of many simulations
- by pulling at objects with the mouse and using keyboard commands to copy,
paste or delete selected objects.
graphical data displays
Materialworlds can draw several types of separate real-time graphical
||Graphs of several parameters
against time, with frequency or periodic time measurement.
||Phase space diagrams
of parameters against each other; displaying a system's various
(eg. the numbers of objects possessing energy in different ranges).
||Kinetic and potential
energy displays (showing the exchange between kinetic and potential energy,
and the changes of total energy).
what computer do I need to run
A Windows PC (Windows 95/98/NT/2000) running
InternetExplorer (4 or later).
The faster the better, but older computers should still work - if slowly.
Colors: high color (16 bit) or true color (32 bit) prefered. Materialworlds
will still work with 256 or 16 colors, but some webpage colorschemes won't
If in doubt - just try materialworlds out - as it's free to download and
InternetExplorer is required because only it supports the ActiveX Documents
and Controls that make it relatively easy to incorporate Windows programs
into web pages.
Getting materialworlds to work on other browsers would entail extensive low
level replication of Microsoft's operating system - and we'd prefer to spend
our time developing simulations and experiments.
can I create my own simulations and simulation
You can modify existing simulations, and create
your own simulation web pages (although you'll find it easier to modify an
existing web page). See
interpreting and interacting with materialworlds
In addition to the special controls that you
may find in particular simulations, materialworlds has a set of standard
controls and mouse interactions that are available in most simulations:
Arrows are often used in 2D views to show the size and direction of force,
velocity and acceleration. Very short arrows are drawn just as a straight
line, without an arrow head.
Red arrows show the strength and direction of the
forces on an object.
Thin headed arrows show the individual forces that combine together
to give the triangle headed resultant force.
A blue arrow shows the speed and direction of an
object's velocity. Unless a simulation prevents it, you can change an object's
velocity while the simulation is paused by pulling the velocity arrowhead
with the mouse.
A green arrow (displayed in some simulations)
shows an object's acceleration.
In some simulations you'll see a bar across an arrow. Beyond a certain length
- indicated by this bar - the arrow grow logarithmically; so that a doubling
in force or velocity is shown as a fixed increase in length beyond the bar.
This allows a much greater range of magnitudes of force and velocity to be
displayed side-by-side on the screen.
In some simulations the bonds between objects are colored to indicate if
the bond is compressed or stretched.
At its rest length a bond is black; compressed slightly it turns red and
at greater compressions yellow. Stretched bonds turn first dark then light
Pause and Play controls let you stop the simulation at
any moment to take a closer look; Rewind takes the simulation back
to its initial state; Leave tracks shows where objects have passed.
The mouse can be used to interact with and edit simulations in most 2D
While the simulation is playing, you can grab hold of an object and move
it around with either the left or right mouse button.
Using the left button has the effect of dragging the object around with a
piece of elastic; the object is still affected by interactions with other
Moving an object with the right button stops it being affected by other objects
and also sets its velocity to zero.
While the simulation is paused, both left and right buttons have the same
effect - selecting the object and moving it about - both without changing
its velocity. Holding down the Ctrl key causes selected objects to be copied
rather than moved.
Multiple selections can be made by Shift clicking, or dragging out a rubberband
over a group of objects.
The selection can be cancelled by clicking in empty space.
While moving or copying a stationary object, keep an eye on the shape
of the mouse cursor to make sure you're not editing its velocity by
Materialworlds uses scrolling graphs to record how one or more variables
"Now" (in the simulation's time) is at the graph's origin (on the right where
the two axes cross) and the vertical position of the curves at increasing
distances to the left of the origin represents the state of variables at
times further and further back into the past.
To the right of the origin is the future - which isn't drawn because it hasn't
As time moves
on, the graph scrolls to the left, recording the most recent events and loosing
the record of more distant events off to the left.
In some simulations the graph is set up to draw a vertical line whenever
a particular condition occurs (for example; when a pendulum passes through
its rest point) and display the time between (or frequency of) these occurances.
This provides an automatic time measurement of periodic behaviour - like
that of a pendulum or orbiting satellite.
The standard keyboard commands Ctrl+C and Ctrl+V can be used for copying
selected objects, then pasting what's been copied.
These work whether the simulation is running or paused. The Delete key deletes
Beware...if you paste objects into the same space as already existing objects,
they'll fly apart violently.
Shift+Ctrl+S saves a copy of the active web page simulation - including any
changes you've made. Make sure you save it under a different name and/or
location - else materialworlds will crash.
What should I do if a view or graph doesn't
||Click on it, or
resize the browser window.
if this doesn't work...
if this doesn't work...
||While holding down
Ctrl + Alt keys, press Delete ONCE.
select "Matwrld" in the dialog that pops up, and press the "End Task"
(if another dialog pops up with the message "The program is not responding...",
select "End Task" in that too).
Press refresh (on your browser).
This technique of closing
down materialworlds, then pressing Refresh to reload it, can be used if the
program occasionally misbehaves in other ways. But if you encounter a recurrent
problem, or one that can't be fixed like this, do email us the details.
Switching between browser windows... or the unrequested running of
the materialworlds editor.
Some strange behaviour can result from trying to have the same simulation
open at the same time in different browser windows. Try to avoid this.
Any unanswered questions?
Write to us at