vmm.ode.firstorder3D
Class ODE1stOrder3D
java.lang.Object
vmm.core.Exhibit
vmm.core3D.Exhibit3D
vmm.ode.ODE_3D
vmm.ode.firstorder3D.ODE1stOrder3D
- All Implemented Interfaces:
- java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable
- Direct Known Subclasses:
- Linear, Lorenz, Rikitake, Rossler, UserODE1stOrder3D
public abstract class ODE1stOrder3D
- extends ODE_3D
Represents a simple vector field in three dimensions, with the abilty
to compute integral curves of the field. The user starts a curve
by clicking the start point with the middle mouse button, or by
clicking with the ALT key down (Option key on Mac). The most recently added integral
curve is shown in green; older curves are in red. The green curve
can be extended using the "Continue Orbit" command in the Action menu.
A "Show Projeccted Orbits" command adds an auxiliary view at the bottom
of the display where the x and y coordinates of the points on the green
orbit are plotted.
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 |
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)
Defines the x-component of the vector field. |
protected abstract double |
yPrime(double x,
double y,
double z)
Defines the y-component of the vector field. |
protected abstract double |
zPrime(double x,
double y,
double z)
Defines the z-component of the vector field. |
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 |
ODE1stOrder3D
public ODE1stOrder3D()
xPrime
protected abstract double xPrime(double x,
double y,
double z)
- Defines the x-component of the vector field.
yPrime
protected abstract double yPrime(double x,
double y,
double z)
- Defines the y-component of the vector field.
zPrime
protected abstract double zPrime(double x,
double y,
double z)
- 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