Mplot++ in practice

When Mplot++ is started it displays a window from which you can
have access to all features of the program. In this window you can
see two different groups of check-buttons. By selecting one button
into the first group the user tells to the program if he wants to
plot a bidimensional curve or a tridimensional curve or a surface.
The check-buttons in the second group permit the user chooses
between two different ways to measure the angles; in fact, the
measure's unit of the angles must be switched between radians
and degrees. Of course, this is important only if you want to plot
any object whose parametric equations contain a direct ( like sin(),
cos() or tan() ) or inverse ( like asin(), acos() or atan() )
trigonometric function. Once selected, the measure's unit for the
angles remains the same till the user does not change it; its
default value is "Radians".
In the Start window of Mplot++ there are four big buttons.
The "Quit" button permits you to leave the program.
The "Help" button must be used to recall the online help ( I think
you have just realized! :) ).
The "Load" button must be pressed if you want to visualize on
the screen a graphic previous saved in the form of ASCII data file.
If you continue to read you will learn how you can create data files containing
informations about a graphic. If you want to know how it is possible
to visualize a graphic by reloading this infos go to the corresponding
section of this online help: there you will find whatever you need.
If you `click' on the "Ok" button another window will be displayed;
the exact look of the window depends on the chooses you have previous
made. If you have chosen to plot the graphic of a bidimensional
curve then, when the new window will appear, you will see the
following widgets:
1) In the upper-right part of the window 2 single lines of text;
   here you will have to insert the coordinates x0 and y0 of the
   center of the 'framed region';
2) Next (to the left) there are two other single lines and you
   will use them to give to the program the dimensions (width and
   height) of the framed region;
3) In the lower-right part of the window there are the lines
   where you will have to type the upper and the lower limit
   of the interval of variation of the parameter for the curves
   to visualize;
4) In the lower-left part of the window there is a frame with
   one line; this line is provided to allow you to tipe into
   the number of the interpolation's nodes that you want to put
   on the interval of variation of the parameter.

At the center of the window you will see:
a) Two entry, labeled with 'x(?)' and 'y(?)' respectively, where
   you will type the parametric equations for the curves (up to 10)
   you want to be displayed. Remember ! There must be a couple of
   parametric equations for each curve (x(t),y(t)) to visualize,
   and the equation for x(t) must be typed into the upper entry,
   the equation for y(t) into the lower entry. Each equation must
   be writed on a single line, you may not split an equation
   between 2 or more lines. Moreover, the parametric equations
   of different curves must appear on different lines.
   So, if you want to plot simultaneously the curves

   x(t) = t
   y(y) = t^3 (== t*t*t)

   and

   x(t) = cos(t)
   y(t) = sin(t)

   you will have to type

   ?        [ <-- first  line of the entry ]
   cos(?)   [ <-- second line of the entry ]

   inside the 'x(?)' entry and

   ?^3      [ <-- first  line ]
   sin(?)   [ <-- second line ]

   inside the 'y(?)' entry.
   The first, second, third, ... line of the 'x(?)' entry specifies the
   expression of x(t) for the first, second, third, ... curve to
   visualize. In a similar way, the first, second, third, ... line of
   the 'y(?)' entry specifies the expression of y(t) for the first,
   second, third, ... curve to visualize.
   Remember ! Mplot++ uses the symbol '?' to represent the parameter
   't' into the parametric equations.
   In any case, if you have made some mistake in compiling the `form'
   Mplot++ will send to you an error message where it will give you
   a short description of the error you have made. This will happen
   when you will press the "Display" button or the "Write" button.
   Be careful !  YOU MAY USE THE ARROWS-KEYS OF THE KEYBOARD TO
   MOVE THE CURSOR (== VIRTUAL PENCIL) INSIDE THE FORM. IF YOU WANT
   TO START A NEW LINE INSIDE THE 'x(?)' AND 'y(?)' ENTRIES YOU
   NEED SIMPLY TO PRESS 'Return' ON THE KEYBOARD.
b) Next to the 'x(?)' and 'y(?)' entries you can see four buttons and
   a radio button. The buttons have the labels "Pref", "Write", "Display"
   and "Close". TROUGH THE BUTTON "Pref" the user can have access to the
   Preferences window; inside this window he may set the plot-style
   for the curves he is going to visualize.
   You must know that each curve is displayed by Mplot++ in a
   specific color, so you can distinguish between different curves;
   however, you may decide to use also different plot-style to avoid
   confusion. For each curve to visualize you may choose between 4
   different styles:
   LINES    - This is the default style; the curve is drawn as a continuous
	      line (where the curve has not natural discontinuities);
   SQUARES  - Rather than drawing a continuous line, Mplot++ puts
	      a square in every point of the plane corresponding to
	      an interpolating node along the interval of variation
	      of the parameter '?';
   DIAMONDS - Like SQUARES, but the squares are replaced by diamonds;
   CROSSES  - Like SQUARES, but the squares are replaced by crosses.
   The colors used by Mplot++ to distinguish the different curves
   are:
   BLACK           - for the  1st curve drawn
   DARK CYAN       -  //  //  2nd   //    //
   DARK MAGENTA    -  //  //  3rd   //    //
   DARK SEA GREEN  -  //  //  4th   //    //
   DARK RED	   -  //  //  5th   //    //
   GREEN           -  //  //  6th   //    //
   BLUE            -  //  //  7th   //    //
   TURQUOISE       -  //  //  8th   //    //
   VIOLET          -  //  //  9th   //    //
   ORANGE	   -  //  // 10th   //    //	.
   When you have chosen the plot-style for each curve you can close
   the Preferences window by pressing the "Ok" button. Sorry, I have
   not supply a "Cancel" button; so, your choices will be always
   registered.
   IF THE USER PRESSES the button "Display" will appear the Visualization
   window where he can see the curves he wanted to plot. This window
   provides many widgets that I shall illustrate below.
   IF THE USER PRESSES the button "Write" Mplot++ will not display
   any curve, but it will download on a file the results of the calculations
   it would do to draw the objects. The user can choose the path of the
   file where this data will be downloaded and he will be advised if a
   file existing yet could be overwritten.
   The data files are simple ASCII files, i.e. text files. You can
   inspect and modify them with any editor.
   If you want to have more informations about the format of the data
   files used by Mplot++ and about loading and writing such files,
   go to read the related part of the help, please !
   I do not want to repeat my explanations here !!
   IF THE USER PRESSES the "Close" button he will return to the Start
   window. 

Next to the "Write" button, you can see a radio-button with the label
"Add info to the plot". If you turn on this button then, when the
Visualization window will appear, Mplot++ will have added to the
graphic some informations about it: the coordinates of the center
of the 'framed region', its dimensions and the gridstep, if you will
turn on the grid. This infomations will be updated straightaway when
you will modify them. Moreover, they will be printed too when you
will print the graphic.
Before to go on it is better to tell that the Form window will
be a little different than I have described if the user chooses to
visualize a tridimensional curve or a surface instead of bidimensional
curves. First, the "Pref" button and the related Preferences window
will be not available, because at the moment Mplot++ permits
to visualize only one 3D-curve or surface at time.  
Moreover, the user will find 3 different entries to specify the
coordinates of the center of the `framed region' and only one entry
for the dimension; that is why the center of the `framed region' in
tridimensional graphic has three coordinates, x0, y0 and z0, while
the width of this region is determined only by a radius (the framed
region is a sphere instead of a rectangle). 
Also the entries used to specify the parametric equations of the object
to visualize will be 3 and not 2: the number of the parametric equations
for a 3D-curve or surface is 3 and not 2, i.e. the user must supply
the equation for z() in addition to those for x() and y().
At end, if the user chooses to visualize a surface he will have to
supply the informations about the interval of variation of the parameter
'!' and about the number of the interpolating nodes to put along
this interval; in fact, into the parametric equations of a surface
we find 2 parameters and not 1. This parameters are known by Mahplot++
as '?' and '!'. Of course, Mplot++ will send an error message if
there will be something wrong in the informations given by the user. 

Finally I can pass to the description of the Visualization window !

The Visualization window has many components. The most important between
them is the Canvas, where are displayed the objects that the user has
chosen to plot. The other components stay at the left of the Canvas.
Here is a complete list of the supplied widgets:
1) 3 adjusters, having the labels "long", "lat" and "visual_ang"
   respectively; they can be used to change the point of view of
   the observer used by the axonometric projection and they work only
   for 3D-graphics ( because the axonometric projection is not used for
   the representation of bidimensional objects ). These adjusters
   may be used to control the values of the observer's longitude, of its
   latitude and the value of the visualization angle. The first and the last
   parameter may go from 0 to 360 degrees, the second can go from -90
   to 90 degrees.
   If you want to know what longitude, latitude and visualization angle
   exactly mean return to the introductive part of this guide,
   please ! I do not want to repeat here what I have already explained
   there !
   Be careful !  Every adjuster has 2 buttons to the left and 2 buttons
   to the right. The buttons to the left are used to decrease the value
   displayed at the center, the buttons to the right are used to increase
   it. The user can perform an increase/decrease by 1 or 10 units.
2) Below the 3 adjusters are placed 8 buttons labeled with arrows; trough
   them the user can change the coordinates of (i.e. move) the point of the
   plane/space that is put in the center of the Canvas ( this point is
   marked with a little red cross ). The buttons with the left and the
   right arrow must be used, respectively, to decrease and increase the
   value of the x-coordinate by a single unit (1); the buttons with the
   up and the down arrow act in a simil way but respect to the y-coordinate
   in bidimensional graphic and respect to the z-coordinate in tridimensional
   graphic. At end, the buttons with the right-up arrow and the left-down
   arrow must be used, in tridimensional graphic, to increase and decrease,
   always by a single unit (1), the y-coordinate of the central point.
   These 2 last buttons are active only in 3D graphic, i.e. they do not
   work if the user has chosen to plot a bidimensional object.
3) Below the 3 adjusters you can see also 2 radio buttons, having the labels
   "axes" and "grid"; they are used to turn on/off the draw of the cartesian
   axes and of the grid respectively. When the grid is turned on, a `Value
   Input', with the label "grid step", becomes active; after, the user
   may change the step of the grid by dragging the mouse across this widget
   ( to drag the mouse = to move the mouse holding down one of its button ).
   If the user drags the mouse to the left then the value of the grid step
   decreases while it increases if the user drags the mouse to the right.
   Be careful !  If the mouse button that the user holds down while he drags
   the mouse is the left, then the step of the increase/decrease is 0.001,
   if the pressed button is the central button this step is equal to 0.01,
   if the pressed button is the right button this step is equal to 0.1 .
   This behavior is shared by all the widgets of the Visualization window
   that I will call `Value Input'. Warning: in no-one case the user may
   decrease the grid step under its original value ( i.e. the value
   of the grid step when the Visualization window appears on the screen ).
4) At the center of the left part of the Visualization window you can see
   2 buttons having the labels "Zoom in" and "Zoom out". The aim of these
   buttons is clear: trough them the user can zoom in and zoom out the
   region of the plane/space framed inside the Canvas around its central
   point ( the red cross ).
5) Below the buttons "Zoom in" and "Zoom out" you can see a frame
   with 3 Value Input inside. They have respectively the labels "x0",
   "y0" and "z0" and must be used to perform little or very precise
   adjustments of the values of the coordinates of the central point
   of the framed region. I have explained before the behavior of a
   Value Input ( at the point (3) ); so look there please !
6) To control the fog effect ( What does it mean? See the introductive
   part of the help, please ) there is a roller, like those
   of the radio ( How do you do when your neighbours scream because
   the volume of your radio is too high ? ). Of course, this roller
   works only in 3D graphic, because in bidimensional graphic there
   is not the fog effect.
7) In the lower-left corner of the Visualization window there are the buttons
   "Export" and "Close". Trough the "Close" button you can quit the
   Visualization window and return to the Form window. The button "Export"
   must be used to export ( or, if you prefer, to save) the graphic
   currently visualized inside the Canvas in the form of a Postscript
   document. The graphic will be exported just as the user sees it on the
   screen when he presses the "Export" button.

The description of the Visualization window is now finished.
If you want to have more informations about the exportation of graphics
as Postscript documents read the 'printing section' of this online help.
