JavaView® v2.00.008

vgp.discrete.catenoid
Class PgCatenoid

java.lang.Object
  |
  +--jv.object.PsObject
        |
        +--jv.project.PgGeometry
              |
              +--jv.geom.PgPointSet
                    |
                    +--jv.geom.PgElementSet
                          |
                          +--vgp.discrete.catenoid.PgCatenoid
All Implemented Interfaces:
java.lang.Cloneable, PgGeometryIf, PsUpdateIf, java.io.Serializable

public class PgCatenoid
extends PgElementSet

Discrete catenoid is a critical point for the discrete area functional, and its profile curve is given by an explicit formula.

Joint work of Konrad Polthier and Wayne Rossman, with help of Ekki Tjaden.

Version:
03.10.99, 2.20 revised (kp) Interpolating catenoid with root finder.
18.08.99, 2.10 revised (kp) Waist radius implemented.
20.07.99, 2.00 revised (kp) Complete explicit formulas, additional bottomHeight control.
13.05.99, 1.05 revised (kp) Explicit formulas and user interface finished.
02.05.99, 1.00 created (kp)
Author:
Konrad Polthier
See Also:
Serialized Form

Field Summary
protected  boolean m_bAlternate
          Flag to switch between regular, triangulated mesh, and a mesh whose vertical edges are zig-zag.
protected  boolean m_bClosed
          Close interior boundary of catenoid.
protected  boolean m_bFixedHeight
          Fix the distance between both horizontal catenoid rings on top and bottom.
protected  PuDouble m_bottomHeight
          Vertical offset of lower ring for unsymmetric catenoid.
protected  boolean m_bSymmetric
          Ensure that catenoid is symmetric with respect to horizontal plane.
protected  boolean m_bTrueInterpolant
          If true then the catenoid parameters are chosen such that the discrete catenoid interpolates the smooth catenoid.
protected  PuDouble m_delta
          Distance between two successive rings of the catenoid, constant for discrete catenoids.
protected  double m_height
           
protected  PuInteger m_k
          Dihedral symmetry of catenoid, number of meridians.
protected  PuInteger m_n
          Number of rings of catenoid.
protected  PuDouble m_radius
          Radius of Catenoid Waist.
 
Fields inherited from class jv.geom.PgElementSet
m_bConforming, m_bndList, m_bShowBackface, m_bShowBoundaries, m_bShowEdgeColors, m_bShowEdgeLabels, m_bShowEdges, m_bShowElementBackColor, m_bShowElementBackColors, m_bShowElementColors, m_bShowElementLabels, m_bShowElementNormalArrow, m_bShowElementNormals, m_bShowElements, m_bShowElementTexture, m_bShowOutline, m_bShowTaggedBoundaries, m_bShowTaggedEdges, m_bShowTaggedElements, m_dimOfElements, m_edge, m_edgeColor, m_element, m_elementBackColor, m_elementColor, m_elementNormal, m_elementSaved, m_elementTexture, m_globalBndColor, m_globalBndSize, m_globalBndTagColor, m_globalEdgeColor, m_globalEdgeSize, m_globalEdgeTagColor, m_globalElementBackColor, m_globalElementColor, m_globalElementNormalColor, m_globalElementNormalLength, m_globalElementNormalSize, m_globalElementTagColor, m_maxNumElements, m_neighbour, m_numEdges, m_numElements, m_savedNumVertices
 
Fields inherited from class jv.geom.PgPointSet
m_bDefaultLabelEnabled, m_bShowIndices, m_bShowTaggedVertices, m_bShowTransparency, m_bShowVectorArrow, m_bShowVectorColors, m_bShowVectorFields, m_bShowVertexColors, m_bShowVertexLabels, m_bShowVertexNormalArrow, m_bShowVertexNormals, m_bShowVertexTexture, m_bShowVertices, m_dimOfColors, m_dimOfTextures, m_dimOfVectors, m_globalVectorColor, m_globalVectorLength, m_globalVectorSize, m_globalVertexColor, m_globalVertexNormalColor, m_globalVertexNormalLength, m_globalVertexNormalSize, m_globalVertexSize, m_globalVertexTagColor, m_maxNumVertices, m_numVectorFields, m_numVertices, m_texture, m_transparency, m_vectorField, m_vertex, m_vertexColor, m_vertexNormal, m_vertexTexture
 
Fields inherited from class jv.project.PgGeometry
m_ambientProj, m_ambientSpace, m_authorInfo, m_bShowBndBox, m_bShowCenter, m_bShowing, m_bShowTitle, m_center, m_dim, m_dimOfSimplex, m_displayList, m_geometryInfo, m_labelAttribute, m_methodMenu, m_modelMatrix, m_title, m_version, m_versionType
 
Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_SELECTED, IS_USED, m_infoPanel, m_name, m_panelList, m_parent, m_tag, m_updateList, NUM_TAGS
 
Fields inherited from interface jv.project.PgGeometryIf
AMBIENT_H3_HYPERBOLIC, AMBIENT_PROJECTIONS, AMBIENT_R3_EUCLIDEAN, AMBIENT_R4_EUCLIDEAN, AMBIENT_S3_SPHERE, AMBIENT_SPACES, INSPECTOR_CONTROL, INSPECTOR_CONTROL_EXT, INSPECTOR_MATERIAL, INSPECTOR_MATERIAL_EXT, LABEL_BASE, LABEL_CENTER, LABEL_HEAD, LABEL_MIDDLE, LABEL_TAIL, LABEL_TOP, METHOD_EXT, PROJ_KLEIN_BALL, PROJ_PARALLEL, PROJ_POINCARE_BALL, PROJ_STEREOGRAPHIC, PROJ_UPPER_HALFSPACE
 
Constructor Summary
PgCatenoid()
          Construct an empty discrete catenoid which is a critical value of the discrete are functional.
 
Method Summary
protected  void computeSurface()
           
 void computeSurface(int n_profile, int k_waist)
           
 double getDelta()
           
 int getProfileDiscr()
           
 double getRadius()
           
 int getWaistDiscr()
           
 void init()
          Initialize and reset instance variables after call to super.init().
 void optimalInterpolant()
          For a given waist discretization and given height compute the sub-optimal profile discretization such that discrete profile lies close to cosh(z) while keeping a constant height.
 void setDelta(double delta)
           
 void setProfileDiscr(int n)
           
 void setRadius(double radius)
           
 void setWaistDiscr(int k)
           
 void trueInterpolant()
          For a given waist discretization and given height compute the optimal profile discretization such that discrete profile interpolates cosh(z).
 boolean update(java.lang.Object event)
          Update the class whenever a child has changed.
protected  void updateHeight()
           
 
Methods inherited from class jv.geom.PgElementSet
addEdge, addElement, addElement, assureBoundary, assureDimOfElements, assureEdgeColors, assureElementBackColors, assureElementColors, assureElementNormals, assureElementTextures, assureNeighbours, blend, buildPolygon, buildPolygonFromCurve, buildQuadr, buildQuadrFromCurve, buildTriangle, buildTriangleFromCurve, checkNeighbour, clearTagElement, clone, close, computeCylinder, computeDisk, computePlane, computeRotation, computeSnail, computeSphere, computeTorus, copy, copyConnectivity, copyElementSet, fixBoundaries, flipEdges, flipOrientation, getArea, getAreaOfElement, getBoundaries, getDimOfElements, getEdge, getEdge, getEdgeColors, getEdgeLength, getEdgeList, getEdges, getElement, getElementBackColor, getElementBackColors, getElementColor, getElementColors, getElementNormal, getElementNormals, getElements, getElementTextures, getElementVertices, getElementWithVertex, getGlobalBndColor, getGlobalBndSize, getGlobalBndTagColor, getGlobalEdgeColor, getGlobalEdgeSize, getGlobalEdgeTagColor, getGlobalElementBackColor, getGlobalElementColor, getGlobalElementNormalColor, getGlobalElementNormalLength, getGlobalElementNormalSize, getGlobalElementTagColor, getJvx, getL2Matrix, getL2Norm, getMaxNumElements, getNeighbour, getNeighbourLocInd, getNeighbours, getNumBoundaries, getNumBoundaryComponents, getNumBoundaryEdges, getNumBoundaryVertices, getNumEdges, getNumElements, getOppVertexInd, getOppVertexLocInd, getSavedElements, getSavedNumVertices, getVertexAngle, getVolume, getVolumeOfElement, hasBoundary, hasEdgeColors, hasEdges, hasElementColors, hasElementNormals, hasElementTextures, hasTagElement, intersectionWithLine, isConforming, isShowingBackface, isShowingBoundaries, isShowingEdgeColors, isShowingEdgeLabels, isShowingEdges, isShowingElementBackColor, isShowingElementBackColors, isShowingElementColors, isShowingElementLabels, isShowingElementNormalArrow, isShowingElementNormals, isShowingElements, isShowingElementTextures, isShowingOutline, isShowingTaggedBoundaries, isShowingTaggedEdges, isShowingTaggedElements, makeAlternatingQuadrConn, makeCylinderConn, makeElementColorsFromXYZ, makeElementColorsFromZ, makeElementColorsFromZHue, makeElementNormals, makeNeighbour, makePatchConn, makeQuadrBnd, makeQuadrConn, makeQuadrElementTexture, makeQuadrVertexTexture, makeTriangleBnd, makeTriangleConn, makeVertexNormals, markBoundary, merge, paint, printEdgeList, refineGlobalIntoFour, reflect, removeBoundaries, removeElement, removeMarkedElements, removeMarkedVertices, removeUnusedVertices, setBoundary, setConforming, setDimOfColors, setDimOfElement, setDimOfElements, setDimOfVectors, setEdge, setEdgeColors, setEdges, setElement, setElement, setElement, setElement, setElementBackColor, setElementBackColors, setElementColor, setElementColors, setElementNormal, setElementNormals, setElements, setElementTexture, setElementTextures, setElementVertices, setGlobalBndColor, setGlobalBndSize, setGlobalBndTagColor, setGlobalEdgeColor, setGlobalEdgeSize, setGlobalEdgeTagColor, setGlobalElementBackColor, setGlobalElementColor, setGlobalElementNormalColor, setGlobalElementNormalLength, setGlobalElementNormalSize, setGlobalElementTagColor, setJvx, setMaxNumElements, setNeighbours, setNumEdges, setNumElements, setSavedElements, setSavedNumVertices, setTagElement, showBackface, showBoundaries, showEdgeColors, showEdgeLabels, showEdges, showElementBackColor, showElementBackColors, showElementColors, showElementLabels, showElementNormalArrow, showElementNormals, showElements, showElementTexture, showOutline, showTaggedBoundaries, showTaggedEdges, showTaggedElements, toString, triangulate
 
Methods inherited from class jv.geom.PgPointSet
addVectorField, addVertex, assureVertexColors, assureVertexNormals, assureVertexTextures, clearTagVertex, getBounds, getCenterOfBndBox, getCenterOfGravity, getDimOfColors, getDimOfTextures, getDimOfVectors, getGlobalVectorColor, getGlobalVectorLength, getGlobalVectorSize, getGlobalVertexColor, getGlobalVertexNormalColor, getGlobalVertexNormalLength, getGlobalVertexNormalSize, getGlobalVertexSize, getGlobalVertexTagColor, getIndexOfVectorField, getMaxNumVertices, getNumVectorFields, getNumVertices, getTexture, getTextureImage, getTextureImageName, getVectorField, getVectorField, getVectorField, getVertex, getVertexColor, getVertexColors, getVertexNormal, getVertexNormals, getVertexTextures, getVertices, hasTagVertex, hasVertex, hasVertex, hasVertexColors, hasVertexNormals, hasVertexTextures, isDefaultLabelEnabled, isShowingIndices, isShowingTaggedVertices, isShowingVectorArrow, isShowingVectorColors, isShowingVectorField, isShowingVertexColors, isShowingVertexLabels, isShowingVertexNormalArrow, isShowingVertexNormals, isShowingVertexTexture, isShowingVertices, makeColorFromVectorLength, makeVertexColorsFromXYZ, makeVertexColorsFromZ, makeVertexColorsFromZHue, makeVertexTextureFromBndBox, projectToSphere, removeAllVectorFields, removeVectorField, removeVertex, scale, scale, setCenterOfBndBox, setDefaultLabelEnabled, setDimOfTextures, setGlobalVectorColor, setGlobalVectorLength, setGlobalVectorSize, setGlobalVertexColor, setGlobalVertexNormalColor, setGlobalVertexNormalLength, setGlobalVertexNormalSize, setGlobalVertexSize, setGlobalVertexTagColor, setMaxNumVertices, setNumVertices, setTagVertex, setTexture, setTextureImage, setTextureImageName, setTransparency, setVertex, setVertex, setVertex, setVertex, setVertexColor, setVertexColors, setVertexNormal, setVertexNormals, setVertexTextures, setVertices, showIndices, showTaggedVertices, showVectorArrow, showVectorColors, showVectorField, showVertexColors, showVertexLabels, showVertexNormalArrow, showVertexNormals, showVertexTexture, showVertices, translate
 
Methods inherited from class jv.project.PgGeometry
addDisplay, addPolygon, clearTagPolygon, fillMethodMenu, getAmbientProjection, getAmbientSpace, getAuthorInfo, getAuthors, getCenter, getCenterOfElement, getControlPanel, getDiameter, getDimOfSimplex, getDimOfVertices, getDisplays, getGeometryInfo, getLabelAttribute, getMaterialPanel, getModelMatrix, getPolygon, getTitle, getVersion, getVersionType, hasDisplay, hasModelMatrix, hasTagPolygon, isConfigurable, isShowingBndBox, isShowingCenter, isShowingTitle, isVisible, removeDisplay, removePolygon, setAmbientProjection, setAmbientSpace, setAuthorInfo, setAuthors, setCenter, setDimOfSimplex, setGeometryInfo, setLabelAttribute, setLabelAttribute, setModelMatrix, setPolygon, setTagPolygon, setTitle, setVersion, setVersionType, setVisible, showBndBox, showCenter, showTitle
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, clearTag, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, updatePanels
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jv.project.PgGeometryIf
getInfoPanel, getName, setName
 
Methods inherited from interface jv.object.PsUpdateIf
getFather, setParent
 

Field Detail

m_bAlternate

protected boolean m_bAlternate
Flag to switch between regular, triangulated mesh, and a mesh whose vertical edges are zig-zag.

m_bTrueInterpolant

protected boolean m_bTrueInterpolant
If true then the catenoid parameters are chosen such that the discrete catenoid interpolates the smooth catenoid.

m_bFixedHeight

protected boolean m_bFixedHeight
Fix the distance between both horizontal catenoid rings on top and bottom. If height is fixed and the profile discretization modified then the distance between two successive rings measured by m_delta is adjusted. If flag is false then incrementing the profile discretization leads to a taller catenoid.

m_bSymmetric

protected boolean m_bSymmetric
Ensure that catenoid is symmetric with respect to horizontal plane. If true then the variable height of the bottom ring is automatically adjusted, and its slider is disabled.

m_height

protected double m_height

m_bClosed

protected boolean m_bClosed
Close interior boundary of catenoid.

m_delta

protected PuDouble m_delta
Distance between two successive rings of the catenoid, constant for discrete catenoids.

m_bottomHeight

protected PuDouble m_bottomHeight
Vertical offset of lower ring for unsymmetric catenoid.

m_radius

protected PuDouble m_radius
Radius of Catenoid Waist. For discrete catenoids the radius is defined as the zero value of the corresponding cosh curve.

m_k

protected PuInteger m_k
Dihedral symmetry of catenoid, number of meridians.

m_n

protected PuInteger m_n
Number of rings of catenoid.
Constructor Detail

PgCatenoid

public PgCatenoid()
Construct an empty discrete catenoid which is a critical value of the discrete are functional.
Method Detail

init

public void init()
Description copied from class: PgElementSet
Initialize and reset instance variables after call to super.init().
Overrides:
init in class PgElementSet

getDelta

public double getDelta()

setDelta

public void setDelta(double delta)

getRadius

public double getRadius()

setRadius

public void setRadius(double radius)

getWaistDiscr

public int getWaistDiscr()

setWaistDiscr

public void setWaistDiscr(int k)

getProfileDiscr

public int getProfileDiscr()

setProfileDiscr

public void setProfileDiscr(int n)

updateHeight

protected void updateHeight()

optimalInterpolant

public void optimalInterpolant()
For a given waist discretization and given height compute the sub-optimal profile discretization such that discrete profile lies close to cosh(z) while keeping a constant height.

It is possible to choose height-delta such that discrete curve interpolates exact cosh(z). But since we are interested in having a constant height when experimenting with eigenfunctions and letting discretization go to zero, we modify the value preDelta, which leads to cosh(z), to delta such that constant height is ensured.

See Also:
trueInterpolant()

trueInterpolant

public void trueInterpolant()
For a given waist discretization and given height compute the optimal profile discretization such that discrete profile interpolates cosh(z).
See Also:
optimalInterpolant()

update

public boolean update(java.lang.Object event)
Update the class whenever a child has changed. Method is usually invoked from the children.
Overrides:
update in class PgElementSet
Following copied from interface: jv.object.PsUpdateIf
Parameters:
event - carries a lot of information
Returns:
true if event has been handled, otherwise false
See Also:
PsObject, PsUpdateIf.getFather(), PsUpdateIf.setParent(PsUpdateIf)

computeSurface

public void computeSurface(int n_profile,
                           int k_waist)

computeSurface

protected void computeSurface()

JavaView® v2.00.008

The software JavaView® is copyright protected. All Rights Reserved.