next up previous
Next: Documentation Up: What's In a Previous: Deliverables

Java Applet

The applet will be launched from an HTML web page based in my home directory. The Java applet will consist of one large window. Within that window there will be a control panel, a drawing area, and an algorithm viewing area. The control panel will have four buttons for selecting one of the four algorithms listed above. The drawing area will be a two dimensional cartesian coordinate space with X and Y_axes with the origin at the center. The control panel and algorithm area will function not unlike a source level debugger. Buttons will be provided to control the rendering of the primitive. They are Stop, Run, Jog, Loop and Step.

The Run button executes the algorithm at full speed and draws the primitive in the main drawing area. It is useful when the user is only interested in the final result of the algorithm. The Run button can also be used to finish rendering a primitive that was started with the Jog, Loop or Step button.

The Jog button executes the algorithm slowly - approximately 1 statement per second. Jog provides a sort of animation as the applet steps through the algorithm and renders the primitive one pixel at a time.

The Stop button will halt execution of a running or jogging algorithm.

The Loop button works in conjunction with a breakpoint that will be set at the beginning of an algorithms main loop - typically a 'while' statement. The breakpoint can not be modified by the user. Each press of the Loop button executes one iteration of the algorithm. This feature is intended to allow a user to draw one pixel at a time. It can be thought of as a step function at the pixel level.

Finally, the Step button executes one statement each time it is pressed. It is ideal for reviewing the changes to critical algorithm variables at each line of code.

All of the buttons will work in conjunction with each other. For instance, if the algorithm is currently jogging and the Run button is pressed, execution will complete at full speed. For the slow speed run modes (Jog, Step) each line of code in the algorithm will be highlighted as it is executed. Values of the algorithm variables will also be displayed and updated periodically.

The display area will have a magnification function. As an algorithms proceeds (either automatically or single-step) a magnification area will show an up-close view as individual pixels are turned on. Within the magnification view each pixel will be represented by giant 0.5x0.5cm pixels. The theoretical line (or arc) will be visible within the magnification view. Individual pixels will be turned on in the magnification view whenever a corresponding pixel is turned on in the main view. The magnification view will follow the rendering as appropriate (sliding window). X and Y scales will be visible inside the magnification view at all times.

In the case of the line drawing algorithms, the user will have the opportunity to input the endpoints from the keyboard or use the mouse to select them in the main drawing area. In the case of the circle algorithm, the the user will be allowed to enter the coordinates of the center and length of the radius, or use the mouse to select a center and drag a radius. The anti-aliased line algorithm will have additional parameters to control the appearance of the line.


next up previous
Next: Documentation Up: What's In a Previous: Deliverables

David J Kroth;951;icsg6;
Mon Oct 27 14:46:48 EST 1997