vmm3d.surface.parametric
Class ChenGackstatter
- java.lang.Object
-
- vmm3d.core.Exhibit
-
- vmm3d.core3D.Exhibit3D
-
- vmm3d.surface.Surface
-
- vmm3d.surface.parametric.SurfaceParametric
-
- vmm3d.surface.parametric.WeierstrassMinimalSurface
-
- vmm3d.surface.parametric.ChenGackstatter
-
- All Implemented Interfaces:
- java.util.EventListener, javax.swing.event.ChangeListener, Decorateable, Parameterizable
public class ChenGackstatter extends WeierstrassMinimalSurface
The Chen-Gackstatter surface posed surprising numerical difficulties, which increased with exponent. 1.) One cannot integrate the Weierstrass Data close enough into the three saddles to close gaping holes, starting at exponent = 5. 2.) For putting the pieces together one has to find the intersection of the symmetry planes. Only after experimentation did I find points on these symmetry lines that allowed to compute the intersection with sufficient accuracy. This then worked also in the Lopez-Ros morph. 3.) Finally, the period-closing Lopez-Ros value had to be found. One only has to solve a linear equation with coefficients depending on the minimal surface. For reasons that I could not find this worked only for symmetry parameters 2,3,4,5 and then developed visible inaccuracies. These went away after repeating the determination of the Lopez-Ros parameter three times. This indicates that the linear equation has inaccurately defined coefficients, but I do not see a reason for that. 4.) For esthetic reasons the big holes had to be closed. For the top and bottom symmetry points this worked satisfactorily. The middle symmetry point still has gaps for exponent > 5. H. Karcher
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class vmm3d.surface.parametric.WeierstrassMinimalSurface
WeierstrassMinimalSurface.WMSView
-
-
Field Summary
-
Fields inherited from class vmm3d.surface.parametric.WeierstrassMinimalSurface
afp, I__C, I_C, I1_C, I2_C, I3_C, I4_C, IP__C, IP_C, ONE__C, ONE_C, ZERO_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 ChenGackstatter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description ViewgetDefaultView()Returns a default view of this exhibit, a View of typeSurfaceView.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.Vector3DsurfacePoint(double u, double v)Override surfacePoint to close the hole around the center saddle.-
Methods inherited from class vmm3d.surface.parametric.WeierstrassMinimalSurface
ComplexVectorIntegrator, ComplexVectorOneStepIntegrator, computeHalfPeriod, createHelperArray, getAdditionalAnimationsForView, getNumberOfPieces, helperToMinimal, minimalToHelper, setNumberOfPieces, surfaceNormal
-
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
-
-
-
-
Method Detail
-
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 classWeierstrassMinimalSurface
-
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 classWeierstrassMinimalSurface- 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()
-
surfacePoint
public Vector3D surfacePoint(double u, double v)
Override surfacePoint to close the hole around the center saddle.- Overrides:
surfacePointin classWeierstrassMinimalSurface
-
-
DMelt 3.0 © DataMelt by jWork.ORG