/** * ChaoticFunction defines an interface for the information needed to graph * a chaotic function, without any information about the type of function * it is, or how it's implemented. * * @author Ben Garrison bdg@cc.gatech.edu * @version 1.0 */ public interface ChaoticFunction { /** * Returns an integer that will be interpreted as the index of the * color that should be assigned to this point on the graph. Keep * in mind that color assignment is up to you. * * @param x The x coordinate of the point to calculate. * @param y The y coordinate of the point to calculate. * @return The color index for this point. */ public int getColor(double x, double y); /** * The maximum boundary in the X direction. * * In order to display this Chaotic function correctly, the default bounds * should be used. (other bounds will work, but it may not display any * interesting part of the graph) * @return the maximum boundary in the X direction */ public double getDefaultXMax(); /** * The maximum boundary in the Y direction. * * In order to display this Chaotic function correctly, the default bounds * should be used. (other bounds will work, but it may not display any * interesting part of the graph) * @return the maximum boundary in the Y direction */ public double getDefaultYMax(); /** * The minimum boundary in the X direction. * * In order to display this Chaotic function correctly, the default bounds * should be used. (other bounds will work, but it may not display any * interesting part of the graph) * @return the minimum boundary in the X direction */ public double getDefaultXMin(); /** * The minimum boundary in the Y direction. * * In order to display this Chaotic function correctly, the default bounds * should be used. (other bounds will work, but it may not display any * interesting part of the graph) * @return the minimum boundary in the Y direction */ public double getDefaultYMin(); }