vmm.ode.firstorder3D
Class ODE1stOrder3DNonAutonomous

java.lang.Object
  extended by vmm.core.Exhibit
      extended by vmm.core3D.Exhibit3D
          extended by vmm.ode.ODE_3D
              extended by vmm.ode.firstorder3D.ODE1stOrder3DNonAutonomous
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable
Direct Known Subclasses:
UserODE1stOrder3DNonAutonomous

public abstract class ODE1stOrder3DNonAutonomous
extends ODE_3D


Nested Class Summary
 
Nested classes/interfaces inherited from class vmm.ode.ODE_3D
ODE_3D.ODEView
 
Field Summary
 
Fields inherited from class vmm.ode.ODE_3D
addAnimateCheckBoxontrolPanel, addLinesCheckBoxontrolPanel, addOrbitTypesToControlPanel, anaglyphIsDefault, canShowVectorField, dtDefault, initialDataDefault, inputLabelNames, isAutonomous, ORBIT_TYPE_BOTH, ORBIT_TYPE_EULER, ORBIT_TYPE_RUNGE_KUTTA, showAxes, timeSpanDefault
 
Fields inherited from class vmm.core3D.Exhibit3D
defaultViewpoint, defaultViewUp, previousTransform3D
 
Fields inherited from class vmm.core.Exhibit
decorations, exhibitNeedsRedraw, isMorphing, morphingView, parameters, previousTransform
 
Constructor Summary
ODE1stOrder3DNonAutonomous()
           
 
Method Summary
protected  MouseTask makeDefaultMouseTask(ODE_3D.ODEView view)
          Should construct and return a mouse task appropriate for this exhibit, to be used in the specified view.
protected  void nextEulerPoint(double[] pointData, double dt)
          Computes the next point on an integral curve, using Euler's method.
protected  void nextRungeKuttaPoint(double[] pointData, double dt)
          Computes the next point on an integral curve, using the Runge-Kutta method.
protected abstract  double xPrime(double x, double y, double z, double t)
          Defines the x-component of the vector field.
protected abstract  double yPrime(double x, double y, double z, double t)
          Defines the y-component of the vector field.
protected abstract  double zPrime(double x, double y, double z, double t)
          Defines the z-component of the vector field.
 
Methods inherited from class vmm.ode.ODE_3D
doDraw, extractPointFromData, getCreateAnimation, getDefaultView, screenPointTo3DPoint, vectorField_x, vectorField_y
 
Methods inherited from class vmm.core3D.Exhibit3D
computeDrawData3D, computeDrawDataHook, doDraw3D, doDrawHook, getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
 
Methods inherited from class vmm.core.Exhibit
addChangeListener, addDecoration, addExtraXML, addParameter, addView, clearDecorations, computeDrawData, fireExhibitChangeEvent, forceRedraw, getActionsForView, getAdditionalAnimationsForView, getAlternativeViews, getBuildAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, parameterChanged, readExtraXML, removeChangeListener, removeDecoration, removeParameter, removeView, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ODE1stOrder3DNonAutonomous

public ODE1stOrder3DNonAutonomous()
Method Detail

xPrime

protected abstract double xPrime(double x,
                                 double y,
                                 double z,
                                 double t)
Defines the x-component of the vector field.


yPrime

protected abstract double yPrime(double x,
                                 double y,
                                 double z,
                                 double t)
Defines the y-component of the vector field.


zPrime

protected abstract double zPrime(double x,
                                 double y,
                                 double z,
                                 double t)
Defines the z-component of the vector field.


nextEulerPoint

protected void nextEulerPoint(double[] pointData,
                              double dt)
Description copied from class: ODE_3D
Computes the next point on an integral curve, using Euler's method. The pointData parameter array contains the data for the current point. This data should be replaced with the data for the next point. The size of the array and the meaning of the data that it contains will vary from one subclass to another. However, for non-autonomous ODEs, the time should always be the first parameter in the array. The second parameter, dt, gives the time step from the current point to the next point.

Specified by:
nextEulerPoint in class ODE_3D

nextRungeKuttaPoint

protected void nextRungeKuttaPoint(double[] pointData,
                                   double dt)
Description copied from class: ODE_3D
Computes the next point on an integral curve, using the Runge-Kutta method. The pointData parameter array contains the data for the current point. This data should be replaced with the data for the next point. The size of the array and the meaning of the data that it contains will vary from one subclass to another. But for the non-autonmous case, the time should always be the first value in the array. The second parameter, dt, gives the time step from the current point to the next point.

Specified by:
nextRungeKuttaPoint in class ODE_3D

makeDefaultMouseTask

protected MouseTask makeDefaultMouseTask(ODE_3D.ODEView view)
Description copied from class: ODE_3D
Should construct and return a mouse task appropriate for this exhibit, to be used in the specified view. The default return value is a standard BasicMouseTask3D; subclasses can redefine this to add the ability to input the initial conditions with the mouse.

Overrides:
makeDefaultMouseTask in class ODE_3D