vmm.spacecurve.parametric
Class Viviani

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.SphericalCurve
                      extended by vmm.spacecurve.parametric.Viviani
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable

public class Viviani
extends SphericalCurve

Defines the Viviani curve parametrically, the intersection of a sphere and a cylinder that touches the sphere.


Nested Class Summary
protected  class Viviani.DotCloudCylinder
           
 
Nested classes/interfaces inherited from class vmm.spacecurve.parametric.SphericalCurve
SphericalCurve.DotCloudSphere, SphericalCurve.SphericalCurveView
 
Nested classes/interfaces inherited from class vmm.spacecurve.parametric.SpaceCurveParametric
SpaceCurveParametric.SpaceCurveParametricView, SpaceCurveParametric.SpaceCurveParametricViewAsTube
 
Field Summary
protected  Viviani.DotCloudCylinder cloudCylinder
           
 
Fields inherited from class vmm.spacecurve.parametric.SphericalCurve
cloudSphere
 
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
Viviani()
           
 
Method Summary
protected  Vector3D deriv1(double t)
          Finds the derivative (x'(t),y'(t),z'(t)) at a given point on the curve.
protected  Vector3D deriv2(double t)
          Finds the second derivative (x''(t),y''(t),z''(t)) at a given point on the curve.
 View getDefaultView()
          Returns a View of type SphericalCurve.SphericalCurveView, which is a subclass of SpaceCurveParametric.SpaceCurveParametricView that defines some additional Actions.
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, doDraw3D, geographicCoordinates, getActionsForView, getAlternativeViews, getBuildAnimation, getCenterOfPoints, getCreateAnimation, getT, getTResolution, makePoints, makeRepereMobile
 
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, 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
 

Field Detail

cloudCylinder

protected Viviani.DotCloudCylinder cloudCylinder
Constructor Detail

Viviani

public Viviani()
Method Detail

getDefaultView

public View getDefaultView()
Description copied from class: SphericalCurve
Returns a View of type SphericalCurve.SphericalCurveView, which is a subclass of SpaceCurveParametric.SpaceCurveParametricView that defines some additional Actions.

Overrides:
getDefaultView in class SphericalCurve

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

deriv1

protected Vector3D deriv1(double t)
Description copied from class: SpaceCurveParametric
Finds the derivative (x'(t),y'(t),z'(t)) at a given point on the curve. This class defines the derivative using an approximation based on nearby points on the curve. While this is probably good enough, subclasses can override this if they want, to provide an exact formula for the derivative. The return value can be null if the curve or its derivative is undefined at the specified value of t.

Overrides:
deriv1 in class SpaceCurveParametric

deriv2

protected Vector3D deriv2(double t)
Description copied from class: SpaceCurveParametric
Finds the second derivative (x''(t),y''(t),z''(t)) at a given point on the curve. This class defines the second derivative using an approximation based on nearby points on the curve. While this is probably good enough, subclasses can override this if they want, to provide an exact formula for the derivative. The return value can be null if the curve or its second derivative is undefined at the specified value of t.

Overrides:
deriv2 in class SpaceCurveParametric