By Trevor Stone
For CSCI 1300, Spring 1997. Karl Winklman, professor
The purpose of this applet is to demonstrate the effects of objects dropped
from a single spot over a field of pins. Theoretically, with a high enough
number of objects they will end up in a formation at the bottom resembling a
normal curve.
This applet is called Particle Board because, unlike standard models which
use marbles and nails, the particles in this example never really stop moving,
and when they are held up they move back and forth in a manner similar to
particles.
This applet is fairly straightforward. There are 6 kinds of objects you can
choose from the second menu from the left. To place an object, merely select
your choice from the menu and then click anywhere on the board for the object
to appear.
- Particles are the
interesting objects. The menu on the absolute left controls how many
particles are created when you place one on the screen (you can put some on
top of others). When you hit the "Drop Particles" button, all the particles
will start moving in the direction you specify with the third menu from the
left. A particle will bounce off of any object it encounters.
- Blank spaces are
just that, they have nothing in them. Particles don't bounce off of blank
spaces.
- Pins are inert objects
to be placed at your whim. Any time a particle hits a pin it will bounce to
either side. They make nice smily faces :-)
- Vertical and
horizontal lines work
just like pins do. They're designed to make nice straight lines to hold the
particles at the edges of the screen, but can be swapped for pins with exactly
the same results.
The "Stop Particles" button stops the movement of the particles so that you
can place objects, clear the screen, etc. The "Clear" button will wipe the
entire screen (it may take a while so be patient). The "Redraw" button will
redraw everything that's supposed to be on the screen.
This applet tends to run slow when run with a browser, and even when
viewed with a standalone viewer. Depending on the speed the particles may
not move very fluidly. When you think something should be displayed but is
not, try placing an object (like a blank) or refreshing your browser.
Go ahead and have fun!
|
You can see the source of Board.java,
Screen.java, and
screenObject.java.