Projectile Motion

or Gravity-induced Parabolic Trajectories
One of Fowler's Physics Applets

This Java applet demonstrates the classic kinematics problem of the flight of a cannonball shot over flat ground. While there is no pretty cannon, it does use correct units and gives a clear picture of trajectories. There are options to show trails of the projectile or to turn on a simple air friction. You have control over the initial velocity, initial angle and mass.

Author:Drew Dolgert
Owner and contact:Michael Fowler
Date:22 September 1998
Distribution:Gnu Public License, How to link to Projectile Motion
Language:Java 1.1

Run applet

This applet is in Java 1.1. Earlier browsers, even early versions of Java 1.1, may not display this applet. Translation suggestions are welcome. The strings to translate are in the properties files. Simply make one for your language. If you send it, I'll happily include it. If you wish to provide a translation for a language in an encoding other than Western, like those for Chinese or Japanese, please tell me what the encoding is.

Download this Applet

Also available on our FTP Site.


international - "yes" or "no", defaults to yes.
Set this to no in order to disable reading ResourceBundles.

language - the two-letter language code
EN for English, FR for French, etc. This is the first specifier of a Locale. While other languages like Russian aren't official Default Locales, we can certainly add them if someone supplies an appropriate properties file. If you do not specify a language, the applet should use the default language specified by your browser's Java Virtual Machine.

country - the two-letter country code
CN for China, IT for Italy. This further specifies a locale if, for instance, you want to differentiate French in France, "FR", from French in Canada, "FR_CA".

threadsleep - integer, defaults to 20
The number of milliseconds the Projectile thread should pause after it shows the next frame of a shot. Set higher for smooth animation on slow machines, lower for even smoother animation on fast machines.

numsteps - integer, defaults to 125
The number of timesteps for the ball to travel the length of the cavity when the applet first loads. If you make the threadsleep smaller, you might want to make the timestep larger.

markfrequency - integer, defaults to 8
When you ask for trails, the ball will leave a trail every markfrequency timesteps.

Version History

12 August 1999
Fixed German translation - Lasse Clausen
22 September 1998
Version 1.0 - Andrew Dolgert

Related Applets

from major repositories