|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object vmm.core.Exhibit vmm.core3D.Exhibit3D vmm.surface.Surface vmm.surface.parametric.SurfaceParametric vmm.surface.parametric.WeierstrassMinimalSurface
public abstract class WeierstrassMinimalSurface
Abstract Weierstrass Minimal Surface
Nested Class Summary | |
---|---|
class |
WeierstrassMinimalSurface.WMSView
The 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 | |
---|---|
RealParamAnimateable |
afp
|
protected double |
AFP
|
protected boolean |
canShowConjugateSurface
Set this variable to true in the constructor of a subclass to add the showConjugagteSurfaceAction to the Action menu for that subclass. |
protected static Complex |
del
|
protected double |
distFrom0
|
protected double |
du
|
protected double |
dv
|
protected boolean |
flag0
|
protected boolean |
flag05
|
protected ComplexVector3D |
halfPeriod
|
protected ComplexVector3D[][] |
helperArray
|
static Complex |
I__C
|
static Complex |
I_C
|
static Complex |
I1_C
|
static Complex |
I2_C
|
static Complex |
I3_C
|
static Complex |
I4_C
|
protected boolean |
iBeginMiddleInHelper
|
protected boolean |
iFirstInHelper
|
protected boolean |
inAssociateMorph
|
static Complex |
IP__C
|
static Complex |
IP_C
|
protected double |
LRPclosed
|
protected int[] |
multipleCopyOptions
Some subclasses of WeirstrassMinimalSurface offer the possibility of showing different numbers of copies of the fundamental piece. |
protected boolean |
needsPeriodClosed
|
protected boolean |
needsValueArray
|
static Complex |
ONE__C
|
static Complex |
ONE_C
|
protected int |
ucount
|
protected int |
vcount
|
protected boolean |
wantsToSeeDomain
|
protected boolean |
wantsToSeeGaussImage
|
static Complex |
ZERO_C
|
Fields inherited from class vmm.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, umax, umin, vmax, vmin |
Fields inherited from class vmm.surface.Surface |
---|
data, uPatchCount, vPatchCount |
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 | |
---|---|
WeierstrassMinimalSurface()
|
Method Summary | |
---|---|
protected ComplexVector3D |
ComplexVectorFunction(Complex z)
The auxiliary Weierstrass Integrand: ComplexVector3D(dh*g, dh/g, 2dh) See helperToMinimal for converting the integral values into surface points. |
ComplexVector3D |
ComplexVectorIntegrator(Complex zInitial,
Complex zFinal,
int numSteps)
|
ComplexVector3D |
ComplexVectorOneStepIntegrator(Complex zInitial,
Complex zFinal)
|
protected Complex |
component3(Complex z)
Integrate g*dh, 1/g*dh and compute first and second component of the Weierstrass integral \int ( 1/g - g, (1/g + g)*I_C, 2) * dh after the integration |
void |
computeHalfPeriod()
|
protected void |
createData()
Overrides createData from SurfaceParametric with the goal of recomputing all constants that go into the Weierstrass Data, and then do the helperArray. |
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). |
protected void |
doClosingJob()
Dummy function. |
protected Complex |
domainGrid(double u,
double v)
Most minimal surfaces need a specially adapted domain grid. |
protected abstract Complex |
gauss(Complex z)
The following two abstract functions are the Weierstrass Data, they need to be specified to define a minimal surface. |
protected Complex |
gaussInverseTimesHPrime(Complex z)
|
protected Complex |
gaussTimesHPrime(Complex z)
|
ActionList |
getAdditionalAnimationsForView(View view)
This method returns a list of ActionItem that will be added to
the Animation menu of the 3dxm applicaiton. |
protected ComplexVector3D |
getCenter()
The next function is used to center the helperArray, mostly overridden |
View |
getDefaultView()
Returns a default view of this exhibit, a View of type SurfaceView . |
int |
getNumberOfPieces()
|
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. |
protected abstract Complex |
hPrime(Complex z)
|
protected Complex |
intersectLines(Complex z1,
Complex z2,
Complex w1,
Complex w2)
Auxiliary function. |
ComplexVector3D |
minimalToHelper(ComplexVector3D mn)
Inverse function to the previous helperToMinimal. |
protected static double |
monotonPow(double u,
int e)
Auxiliary function. |
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 void |
redoConstants()
redoConstants is called in createData above, before any other computations start. |
void |
setNumberOfPieces(int numberOfPieces)
|
Vector3D |
surfaceNormal(double u,
double v)
The surface normal is called often while rendering the surface. |
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. |
Methods inherited from class vmm.surface.parametric.SurfaceParametric |
---|
addExtraXML, deriv_u, deriv_v, gaussMap, getActionsForView, readExtraXML, removeView |
Methods inherited from class vmm.surface.Surface |
---|
computeDrawData3D, doDraw3D, getBuildAnimation, getDefaultOrientation, setDefaultOrientation |
Methods inherited from class vmm.core3D.Exhibit3D |
---|
computeDrawDataHook, doDrawHook, getDefaultTransform, getDefaultViewpoint, getDefaultViewUp, setDefaultViewpoint, setDefaultViewUp |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Complex ZERO_C
public static final Complex ONE_C
public static final Complex ONE__C
public static final Complex IP_C
public static final Complex IP__C
public static final Complex I_C
public static final Complex I__C
public static final Complex I1_C
public static final Complex I2_C
public static final Complex I3_C
public static final Complex I4_C
protected static final Complex del
public RealParamAnimateable afp
protected boolean canShowConjugateSurface
protected int[] multipleCopyOptions
protected int ucount
protected int vcount
protected boolean iFirstInHelper
protected boolean iBeginMiddleInHelper
protected double du
protected double dv
protected double distFrom0
protected double AFP
protected double LRPclosed
protected ComplexVector3D[][] helperArray
protected ComplexVector3D halfPeriod
protected boolean flag0
protected boolean flag05
protected boolean wantsToSeeDomain
protected boolean wantsToSeeGaussImage
protected boolean needsValueArray
protected boolean needsPeriodClosed
protected boolean inAssociateMorph
Constructor Detail |
---|
public WeierstrassMinimalSurface()
Method Detail |
---|
protected void createData()
createData
in class SurfaceParametric
protected Complex domainGrid(double u, double v)
protected abstract Complex gauss(Complex z)
protected abstract Complex hPrime(Complex z)
protected ComplexVector3D getCenter()
protected Complex intersectLines(Complex z1, Complex z2, Complex w1, Complex w2)
protected static double monotonPow(double u, int e)
protected void doClosingJob()
protected void redoConstants()
protected Complex gaussTimesHPrime(Complex z)
protected Complex gaussInverseTimesHPrime(Complex z)
protected Complex component3(Complex z)
public Vector3D surfaceNormal(double u, double v)
surfaceNormal
in class SurfaceParametric
protected ComplexVector3D ComplexVectorFunction(Complex z)
public ComplexVector3D ComplexVectorOneStepIntegrator(Complex zInitial, Complex zFinal)
public ComplexVector3D ComplexVectorIntegrator(Complex zInitial, Complex zFinal, int numSteps)
public Vector3D surfacePoint(double u, double v)
surfacePoint
in class SurfaceParametric
public ComplexVector3D helperToMinimal(ComplexVector3D hp)
public ComplexVector3D minimalToHelper(ComplexVector3D mn)
public void createHelperArray()
public void computeHalfPeriod()
public ActionList getAdditionalAnimationsForView(View view)
Exhibit
ActionItem
that 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
by View.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.
getAdditionalAnimationsForView
in class Exhibit
view
- The view in which the animations will be run.public int getNumberOfPieces()
public void setNumberOfPieces(int numberOfPieces)
public void parameterChanged(Parameter param, java.lang.Object oldValue, java.lang.Object newValue)
Exhibit
forceRedraw
. This method is defined in the <@link Parameterizable} interface.
parameterChanged
in interface Parameterizable
parameterChanged
in class Exhibit
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).Exhibit.forceRedraw()
public View getDefaultView()
Surface
SurfaceView
.
(Note: If a Surface is displayed in a plain View3D, it will always appear as a wireframe.)
getDefaultView
in class Surface
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |