vmm3d.surface.parametric
Class WeierstrassMinimalSurface
- java.lang.Object
-
- vmm3d.core.Exhibit
-
- vmm3d.core3D.Exhibit3D
-
- vmm3d.surface.Surface
-
- vmm3d.surface.parametric.SurfaceParametric
-
- vmm3d.surface.parametric.WeierstrassMinimalSurface
-
- All Implemented Interfaces:
- java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable
- Direct Known Subclasses:
- CatenoidEnneper, CatenoidFence, ChenGackstatter, CostaHoffmanMeeks, DoubleEnneper, DoublyPeriodicJD, DoublyPeriodicJE, Helicoid_Weierstrass, LidinoidHfamily, LopezRosNoGo, OtherTriangCatenoid, PlanarEnneper, Riemann, Scherk_Weierstrass, SchoenCLPsurface, SchoenGyroid, SchwarzHsurface, SchwarzPDsurface, Skew_K_noid, Symmetric_K_Noid, WavyEnneper_Weierstrass
public abstract class WeierstrassMinimalSurface extends SurfaceParametric
Abstract Weierstrass Minimal Surface
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description classWeierstrassMinimalSurface.WMSViewThe View class for WeierstrassMinimalSurfaces, overridden *only* to add the Show Conjugate Surface and number of pieces actions to the correct place in the Action menu.
-
Field Summary
Fields Modifier and Type Field and Description RealParamAnimateableafpstatic ComplexI__Cstatic ComplexI_Cstatic ComplexI1_Cstatic ComplexI2_Cstatic ComplexI3_Cstatic ComplexI4_Cstatic ComplexIP__Cstatic ComplexIP_Cstatic ComplexONE__Cstatic ComplexONE_Cstatic ComplexZERO_C-
Fields inherited from class vmm3d.surface.parametric.SurfaceParametric
COLOR_GAUSS_CURVATURE, COLOR_MEAN_CURVATURE, COLOR_TWO_SIDED_DEFAULT, COLOR_TWO_SIDED_USER, COLOR_USER, COLOR_USER_FUNCTION_HSB, COLOR_USER_FUNCTION_RGB, COLOR_WHITE
-
Fields inherited from class vmm3d.surface.Surface
uPatchCount, vPatchCount
-
-
Constructor Summary
Constructors Constructor and Description WeierstrassMinimalSurface()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description ComplexVector3DComplexVectorIntegrator(Complex zInitial, Complex zFinal, int numSteps)ComplexVector3DComplexVectorOneStepIntegrator(Complex zInitial, Complex zFinal)voidcomputeHalfPeriod()voidcreateHelperArray()The helperArray is filled with auxiliary data from which the surface points can be computed quickly in public Vector3D surfacePoint(double u, double v).ActionListgetAdditionalAnimationsForView(View view)This method returns a list ofActionItemthat will be added to the Animation menu of the 3dxm applicaiton.ViewgetDefaultView()Returns a default view of this exhibit, a View of typeSurfaceView.intgetNumberOfPieces()ComplexVector3DhelperToMinimal(ComplexVector3D hp)The integrated values that are collected in ComplexVector3D[][] helperArray are here converted to points of the holomorphic null curve in C^3 whose real and imaginary parts are minimal surfaces in R^3.ComplexVector3DminimalToHelper(ComplexVector3D mn)Inverse function to the previous helperToMinimal.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.voidsetNumberOfPieces(int numberOfPieces)Vector3DsurfaceNormal(double u, double v)The surface normal is called often while rendering the surface.Vector3DsurfacePoint(double u, double v)This function lets a minimal surface that is defined by Weierstrass Data behave as if it were given by an explicit parametrization.-
Methods inherited from class vmm3d.surface.parametric.SurfaceParametric
addExtraXML, deriv_u, deriv_v, gaussMap, getActionsForView, getPatchCountU, getPatchCountV, readExtraXML, removeView, setEpsilon, setPatchCount, setU, setV, setViewpoint
-
Methods inherited from class vmm3d.surface.Surface
getBuildAnimation, getDefaultOrientation, getGrid3D, setDefaultOrientation
-
Methods inherited from class vmm3d.core3D.Exhibit3D
getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp
-
Methods inherited from class vmm3d.core.Exhibit
addChangeListener, addDecoration, addView, clearDecorations, forceRedraw, getAlternativeViews, getCreateAnimation, getDecorations, getDefaultBackground, getDefaultForeground, getDefaultWindow, getFramesForMorphing, getMorphingAnimation, getName, getParameterByName, getParameters, getSettingsCommandsForView, getTitle, getUseFilmstripForMorphing, getViews, removeChangeListener, removeDecoration, render, setDefaultBackground, setDefaultForeground, setDefaultWindow, setDefaultWindow, setFramesForMorphing, setName, setUseFilmstripForMorphing, stateChanged
-
-
-
-
Field Detail
-
ZERO_C
public static final Complex ZERO_C
-
ONE_C
public static final Complex ONE_C
-
ONE__C
public static final Complex ONE__C
-
IP_C
public static final Complex IP_C
-
IP__C
public static final Complex IP__C
-
I_C
public static final Complex I_C
-
I__C
public static final Complex I__C
-
I1_C
public static final Complex I1_C
-
I2_C
public static final Complex I2_C
-
I3_C
public static final Complex I3_C
-
I4_C
public static final Complex I4_C
-
afp
public RealParamAnimateable afp
-
-
Method Detail
-
surfaceNormal
public Vector3D surfaceNormal(double u, double v)
The surface normal is called often while rendering the surface. For Weierstrass surfaces the normal is known well before the surface points are known. The normal should never be computed numerically. Therefore the following overrides the numerical differentiation.- Overrides:
surfaceNormalin classSurfaceParametric
-
ComplexVectorOneStepIntegrator
public ComplexVector3D ComplexVectorOneStepIntegrator(Complex zInitial, Complex zFinal)
-
ComplexVectorIntegrator
public ComplexVector3D ComplexVectorIntegrator(Complex zInitial, Complex zFinal, int numSteps)
-
surfacePoint
public Vector3D surfacePoint(double u, double v)
This function lets a minimal surface that is defined by Weierstrass Data behave as if it were given by an explicit parametrization.- Specified by:
surfacePointin classSurfaceParametric
-
helperToMinimal
public ComplexVector3D helperToMinimal(ComplexVector3D hp)
The integrated values that are collected in ComplexVector3D[][] helperArray are here converted to points of the holomorphic null curve in C^3 whose real and imaginary parts are minimal surfaces in R^3.
-
minimalToHelper
public ComplexVector3D minimalToHelper(ComplexVector3D mn)
Inverse function to the previous helperToMinimal.
-
createHelperArray
public void createHelperArray()
The helperArray is filled with auxiliary data from which the surface points can be computed quickly in public Vector3D surfacePoint(double u, double v). The routine can either start with the i-line j=0 first and use these values to start the integration along the j-curves -- or it can do the j-curve i=0 first and compute the i-curves from there. One tries to have no singular or numerically difficult points on the first curve.
-
computeHalfPeriod
public void computeHalfPeriod()
-
getAdditionalAnimationsForView
public ActionList getAdditionalAnimationsForView(View view)
Description copied from class:ExhibitThis method returns a list ofActionItemthat will be added to the Animation menu of the 3dxm applicaiton. The values in the list should ordinarily be commands (i.e.AbstractActionVMM) that run animations (although there is no way to enforce this restriction). These animations commands are in addition to the standard "Morph" and "Cyclic Morph" commands. Note that these commands are added to those returned byView#getAdditionalAnimations().In this top-level Exhibit class, the return value is a an empty list (but not null). In general, when overriding this method, subclasses should call "super.getAdditionalAnimationsForView()" to obtain a list of actions from the superclass. It can then add additional actions or remove or disable actions that are in the list from the superclass.
- Overrides:
getAdditionalAnimationsForViewin classExhibit- Parameters:
view- The view in which the animations will be run.
-
getNumberOfPieces
public int getNumberOfPieces()
-
setNumberOfPieces
public void setNumberOfPieces(int numberOfPieces)
-
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()
-
getDefaultView
public View getDefaultView()
Description copied from class:SurfaceReturns a default view of this exhibit, a View of typeSurfaceView. (Note: If a Surface is displayed in a plain View3D, it will always appear as a wireframe.)- Overrides:
getDefaultViewin classSurface
-
-
DMelt 3.0 © DataMelt by jWork.ORG