vmm.spacecurve.parametric
Class UserSpaceCurveKappaTau

java.lang.Object
  extended by vmm.core.Exhibit
      extended by vmm.core3D.Exhibit3D
          extended by vmm.spacecurve.SpaceCurve
              extended by vmm.spacecurve.parametric.SpaceCurveParametric
                  extended by vmm.spacecurve.parametric.UserSpaceCurveKappaTau
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable, UserExhibit, UserExhibit3D

public class UserSpaceCurveKappaTau
extends SpaceCurveParametric
implements UserExhibit3D

Defines a space curve from three functions that give the coordinates of points on the curve as functions of t, where the data is input by the user.


Nested Class Summary
 
Nested classes/interfaces inherited from class vmm.spacecurve.parametric.SpaceCurveParametric
SpaceCurveParametric.SpaceCurveParametricView, SpaceCurveParametric.SpaceCurveParametricViewAsTube
 
Nested classes/interfaces inherited from interface vmm.core3D.UserExhibit3D
UserExhibit3D.Support
 
Nested classes/interfaces inherited from interface vmm.core.UserExhibit
UserExhibit.FunctionInfo
 
Field Summary
 
Fields inherited from class vmm.spacecurve.parametric.SpaceCurveParametric
tmax, tmin, tResolution, tube, tubeSides, tubeSize, tVals
 
Fields inherited from class vmm.spacecurve.SpaceCurve
points
 
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
UserSpaceCurveKappaTau()
           
 
Method Summary
protected  Vector3D[] frenetODEstep2(double tInitial, double tFinal, Vector3D[] initialVal, int numSubdivision)
          Second order method, "Step to midpoint"
protected  Vector3D[] frenetODEstep4(double tInitial, double tFinal, Vector3D[] initialVal, int numSubdivision)
           
 UserExhibit.Support getUserExhibitSupport()
          This method should return a non-null object that is created and customized in the constructor of the class that implements UserExhbit.
protected  double kappa(double t)
           
 Vector3D[] makeRepereMobile(double t)
          Returns an array of four vectors representing the Repere Mobile to the curve at a specified t value.
 void parameterChanged(Parameter param, java.lang.Object oldValue, java.lang.Object newValue)
          This method will be called automatically when a parameter that has been added to this Exhibit is changed.
protected  double tau(double t)
           
protected  Vector3D value(double t)
          Returns a point (x(t), y(t), z(t)) on the curve, given a value of t.
 
Methods inherited from class vmm.spacecurve.parametric.SpaceCurveParametric
computeDrawData3D, deriv1, deriv2, doDraw3D, geographicCoordinates, getActionsForView, getAlternativeViews, getBuildAnimation, getCenterOfPoints, getCreateAnimation, getDefaultView, getT, getTResolution, makePoints
 
Methods inherited from class vmm.spacecurve.SpaceCurve
getPoint, getPointCount
 
Methods inherited from class vmm.core3D.Exhibit3D
computeDrawDataHook, doDrawHook, getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
 
Methods inherited from class vmm.core.Exhibit
addChangeListener, addDecoration, addExtraXML, addParameter, addView, clearDecorations, computeDrawData, doDraw, fireExhibitChangeEvent, forceRedraw, getAdditionalAnimationsForView, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, 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
 
Methods inherited from interface vmm.core3D.UserExhibit3D
getDefaultViewpoint, setDefaultViewpoint
 
Methods inherited from interface vmm.core.UserExhibit
getDefaultView, getDefaultWindow, getParameters, setDefaultWindow
 

Constructor Detail

UserSpaceCurveKappaTau

public UserSpaceCurveKappaTau()
Method Detail

parameterChanged

public void parameterChanged(Parameter param,
                             java.lang.Object oldValue,
                             java.lang.Object newValue)
Description copied from class: Exhibit
This method will be called automatically when a parameter that has been added to this Exhibit is changed. It should not ordinarily be called directly. Note that in fact, this method simply calls forceRedraw. This method is defined in the <@link Parameterizable} interface.

Specified by:
parameterChanged in interface Parameterizable
Overrides:
parameterChanged in class Exhibit
Parameters:
param - The Parmeter whose value has been set.
oldValue - The previous value of the parameter.
newValue - The new, current value of the parameter. This is not necessarily guaranteed to be different from the old value (although it is for parameters definedin the VMM core).
See Also:
Exhibit.forceRedraw()

kappa

protected double kappa(double t)

tau

protected double tau(double t)

frenetODEstep2

protected Vector3D[] frenetODEstep2(double tInitial,
                                    double tFinal,
                                    Vector3D[] initialVal,
                                    int numSubdivision)
Second order method, "Step to midpoint"


frenetODEstep4

protected Vector3D[] frenetODEstep4(double tInitial,
                                    double tFinal,
                                    Vector3D[] initialVal,
                                    int numSubdivision)

makeRepereMobile

public Vector3D[] makeRepereMobile(double t)
Description copied from class: SpaceCurveParametric
Returns an array of four vectors representing the Repere Mobile to the curve at a specified t value. The array has length 4. The first vector is the point on the curve, and the other three vectors are the unit tangent, unit normal, and unit bi-normal to the curve at that point. The return value can be null, if the curve or its first or second derivative is not defined at the specified point. If the return value is non-null, then all four vectors in the returned array are non-null.

Overrides:
makeRepereMobile in class SpaceCurveParametric

value

protected Vector3D value(double t)
Description copied from class: SpaceCurveParametric
Returns a point (x(t), y(t), z(t)) on the curve, given a value of t. The return value can be null, indicating a break in the curve. Subclasses must define this method to specify a particular curve.

Specified by:
value in class SpaceCurveParametric

getUserExhibitSupport

public UserExhibit.Support getUserExhibitSupport()
Description copied from interface: UserExhibit
This method should return a non-null object that is created and customized in the constructor of the class that implements UserExhbit.

Specified by:
getUserExhibitSupport in interface UserExhibit