NOOPE: Newtonian Object-oriented Physics Engine

NOOPE is the Newtonian Object-oriented Physics Engine.

See:
          Description

Packages
gravsphcolldemo Various demonstrations of Spheres under Gravity and Elastic Collisions.
net.jmge.gif This package contains the Gif89Encoder library, version 0.90 beta (15-Jul-2000) by J M G Elliot and is available from http://jmge.net/java/gifenc/.
noope.core Classes that are core to the NOOPE engine.
noope.entities Classes representing physical objects modelled by NOOPE.
noope.input Classes related to data input.
noope.laws Classes describing force laws modelled by NOOPE.
noope.output Classes related to data output.

 

NOOPE is the Newtonian Object-oriented Physics Engine. It is a library implemented in Java 1.2 which allows you to run physical simulations (below is a list of the physical assumptions).
N.B.: The package net.jmge.gif is not part of NOOPE; see its documentation for more details.

Legal

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

Physical Assumptions

  F = m a
  Forces are superpositional
  action <==> reaction

  Can have Active objects that provide their own forces in addition
    to those they would otherwise experience.
  (This requires objects to be able to measure the forces exerted on them.)
  
  Euclidian ^3 space

  Time - independent, uniform, discrete in steps:

    v1 = v0 + a * delta_t
    x1 = x0 + ((v1 + v0) / 2) * delta_t

  Include Earth-type object (massive, imovable, unaffected by forces, 
    simply returns reaction force, has constant uniform g)


  Include default properties for entities that don't have them
  E.g. default grav. mass = intertial mass

  Laws are Java classes, given at compile time.