MVT API

mvt.graphics
Class Plot3DPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--mvt.graphics.GraphicsComponent
                                |
                                +--mvt.graphics.PlotPanel
                                      |
                                      +--mvt.graphics.Plot3DPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class Plot3DPanel
extends PlotPanel

The Plot3DPanel class provides a generic function plotter for two dimensional functions.

Since:
JDK1.2
Version:
1.0
Author:
Darin Gillis
, Gabriel Perry , for the Mathematical Visualization Project for the Department of Applied Mathematics, University of Colorado at Boulder
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static int DEFAULT
          fields for use with the resetScreenBasis() func
static int MAX_HEIGHT
           
static double speedsnap
          minimum drag speed that will rotate the figure.
static int X_Y_PLANE
           
static int X_Z_PLANE
           
static int Y_Z_PLANE
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Plot3DPanel()
          Constructor for the Plot3DPanel class.
Plot3DPanel(double xmin, double xmax, double ymin, double ymax)
          Constructor for the Plot3DPanel class.
 
Method Summary
 void adjustZoom(double factor)
          Adjust the zoom level by a value (presumably near 1) note: negative and zero zoom factors are ignored.
 Point3D convertPoint(Point3D p)
          Converts a 3-dimensional cartesian point into a 2-dimensional point on the screen (along with a number that represents the depth of the point), using the current screen basis.
 void defaultX()
          The defaultX() method sets the xmin and xmax fields of the Plot3DPanel object to be the minimum and maximum values contained
 void defaultY()
          The method defaultY sets the default values in the y direction based on the locations of the graphics objects that exist in the graphics list.
 void defaultZ()
          Sets the zmin and zmax fields
 java.awt.Point getCenter()
          Returns the user-defined center of the panel (if set) otherwise the default center of the panel is returned
 java.lang.String getDepVariableLabel()
          get label of the dependent variable axis
 FloatingAxes getFloatingAxes()
           
 java.lang.String getIndVariable1Label()
          get label of the independent variable axis
 java.lang.String getIndVariable2Label()
          get label of the second independent variable axis
 int getMesh()
          The method getMesh returns the mesh granularity for the surface of a function.
protected  void paintGraphics(java.awt.Graphics g)
          The paintGraphics method paints the details specific to a Plot3DPanel: its boundary axes and any other Graphics3D Objects.
 void resetScreenBasis(int orientation)
          Sets the screen orientation, possible orientations are: X_Y_PLANE, X_Z_PLANE, Y_Z_PLANE, DEFAULT
 void rotate(double yangle, double xangle, double zangle)
          Rotates component about its x basis vector or its y basis vector.
 void setAxisLabels(java.lang.String ind1, java.lang.String ind2, java.lang.String dep)
          set labels for the plotted axes
 void setCenter(java.awt.Point p)
          Call this to translate the graph to another part of the screen.
 void setMesh(int value)
          The method setMesh sets the mesh granularity for the surface of a function.
 void setPlotBounds(double xmin, double xmax, double ymin, double ymax, double zmin, double zmax)
          The method setPlotBounds sets the minimum and maximum values for the x, y, and z directions.
 
Methods inherited from class mvt.graphics.PlotPanel
addGraphicsObject, clearGraphicsList, getAxesVisible, getGraphicsObject, getNumGraphicsObjects, paintComponent, setAxesVisible
 
Methods inherited from class mvt.graphics.GraphicsComponent
getSubComponent, getTitle, getXMax, getXMin, getYMax, getYMin, getZMax, getZMin, setSubComponent, setTitle, setXMax, setXMin, setYMax, setYMin, setZMax, setZMin
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

speedsnap

public static final double speedsnap
minimum drag speed that will rotate the figure.

See Also:
Constant Field Values

DEFAULT

public static final int DEFAULT
fields for use with the resetScreenBasis() func

See Also:
Constant Field Values

X_Y_PLANE

public static final int X_Y_PLANE
See Also:
Constant Field Values

X_Z_PLANE

public static final int X_Z_PLANE
See Also:
Constant Field Values

Y_Z_PLANE

public static final int Y_Z_PLANE
See Also:
Constant Field Values

MAX_HEIGHT

public static final int MAX_HEIGHT
See Also:
Constant Field Values
Constructor Detail

Plot3DPanel

public Plot3DPanel(double xmin,
                   double xmax,
                   double ymin,
                   double ymax)
Constructor for the Plot3DPanel class. The minimum and maximum values for z values are defaulted to -1.0 and 1.0 respectively.

Parameters:
xmin - a double representing the minimum value in the x direction.
xmax - a double representing the maximum value in the x direction.
ymin - a double representing the minimum value in the y direction.
ymax - a double representing the maximum value in the y direction.

Plot3DPanel

public Plot3DPanel()
Constructor for the Plot3DPanel class. The default value for both the minimum and maximum values in both the x and y direction are set to -1.0 and 1.0.

Method Detail

resetScreenBasis

public void resetScreenBasis(int orientation)
Sets the screen orientation, possible orientations are: X_Y_PLANE, X_Z_PLANE, Y_Z_PLANE, DEFAULT


getFloatingAxes

public FloatingAxes getFloatingAxes()

paintGraphics

protected void paintGraphics(java.awt.Graphics g)
The paintGraphics method paints the details specific to a Plot3DPanel: its boundary axes and any other Graphics3D Objects.

Overrides:
paintGraphics in class PlotPanel

setPlotBounds

public void setPlotBounds(double xmin,
                          double xmax,
                          double ymin,
                          double ymax,
                          double zmin,
                          double zmax)
The method setPlotBounds sets the minimum and maximum values for the x, y, and z directions.

Parameters:
xmin - a double value
xmax - a double value
ymin - a double value
ymax - a double value
zmin - a double value
zmax - a double value

setMesh

public void setMesh(int value)
The method setMesh sets the mesh granularity for the surface of a function.

Parameters:
value - an int value

getMesh

public int getMesh()
The method getMesh returns the mesh granularity for the surface of a function.


adjustZoom

public void adjustZoom(double factor)
Adjust the zoom level by a value (presumably near 1) note: negative and zero zoom factors are ignored.


defaultX

public void defaultX()
The defaultX() method sets the xmin and xmax fields of the Plot3DPanel object to be the minimum and maximum values contained


defaultY

public void defaultY()
The method defaultY sets the default values in the y direction based on the locations of the graphics objects that exist in the graphics list.


defaultZ

public void defaultZ()
Sets the zmin and zmax fields


setAxisLabels

public void setAxisLabels(java.lang.String ind1,
                          java.lang.String ind2,
                          java.lang.String dep)
set labels for the plotted axes

Parameters:
ind1 - a String value representing an independent variable.
ind2 - a String value representing another independent variable.
dep - a String value representing the depedendent variable.

getDepVariableLabel

public java.lang.String getDepVariableLabel()
get label of the dependent variable axis

Returns:
a String value

getIndVariable1Label

public java.lang.String getIndVariable1Label()
get label of the independent variable axis

Returns:
a String value

getIndVariable2Label

public java.lang.String getIndVariable2Label()
get label of the second independent variable axis

Returns:
a String value

convertPoint

public Point3D convertPoint(Point3D p)
Converts a 3-dimensional cartesian point into a 2-dimensional point on the screen (along with a number that represents the depth of the point), using the current screen basis. The point that is returned is 3-dimensional, with the x & y components of the Point3D representing the screen coordinates; and the z component representing the depth of the point in the screen.

Returns:
Point3D of the form (x, y, depth of point in screen)
See Also:
mathgraphics.Point3D

getCenter

public java.awt.Point getCenter()
Returns the user-defined center of the panel (if set) otherwise the default center of the panel is returned


setCenter

public void setCenter(java.awt.Point p)
Call this to translate the graph to another part of the screen. Giving a null center resets the graph to the center of the panel and resets the manual zoom factor.


rotate

public void rotate(double yangle,
                   double xangle,
                   double zangle)
Rotates component about its x basis vector or its y basis vector.


MVT API

mvt.icons