JavaView® v2.12

vgp.tutor.fractal
Class PjFractalImage

java.lang.Object
  |
  +--jv.object.PsObject
        |
        +--jv.project.PjProject
              |
              +--vgp.tutor.fractal.PjFractalImage
All Implemented Interfaces:
java.lang.Cloneable, PsTimeListenerIf, PsUpdateIf, PvPickListenerIf, java.io.Serializable

public class PjFractalImage
extends PjProject

Demo project for working with pixel images. Project displays a Mandelbrot set. Zoom into Mandelbrot set by marking a rectangle in display using mark-mode.

Version:
26.09.99, 1.00 revised (kp)
26.09.99, 1.00 created (kp)
Author:
Konrad Polthier
See Also:
Serialized Form

Fields inherited from class jv.object.PsObject
HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_SELECTED, IS_USED, NUM_TAGS
 
Constructor Summary
PjFractalImage()
           
 
Method Summary
 void computeImage(double xMin, double yMin, double xMax, double yMax)
           
 void drawImage(int[] pix, int width, int height, double xMin, double yMin, double xMax, double yMax)
          This is Mandelbrot iteration f(z)=z*z+c.
 void init()
          Initialize and reset project, stops the running animation if any.
 void markVertices(PvPickEvent pickEvent)
          Mark a set of vertices of a geometry within a given bounding box.
 void start()
          Method is invoked during loading of a project in JavaView.
 boolean update(java.lang.Object event)
          Update the class whenever a child has changed.
 
Methods inherited from class jv.project.PjProject
addDisplay, addGeometry, addGeometry, dispose, dragDisplay, dragInitial, dragVertex, fitDisplays, getAnimation, getDisplay, getDisplays, getGeometry, getGeometry, getNumGeometries, getParameter, getViewer, hasAnimation, hasDisplay, isEnabledAutoFit, pickDisplay, pickInitial, pickVertex, removeDisplay, removeGeometries, removeGeometry, selectDisplay, selectGeometry, setAnimation, setDisplay, setEnabledAutoFit, setParameter, setTime, setViewer, stop, unmarkVertices
 
Methods inherited from class jv.object.PsObject
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, removeInspector, removeUpdateListener, setName, setParent, setTag, toString, updatePanels
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jv.anim.PsTimeListenerIf
getName
 
Methods inherited from interface jv.project.PvPickListenerIf
getName
 
Methods inherited from interface jv.object.PsUpdateIf
getFather, getName, setParent
 

Constructor Detail

PjFractalImage

public PjFractalImage()
Method Detail

init

public void init()
Description copied from class: PjProject
Initialize and reset project, stops the running animation if any. Does not reset any registered display nor geometry. They must be reset individually in each subclass.
Overrides:
init in class PjProject

start

public void start()
Description copied from class: PjProject
Method is invoked during loading of a project in JavaView.

If a project has an animation object, then the animation panel is shown when the project's this start() method is invoked during loading of the project. Use setAnimation(PsAnimation) to register an animation.

If auto fit is enabled then scenery is scaled to fit in each display.

Overrides:
start in class PjProject
Following copied from class: jv.project.PjProject
See Also:
PvViewerIf.start(), #isEnabledAutoFit(boolean)

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 PsObject
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)

markVertices

public void markVertices(PvPickEvent pickEvent)
Mark a set of vertices of a geometry within a given bounding box. Method is called when user marks a rectangular array in display.
Overrides:
markVertices in class PjProject
Parameters:
markBox - contains four coplanar points on the bounding prism, and direction of prism.

computeImage

public void computeImage(double xMin,
                         double yMin,
                         double xMax,
                         double yMax)

drawImage

public void drawImage(int[] pix,
                      int width,
                      int height,
                      double xMin,
                      double yMin,
                      double xMax,
                      double yMax)
This is Mandelbrot iteration f(z)=z*z+c. For each c check whether iteration diverges to infinity.

JavaView® v2.12

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