Bouncescope simulates the physics of 2-dimensional elastic collisions. The user can add random as well as customized balls to the simulator.
Bouncescope is free for non-commercial use and the source code is provided.
Operating system requirements:
- Windows 95 or newer
- Linux with Wine 0.9.17 or newer (possibly older versions as well, but I haven't tested them)
Note: The graphics might be slightly jerky under Windows 95 and Wine. For smooth animation, use Windows XP.
The user interface is fairly straightforward. All commands are accessed via the menu. On the menu
you will find the following commands:
- Add a ball...
- Add 10 random balls
- Remove all balls
It is fairly obvious what all these commands do. Note that "Add a ball..." has a keyboard shortcut, the "A" key. Pressing "A" is the same as
selecting "Add a ball..." on the menu. In the "Add a ball" dialog, pressing "Enter" is the same as clicking "OK" (unless, of course, you have
selected a different button). Therefore if you want to add a large number of identical balls, it is easiest to add the first one and then just repeatedly
alternate between pressing "A" and "Enter" (not both at the same time).
Note that if you add too many balls, the animation might become jerky. In that case, you can reset the simulation by selecting "Remove all balls"
from the menu.
Anomalies: You may notice two unusual things when running Bouncescope. These are explained below.
- Balls drifting off the screen: This might happen when the window is too small for the balls to move around. If this happens, simply
make the window larger.
- Balls overlapping each other: This might happen in two cases: (1) if you add several balls at once (such as selecting "Add 10 random
balls" from the menu) or (2) when you make the window smaller. Case 1 occurs because all the balls start at the top-left of the screen.
Case 2 occurs because when you resize the window to be smaller than it was, all balls are automatically moved back within the bounds of the
new window, but no collision checking is done in the process. In either case, there will not be any collision detection between overlapping
balls. However, the balls should eventually go their separate ways, after which they will behave normally.
To learn about the formulas used to calculate the collisions in this program, see 2-D Collisions.
Installation: Installing Bouncescope couldn't be easier; just unzip "bouncescope.exe" to a location of your choice and double-click it
to run it. To uninstall it, just delete "bouncescope.exe".
- "Random" balls are now much more random rather than the same sequence every time you run the program. The random
number generator is seeded with the current time.
- Updated the URL in the About box to show the new site address (www.vobarian.com).
- Added a properties sheet to the .exe file.
This software and documentation is copyrighted. Your use or distribution of
the software indicates your agreement with these terms.
- Software: The term "software" refers to the Bouncescope program, in binary
or executable form or source code form, and the documentation.
- Non-commercial use: You may use the software free of charge for
non-commercial use. "Non-commercial" means the software may not be used to
develop or test products which will be sold, it may not be used in connection
with advertising products, and it may not be used to conduct tests for
commercial projects or commercial research.
- Distribution: You may redistribute the software under these conditions:
there will be no charge for the distribution, the software will not be
distributed in a package or disk also containing commercial software, and
the software will be distributed in its complete, unmodified form along with
all documentation and this license.
- Derivative works: You may use the software source code to create
derivative works only under these conditions: the derivative work must have a
license and the license must include section 2, "non-commercial use"
verbatim and section 3, "distribution" verbatim. The derivative work may not
be sold or distributed for a fee. The derivative work must not be distributed
under the name "Bouncescope", to avoid confusion with the original version. The
license of the derivative work will obey one of the two following options:
(a) the license includes section 4, "derivative works" verbatim; or (b) the
license explicitly prohibits development of further derivative works.
- No warranty, no liability: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES, INCLUDING BUT NOT LIMITED TO DIRECT, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OR IN CONNECTION WITH THE SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
- Termination: This license will be terminated if you violate any of its
terms, or if you decide to terminate the license. Upon termination of the
license, you must stop using the software and delete any copies of it that you
have, and you must not distribute the software. You will cease to have the
right to create any derivative works, and any existing derivative works must
be destroyed. (This is to prevent use of derivative works outside of the terms
of this license.)
Comments and questions are welcome. E-mail address: contact delete-this-before-sending _AT_ vobarian.com (Obviously, delete the extraneous words and replace _AT_ with @. This is to reduce spam.)
Mountains & clouds at top of page (clouds.jpg) taken from photo by Oswald Skene / DHD Multimedia Gallery
©2009 Chad Berchek - everything here unless otherwise noted