- Add new objects by double-clicking (slowly).
- Move objects by clicking and dragging.
- Throw objects (change the velocity) by Shift-clicking and dragging.
About...
How To Use
Things To Try
Bugs
Source Code
The Applet's not running!
About RingWorld
This is a simulation of a rotating space settlement without gravity. The
only forces influencing the objects in it are the rotation of the ring.
The black squares are buildings up to six storys tall (20m on each side.)
The balls are artificially large (the size of hot-air balloons) so they can be grabbed.
Objects in free fall travel in a straight line, even if it does not appear that way.
Press "Jump" and see for yourself.
r = radius of the RingWorld (meters)
g = apparent gravity at the surface of the ring
v = velocity of ring at the surface (meters/second)
t = period of rotation (seconds)
How to Use
-
Press Jump to have the balls fall off of their platforms.
-
With Lock Viewpoint you can view the simulation from afar, watching
the ring rotate freely. Or you can attach (lock) yourself to the ring so
the rotation appears to stop.
-
Buttons with letters in brackets [p] have keyboard short cuts. For
example, you can pause the simulation by typing 'p' (or spacebar, too).
If it does not appear to work, click inside the ring and try again.
-
To add balls to the simulation, double-click anywhere inside the ring,
or press the Random button to have a ball placed randomly. New balls
will appear with a line under them. This is a stationary platform that
rotates with the ring.
-
Show Velocity Vectors will draw arrows indicating the direction
the balls would travel if left alone. Shift-Click and drag a ball
to change its velocity. Press the Shift key and hold the mouse button down
over a ball and it will turn red. Move the mouse in the direction
you want the ball to travel, and a line will appear indicating the velocity
vector you are adding to the ball's current velocity.
-
Click on Edit World to see the dimensions of the world. Change the
radius and the apparent gravity and see what happens.
-
If there's just too much stuff in the world, you can always start over
with Reset.
-
Speed and zooming are controled with the four buttons on the top
right. The speed multiplier is shown in the upper left. For example, '2x'
means that time is passing twice as fast as in real time.
-
Turn on Constant Speed to keep the simulation speed steady even if the
animation frame rate starts slowing down. Adding too many objects and trails to the
animation will slow your machine down, but this mode will compensate and keep
the world rotating at a constant rate.
Why not always use this mode?
This mode uses constant feedback to maintain the simulation speed.
So if the computer hiccups, you will see the simulation jerk forward to catch up.
This correcting feedback can result in jerky animation if the browser does not
give the applet consistent time to run. I don't trust browsers so it is left up
to you turn the mode on if necessary. Experiment and see what works best.
Things to Try
-
Turn on Trails and Velocity Vectors, and unlock the viewpoint.
Notice how the trail curves, but the ball continues in a straight line.
Turn off the trails to prove that the balls are indeed moving in a straight line.
-
Lock the viewpoint and zoom in to grab a ball. Shift click a ball and drag
it towards the middle to toss the ball in the air. See if you can get the
ball to land in the same place it started. Pausing the simulation can help
in setting the velocity vector of the ball (or multiple balls at once).
-
Turn on Velocity Vectors and drag a ball around. Notice how its velocity
changes depending on the distance from the center.
Why does it change?
-
Even though each ball is travelling at a constant velocity, why do the dots in
its trail spread out as if it were accelerating as it approaches the ground?
[answer]
Bugs and Enhancements
This applet requires Java 1.1, and most 4.x browsers do only a fair job
of running applets. Therefore this applet will probably behave differently
on different systems. I've made my best attempt at getting this to
run on various systems, but there will always be some differences. If you
have problems, find bugs, or have suggestions, please send email to
dwhitney@cs.stanford.edu.
Please include what machine, browser, and version of Java you are running
on, and include the Java console log if you can (under the Communicator:Tools menu).
Web work by David Whitney,
concept by Al Globus.