Guess Help

This is a special 2-dim graphing window that displays random graphs and challenges you to identify them. Most menus are just reduced versions of the corresponding 2-dim menus. In particular, the File menu does not permit saving or retrieving examples, but all the other options are there.

File Menu

Equation Menu

View Menu

Buttons Menu

Miscellaneous Menu

Function Library


File Menu

Before you click Print, you might want to use the Format dialog box to position the printed image on the page. The offsets are from the left and top edges, respectively, and are measured in centimeters. The width of the image is also specified in centimeters. The height of the image is determined by the width (and the shape of the window). Check “frame” if you want a single-line box drawn around the picture. Check “color” only if you are sending the file to a color printer; otherwise the printer may try to dither the colors on the screen (text, curves, etc), and this usually looks splotchy.

Click Select printer to change printers while the program is running. Notice that you can print in “landscape” format.

Click Copy to Clipboard if you want to paste the current drawing into another Windows application (but see the EPS item below).

Because printer resolution is so much higher than screen resolution, Winplot curves and surfaces that have been pasted via the clipboard into other Windows applications may print with a jagged appearance. One way of increasing the printed quality (at the expense of a larger file size) is to open the Misc|Settings dialog box and check “High resolution” before copying. Check the item “With background” if you want to include the background color.

The drawing can also be copied as a Bitmap. Pasting such an image could increase the size of the receiving document significantly.

For compatibility with destination documents, click Image size to specify the dimensions of the displayed drawing. The proposed units are centimeters, but appending an @ to either value (as in 560@) requests that both values be interpreted as pixel counts. When printing or copying the screen, proportions are respected, so there is no harm done in printing a large window to a small image. The main difficulty is text, which is defined by its point size. This is not scaled by the printing process, so it can look disproportionately large or small, unless you match the window size to the printed size. Similar remarks apply to pasting images into documents using the clipboard.

The Export graphics submenu presents five standard external file formats, which enable the current drawing to be inserted into another document. The first three produce plain (human readable) text, which can be inspected and edited with any text editor.

Encapsulated PostScript files (EPS) are platform-independent. This is probably the best way to insert a Winplot diagram into a document.

PiCTeX files are for inclusion in TeX and LaTeX documents. You are asked for a filename, then the width of the image and the “box number”. To view such a figure, use your TeX compiler to paste the file into a document.

SVG files are for browser display. The acronym SVG stands for “scalable vector graphics”, which is an XML graphics file format recommended by The World Wide Web Consortium. Click here to download the Adobe SVG Viewer.

The Enhanced metafile format (EMF) is the clipboard format used by the Copy command.


Equation Menu

Click New (or press F2) to see a new example.

Click Answer (or press F4) to see its equation.

Click Guess (or press F5) to try to match your own equation to the curve. If it is in error, the graph of your equation is drawn.

Click Select (or press F6) for a dialog box that allows you to control which types of example appear. The polynomial and rational examples (first and second checkboxes) have their zeros and vertical asymptotes at integral x-values, and the maximum number of factors (numerator and denominator combined) is eight. The special quadratic examples (third checkbox) have integral coordinates for the vertex and for the y-intercept. In general, the missing parameters a, b, c, d, and n are small whole numbers, which can be deduced from the graph.

Click Select All to enable all possible examples.

Click Reset to restore the default example (quadratic, with lattice-point vertex).


Real Function Library

The function interpreter built into non-complex windows has been taught to recognize most elementary functions, such as

  ln, log, exp;
  sin, cos, tan, csc, sec, cot;
  arcsin, arccos, arctan, arccsc, arcsec, arccot;
  sinh, cosh, tanh, csch, sech, coth;
  argsinh, argcosh, argtanh, argcsch, argsech, argcoth;
  floor, ceil, int [ int(-2.3) = -2.0 ];
  sqr = sqrt [ = square root ]; 
  ! [factorial];
  abs(x) = |x|;
  pi;

as well as

  root(n,x) = nth root of x;
  power(n,x) = nth power of x;
  iter(n,f(x)) = n-fold iteration of f(x);
  abs(x,y) = sqrt(x*x+y*y);
  abs(x,y,z) = sqrt(x*x+y*y+z*z);
  arg(x,y) = polar angle t, for which -pi < t <= pi,
             x = abs(x,y)cos(t), and y = abs(x,y)sin(t);
  max(a,b,..) and min(a,b,..);
  mod(x,y) = x - |y|*floor(x/|y|);
  sgn(x) = x/abs(x);
  frac(x) = x-int(x);
  hvs(x) = the Heaviside function (1+sgn(x))/2;
  erf(x) = the standard error function;
  binom(n,r) = n!/r!/(n-r)!;
  sum(f(n,x),n,a,b) = sum of f(n,x) for n=a to n=b;
  prod(f(n,x),n,a,b) = product of f(n,x) for n=a to n=b;
  rnd(x) = random value between -x and x;
  log(b,x) = ln(x)/ln(b);
  gauss(x) = exp(-0.5x*x)/sqrt(2*pi);
  gamma(x);
  psi(n,x) = polygamma function of order n;
  lamb(n,x) = nth branch of the Lambert W function;
  hail(x) = the hailstone function {x/2 if x is even, 3x+1 otherwise}.

Be aware that x^n is evaluated using logarithms, as exp(n*ln(x)), which requires that x be positive. The parser does look for integer constants in the exponent when the definition is edited, but there is no checking during graphing to see whether a variable exponent is (close to) an integer. It is therefore necessary to assume that the base is positive in an expression like x^n. Using power(n, x) circumvents this convention, for n is always evaluated as an integer (rounding if necessary).


The library also has constructors for piecewise (spliced) functions, namely

  joina, 
  joinb, 
  joinc, 
   ..., 
  joinz. 

For example, the value of

  joinx(f(x)|c,g(x)|d,...,h(x))

is

  f(x) if x <= c,
  g(x) if c < x <= d,
   ..., 
  h(x) otherwise.

For example, try graphing

  y = joinx(x+1|0,1-xx|2,-1). 

In a similar fashion, for constructions that depend on the parameter m, the value of

  joinm(f(m)|c,g(m)|d,...,h(m))

is

  f(m) if m <= c,
  g(m) if c < m <= d,
  ...,
  h(m) otherwise.

The name of the piecewise constructor tells the program which variable is to be used to make splicing decisions. This notation is necessary because f, g, ..., and h may be expressed using several variables, as in

  f(b,m,x) = mx+b.

A similar decision-making construction is

  ifpos(f|v,g) = f if 0 < v, 
                 g otherwise. 

Notice the special cases

  hvs(x) = ifpos(1|x,0)

and

  joinx(f(x)|c,g(x)) = ifpos(f(x)|c-x,g(x)).


The characteristic function of the closed interval [a, b] is

  chi(a,b,x) = 0 for x < a,
               0 for b < x,
               1 otherwise.

To insert derivatives into expressions, you can use

  derx(n,f(x)) = nth derivative of f(x) with respect to x.

For other independent variables use

  dery, 
  dert, 

and so on.


In addition to pi, the constants

  ninf = negative infinity
  pinf = positive infinity
  deg = pi/180

are occasionally useful. For example,

  y = sin(x deg)

produces the sine graph “in degree mode.”


The usual signs of algebra are used. Exponentiation is denoted ^. The multiplicative * can usually be left out. For example, 2x is interpreted to mean 2*x. Do not use pix instead of pi*x, however. Notice that it is easier to write xx and xxx than to write x^2 and x^3.

Any string of letters and numbers will be treated as a product of constants and variables, if it is not found in the library of function names. Translation starts at the left end of every string. Thus xpi is read as x*pi, whereas pix is read as p*i*x.

Any letter can be used as a numerical variable, and assigned a specific value at any time. For example, axx + bx + c stands for a general quadratic function, whose coefficients may be adjusted. The default value for e is 2.718281828459045..., the base of natural logarithms. This value is restored whenever a new file is initiated.

Upper and lower cases are not distinguished. Spaces are ignored.

You can add new functions to the library. Give each entry a name, then define it, as a function of x, as a function of x and y, or as a function of x, y, and z. Check the appropriate radio button before pressing Enter. The program checks to see that the name is new and that the formula makes sense, then adds it to the displayed list.


View Menu

Click View to specify the frame width and coordinates for the center. The scale on the vertical axis is linked to the scale on the horizontal axis.


Zoom menu

Click Out to expand the range of visible coordinates on both axes by the same Factor.

Click In to shrink the range of visible coordinates on both axes by the same factor.


Shift menu

It is convenient to use the keyboard arrow keys to slide the view across the diagram.

Each arrow shifts the view by a Percentage of the screen width.


Click Last window to retrieve the preceding window settings.


Axes menu

Click Axes to turn the axis system on or off (or press Ctrl+A).

If it is desirable to color the coordinate axes, or to thicken them, open the Misc|Settings dialog box .

Click Labels to edit the symbols used to label the axes. The status of Opaque affects the labels at the ends of the axes, and also the numerals used for the scale on the axes. To edit the font, use the Misc|Settings dialog box.

To see solid arrowheads, or to change the color of the gridlines, or to thicken them, use the Misc|Settings dialog box.


The Grid dialog box controls many details relating to the underlying coordinate system, namely

“axes”: a check indicates that they are activated. If the axes are activated, there are four possible states:
both axes show,
x-axis only,
y-axis only, or
the polar ray only (the positive x-axis);

“ticks”: if this is checked, the axes will have ticks on them;

“interval”: the distance between successive ticks;

“scale”: a check indicates that the numerical scale is marked with the ticks;

“places”: how many used to display the scale;

“frequency”: how often to display scale values (the value 1 requests that every tick be shown);

“pi”: a check mark means that the scale will be expressed as rational multiples of pi. To see actual pi symbols, you must set the axis scale font (see Misc menu) to a font that has the symbol, and enter the character code for it. (The default character code might not work for your choice of font.)

“arrows”: a check puts arrows at the ends of the axes.

“dots”: this background pattern is determined by the tick intervals.

“labels”: puts “x” and “y” at the ends of the axes.

“tick length”: set as a percentage of the width of your computer screen. This determines the size of the arrows as well.

“rectangular grid”: this background pattern is determined by the tick intervals; check the quadrants in which you want the gridlines to appear.

“polar grid”: radii are determined by the x-axis tick interval. The number of sectors is obtained from the edit box. Notice that the polar grid can be on at the same time as the rectangular grid.

When you have all the data as you want it, click “apply” to see the changes.

If you want to affix degree symbols to the numeric scale on an axis, put “@” at the end of the text in the “places” field. It may be necessary to tell the program the scale-font character code for the degree symbol; if so, put the code after “@”, as in “@176”.

The program sets an upper limit on how many ticks can appear on an axis. When this value is exceeded, the tick interval will automatically be increased to compensate.

To write O as a third-quadrant label for the origin, append @ to the end of the x-interval description.


Buttons Menu

There are three modes for the mouse.

Text: Use the right button to create and edit text overlays, and the left button to drag text around the screen. A text-editing session opens a dialog box in which you can select a display font, color, and size, and decide whether you want the text position to be calculated with reference to
(1) the view frame (so that it is unaffected by zoom operations);
(2) the coordinate system (so that it could leave the field of view);
(3) a (movable) point in the inventory.
You can select either an opaque background for the text, or a transparent one. If you do not like the look of hyphens, you can request that they be replaced by longer dashes (– instead of -), but you have to provide the ASCII value of that character in the current font. The default value of 150 often works.

XY coordinates LB: A left-click displays the coordinates of the selected pixel, relative to the current coordinate system. “Recenter RB” means that a right-click recenters the view frame at the point of the click, with no change in the size of the view frame.

Paste from clipboard: A right-click puts clipboard graphics into the diagram, and the left button is used to move the graphics around the screen. If the clipboard contains something other than graphics, a right-click may produce strange results. When you right-click an item, the resulting dialog box allows you to set the background mode for the item (opaque or transparent), clear the item, copy it onto the clipboard, or cut the item (which means clear and copy).


Miscellaneous Menu

The Settings dialog box has four sections.

Colors
Individual palette entries (other than black and white) can be edited; right-click the selected color.
Graph in black: Check this to make black the graphing color for all examples.

Fonts
To assign a different font, select it and click “edit”. For the axis-scale font, the hyphen might not look correct when used as a numerical sign. You can request that hyphens be replaced by longer dashes (– instead of -) in the axis scale, and you will probably need to provide an ASCII code for the special character. You might also need to provide a code for pi symbols if you want them (they are enabled in the View|Grid dialog).

Pen thickness
The thicknesses (both displayed and printed) of axes, gridlines, and curves are managed here.
Thicken print: You can add thickness to printed curves (other than axes).

Miscellany
(a) Decimal places: The number of places displayed in dialog boxes, list boxes, etc, is at most 16.
(b) Solid arrowheads: Check this to fill all arrows in the diagram (not just at the ends of the axes).
(c) Background color: When copying to the clipboard, you can elect to include this.
(d) High-resolution copy: Because printer resolution is so much higher than screen resolution, Winplot curves that have been pasted into other Windows applications may print with a jagged appearance. To increase the printed quality, check this item.

Click Delete text to remove all supplementary text from the file. There is no “undo”!