vmm3d.planecurve.parametric
Class UserPlaneCurveParametricKappa
- java.lang.Object
-
- vmm3d.core.Exhibit
-
- vmm3d.planecurve.PlaneCurve
-
- vmm3d.planecurve.parametric.PlaneCurveParametric
-
- vmm3d.planecurve.parametric.UserPlaneCurveParametricKappa
-
- All Implemented Interfaces:
- java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable, UserExhibit
public class UserPlaneCurveParametricKappa extends PlaneCurveParametric implements UserExhibit
A plane curve c(s) = (x(s),y(s)) is defined by its curvature function kappa(s). kappa(s) is to be entered by the user. The Frenet equation c''(s) = kappa(s)*normal(s) gives c'(s) = (cos(alpha(s)), sin(alpha(s)) ), where alpha'(s) = kappa(s). Therefore c(s) is obtained by a double integration. We use a precomputed antiderivative alphs of kappa, stored in helpArray. This reduces the double integration to a single one - and this is fast enough so that these Frenet curves behave as if they were given by an explicit parametrization. If tmin =< 0 =< tmax then alpha(0) = 0.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class vmm3d.planecurve.parametric.PlaneCurveParametric
PlaneCurveParametric.PlaneCurveParametricView
-
Nested classes/interfaces inherited from interface vmm3d.core.UserExhibit
UserExhibit.FunctionInfo, UserExhibit.Support
-
-
Constructor Summary
Constructors Constructor and Description UserPlaneCurveParametricKappa()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description UserExhibit.SupportgetUserExhibitSupport()This method should return a non-null object that is created and customized in the constructor of the class that implements UserExhbit.voidparameterChanged(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.doublex2ndDerivativeValue(double t)Computes x''(t) for a given value of t.doublexDerivativeValue(double t)Computes x'(t) for a given value of t.doublexValue(double t)Computes x(t) for a given value of t.doubley2ndDerivativeValue(double t)Computes y''(t) for a given value of t.doubleyDerivativeValue(double t)Computes y'(t) for a given value of t.doubleyValue(double t)Computes y(t) for a given value of t.-
Methods inherited from class vmm3d.planecurve.parametric.PlaneCurveParametric
doDraw, getActionsForView, getCreateAnimation, getDefaultView, getT, getTResolution, myCircle
-
Methods inherited from class vmm3d.planecurve.PlaneCurve
fillRandomSquare, getPoint, getPointCount, initializeMovingSquare
-
Methods inherited from class vmm3d.core.Exhibit
addChangeListener, addDecoration, addExtraXML, addView, clearDecorations, forceRedraw, getAdditionalAnimationsForView, getAlternativeViews, getBuildAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultTransform, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, readExtraXML, removeChangeListener, removeDecoration, removeView, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface vmm3d.core.UserExhibit
getDefaultView, getDefaultWindow, getParameters, setDefaultWindow
-
-
-
-
Method Detail
-
parameterChanged
public void parameterChanged(Parameter param, java.lang.Object oldValue, java.lang.Object newValue)
Description copied from class:ExhibitThis 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 callsforceRedraw. This method is defined in the <@link Parameterizable} interface.- Specified by:
parameterChangedin interfaceParameterizable- Overrides:
parameterChangedin classExhibit- 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()
-
xValue
public double xValue(double t)
Description copied from class:PlaneCurveParametricComputes x(t) for a given value of t.- Specified by:
xValuein classPlaneCurveParametric
-
yValue
public double yValue(double t)
Description copied from class:PlaneCurveParametricComputes y(t) for a given value of t.- Specified by:
yValuein classPlaneCurveParametric
-
xDerivativeValue
public double xDerivativeValue(double t)
Description copied from class:PlaneCurveParametricComputes x'(t) for a given value of t. The default version defined in this class computes an approximate value numerically, using values of the function itself at points near t.- Overrides:
xDerivativeValuein classPlaneCurveParametric
-
yDerivativeValue
public double yDerivativeValue(double t)
Description copied from class:PlaneCurveParametricComputes y'(t) for a given value of t. The default version defined in this class computes an approximate value numerically, using values of the function itself at points near t.- Overrides:
yDerivativeValuein classPlaneCurveParametric
-
x2ndDerivativeValue
public double x2ndDerivativeValue(double t)
Description copied from class:PlaneCurveParametricComputes x''(t) for a given value of t. The default version defined in this class computes an approximate value numerically, using values of the function itself at points near t.- Overrides:
x2ndDerivativeValuein classPlaneCurveParametric
-
y2ndDerivativeValue
public double y2ndDerivativeValue(double t)
Description copied from class:PlaneCurveParametricComputes y''(t) for a given value of t. The default version defined in this class computes an approximate value numerically, using values of the function itself at points near t.- Overrides:
y2ndDerivativeValuein classPlaneCurveParametric
-
getUserExhibitSupport
public UserExhibit.Support getUserExhibitSupport()
Description copied from interface:UserExhibitThis method should return a non-null object that is created and customized in the constructor of the class that implements UserExhbit.- Specified by:
getUserExhibitSupportin interfaceUserExhibit
-
-
DMelt 3.0 © DataMelt by jWork.ORG