home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d8xx / d867 / complexplot.lha / ComplexPlot / English / ComplexPlotter.doc < prev    next >
Text File  |  1993-04-10  |  26KB  |  722 lines

  1.  
  2.     Documentation of ComplexPlotter
  3.     
  4.     This is a translation of the documentation of the german version
  5.     of ComplexPlotter. The original text contains a lot of mathematical
  6.     expressions, and I often could only guess how they are translated.
  7.     So please excuse the mistakes.
  8.  
  9.     
  10.     1. Introduction
  11.     
  12.     This program is a "complex function plotter", with which sets of 
  13.     complex numbers can be pictured by a function.
  14.     
  15.     Because you now probably think "oh no, that´s too complex for me",
  16.     I want to describe this: Complex Numbers can be compared with
  17.     two-dimensional points (x- and y-coordinate are called real and
  18.     imaginary part), and so sets of complex numbers can be interpreted
  19.     as drawings or pictures. On complex numbers you can use functions
  20.     in the same way as on the commonly used real (or rational) numbers.
  21.  
  22.     Most of the functions which are used for real numbers are defined
  23.     for complex numbers, too (for example the sinus- or the exponential
  24.     function). As the real functions distribute all numbers (of the
  25.     definition set) to other numbers, the complex functions put
  26.     two-dimensional points to other points. From the original
  27.     picture is created a new picture. And this is the core of the
  28.     matter: this function plotter is a flexible tool for picture
  29.     metamorphosis.
  30.  
  31.     For example you can distort pictures, bend them, "mirror the
  32.     inner parts out", enlarge them at different points etc. The
  33.     results are often interesting, or even amusing.
  34.     
  35.     To input the original drawing (also called definition area) the
  36.     program has an editor, in which you for example can paint 
  37.     freehandedly with your mouse. Then there are two figure generators
  38.     (cartesic and polar nets), which are useful for more systematic
  39.     studies about what a specific function does. Drawings can be saved
  40.     to disk. Also you can copy the drawing which was already changed
  41.     by a complex function back to the editor to change it again (if
  42.     you repeat this there can be some kind of film effect, and you
  43.     can for example watch the convergency of the function).
  44.     
  45.     So this program is suitable for experiments and play-around, but
  46.     for distinct mathematic tasks as well (e.g. study of convergency,
  47.     fix points, singularities, periodicy etc).
  48.     
  49.     Just to make it even more useful it is possible to emulate other
  50.     types of function plotters, for example the "normal" plotter, which
  51.     produces the well-known pictures of parabolas, sinus-waves etc.
  52.     More in chapter "Emulation of other plotter-types" (4.2).
  53.     
  54.     The used mathematical background of course is no general knowledge.
  55.     Who is interested in knowing more can try to read books of higher
  56.     mathematics or function theory. But as well you can let that be and
  57.     just experiment with this program (for comparison: the pictures
  58.     of fractal geometry are widely known and liked, but how many
  59.     people really understand, how they are created).
  60.  
  61.  
  62.  
  63.     2. How the program is used
  64.     
  65.     The program can be started from CLI with
  66.     
  67.         Plotter/English/ComplexPlotter
  68.  
  69.     or from the workbench (the program was written under version
  70.     1.3 but should run under 2.0 or higher as well). It needs the
  71.     "MathTrans.library" (it is to be found in the directory libs of
  72.     your system disk). Then there should be at least 1MB RAM (I
  73.     think it could run with 512KB if there is nothing else in memory,
  74.     but I don´t guarantee).
  75.     
  76.     If the program doesn´t start either there isn´t the MathTrans.
  77.     library or there isn´t enough RAM left.
  78.  
  79.     The program has three screen-sized windows, between which can
  80.     be freely switched. In the first window "Main parameters" you
  81.     can type the function to plot and the borders of the two other
  82.     windows, where the original drawing is defined ("definition
  83.     area"/"definition window") and the picture, which was changed
  84.     by the function, is shown ("result area"/"result window").
  85.     
  86.     Every window has its own menu bar, which are activated by the
  87.     richt mouse button, as usual. Some features can be accessed from
  88.     all three windows, while most can be used from only one window.
  89.     
  90.     Most features can also be accessed by key-commands which are
  91.     shown at the appropriate menu items (right amiga-key plus
  92.     letter key).
  93.     
  94.     A typical function plot goes this way: first you type in the
  95.     wanted function term and define the borders of the definition
  96.     area. Then you switch to that window and choose a drawing
  97.     (either by using the mouse, using the generators or loading from
  98.     disk). Then you order the Amiga to "plot" the drawing and can then
  99.     look at the result. You can choose to let determine the borders
  100.     of the result window every time a plot is done by switching to
  101.     "Automatic" in the main parameters window.
  102.     
  103.     After that you can zoom different parts of the result picture
  104.     to watch details. You can copy the result picture back into
  105.     the editor of the definition area in order to use that picture
  106.     for a next plot. If you use the right function it is possible
  107.     to create a film-like picture series.
  108.  
  109.     In the next sections of this documentation follows a complete
  110.     list of the program´s features.
  111.     
  112.  
  113.  
  114.     2.1 Main parameters window
  115.  
  116.     Here you can define the complex function with which shall
  117.     be worked. To do that you click on the marked input field
  118.     and type in the function. Used as the variable is "z". More
  119.     about the term syntax below.
  120.     
  121.     Secondly you can set the borders of the two other windows.
  122.     Be sure that the right border has a greater value than the
  123.     left one, and the top border has a greater value than the 
  124.     bottom border, otherwise you get an error message when
  125.     switching to that window.
  126.  
  127.     For the result window you can choose if the borders shall be
  128.     determined by the computer or the given values shall be used.
  129.     Normally you´ll select "Automatic". This means, that every
  130.     time the result window is selected its borders are calculated
  131.     automatically. The numbers which are displayed in the main
  132.     parameters window are changed accordingly. If you don´t like
  133.     that, choose "Manual".
  134.     
  135.     The menu bar offers the following:
  136.  
  137.  
  138.      1) Commands:
  139.  
  140.      a) Plot (Amiga-P)
  141.         This starts the calculation of the result picture out of
  142.         the definition drawing. After this the result window is
  143.         activated to show the result.
  144.  
  145.      b) Quit program
  146.         With this command you quit the program (after a safety
  147.         check).
  148.  
  149.  
  150.      2) Windows:
  151.  
  152.      a) Definition area (Amiga-D)
  153.         To switch to the definition window where you define the
  154.         original drawing.
  155.  
  156.      b) Result area (Amiga-R)
  157.         To switch to the result window where you can watch the
  158.         calculated picture (when already plot).
  159.  
  160.      c) Automatic (Amiga-A)
  161.         Same as the button "Automatic" (see above).
  162.  
  163.      d) Manual (Amiga-M)
  164.         Same as the button "Manual" (see above).
  165.  
  166.  
  167.     2.2 Syntax of the floating point numbers and the functions
  168.  
  169.     Numbers can be typed in normal and exponential writing. They
  170.     can range between +/- 1e-19 and +/- 9e18.
  171.     
  172.     Imaginary parts are marked by an appended "i". Or you can put
  173.     "*i" behind or "i*" before the number, but with the first
  174.     method the numbers are read directly as imaginary parts, whereas
  175.     in the second and third method the program reads the number as
  176.     a real part and multiplies it with i, which of course takes
  177.     much more time.
  178.     
  179.     Here some examples:
  180.  
  181.         0.52578        equals .52578 or +.52578
  182.         -598.1245
  183.         1.42e6        equals 1.42*10^6
  184.         7.34e-8        equals 7.34*10^-8
  185.         6.345i        equals 6.345*i or i*6.345
  186.         12+8i
  187.         3-.5i
  188.  
  189.     There is a wide range of mathematical functions:
  190.  
  191.         ...+...         Addition
  192.         ...-...         Subtraction
  193.         ...*...         Multiplication
  194.         .../...         Division
  195.         ...^...         Potency
  196.         re(...)         Real part of a complex number
  197.         im(...)         Imaginary part of a complex number
  198.         abs(...)        Absolute value ("length") of a complex number
  199.         arg(...)        Argument ("angle") of a complex number
  200.         con(...)        Conjugated complex number
  201.         sqrt(...)       Square root 
  202.         exp(...)        Exponential function
  203.         log(...)        Logarithm
  204.         sin(...)        Sinus function
  205.         cos(...)        Cosinus function
  206.         tan(...)        Tangens function
  207.         sinh(...)       Sinus Hyperbolicus
  208.         cosh(...)       Cosinus Hyperbolicus
  209.         tanh(...)       Tangens Hyperbolicus
  210.         arcsin(...)     Arcus Sinus (inversion of sinus)
  211.         arccos(...)     Arcus Cosinus (inversion of cosinus)
  212.         arctan(...)     Arcus Tangens (inversion of tangens)
  213.         arsinh(...)     Area Sinus (inversion of sinus hyp.)
  214.         arcosh(...)     Area Cosinus (inversion of cosinus Hyp.)
  215.         artanh(...)     Area Tangens (inversion of tanges Hyp.)
  216.         int(...)        Rounded values of real and imaginary part
  217.         sgn(...)        Signums of real and imaginary part
  218.         swap(...)       Swaps real and imaginary part
  219.  
  220.     More about these functions in the third chapter.
  221.  
  222.     You can use the following symbols:
  223.  
  224.         z        The variable. It stands for the points of the
  225.                 definition area.
  226.         x        Real part of the variable (equals re(z)).
  227.         y        Imaginary part of the variable (equals im(z)).
  228.         pi        The famous constant 3.1415927...
  229.  
  230.     Besides that you can use up to ten bracket levels. Spaces are
  231.     skipped, and you can use capital letters as you like. Finally
  232.     some examples (they demonstrate the syntax, but are not really
  233.     for trying out):
  234.  
  235.         2*sin(z/(cos(z)+exp(z)))+6i
  236.         (i*z+exp(z))*(z^2)
  237.         (-z)^(x+y)
  238.         abs(z)*exp(i*(arg(z)+pi/4))
  239.  
  240.  
  241.     2.3 Definition window
  242.  
  243.     In this window the points, which are to be pictured by the
  244.     complex function, are defined. For that an editor is implemented,
  245.     and some basic figures can be used. All features of the editor
  246.     are activated by the menu bar (or the equaling key-commands).
  247.  
  248.     On the top window bar the position of the mouse pointer is always
  249.     shown in floating point format. If you, for example, move the
  250.     mouse pointer to the right bottom edge, the right and bottom
  251.     border values, which you have set in the main parameters window,
  252.     are shown.
  253.  
  254.     Also the active drawing mode is shown, that´s normally "Freehand".
  255.     In this mode you can draw freely within the window area. Other
  256.     modes are "Lines", "Circles", "Fill" and "Zoom". In line mode
  257.     you can draw lines: start and end point will be put into the
  258.     definition area memory. In circle mode 36 points of the circle
  259.     edge, and in fill mode of course the fill point will be memoried.
  260.  
  261.     When you have drawn some points, you can use the menu item "Zoom
  262.     complete" to adjust the window borders, so that the drawing
  263.     completely fits into the window (as is done in "automatic" mode).
  264.     With "Zoom out" the window borders are pushed outward, so that
  265.     the window area becomes larger, and the drawing looks smaller.
  266.     Often it is good to watch the drawing from some distance to see
  267.     it better.
  268.     
  269.     Last not least you can use "Zoom a part" to enlarge a part of
  270.     the drawing by marking this part with the mouse.
  271.  
  272.     If you´ve done something wrong you can take back the last made
  273.     part of the drawing by using "Undo". This is especially helpfull
  274.     when using the fill mode, because a wrong set fill point can easily
  275.     fill the whole window.
  276.  
  277.     With "Load" and "Save" you can load a drawing from disk or save
  278.     the just created drawing. For that purpose a filerequester appears
  279.     which should be easy enough to use.
  280.     
  281.     "Fishing net" and "Spiders web" are two figure generators which
  282.     are especially useful when systematically studying the effects
  283.     of a complex function. The fishing net (cartesic net) is an
  284.     array of horizontal and vertical lines, of which the cross points
  285.     are put into memory. In an extra parameter window you have to
  286.     determine the position and size of the net. You also have to
  287.     declare the number of horizontal and vertical sections (0-999).
  288.     With a number of sections of 1 a bar, and with a number of sections
  289.     of 0 a simple line appears. It´s easy to learn, just try around
  290.     a bit.
  291.  
  292.     The spiders web looks as it is named. You define the center point
  293.     of the net, the radius, the number of rays (3 to 99) and the number
  294.     of circles (1 to 99). Here, too, is the best way of understanding
  295.     the use of the parameters experimenting.
  296.  
  297.     Here the commands of the menu bar:
  298.  
  299.      1) Commands:
  300.  
  301.      a) Plot (Amiga-P)
  302.         With this menu item the computation of the result picture
  303.         is started. After that the result window is activated.
  304.  
  305.      b) Copy Res->Def (Amiga-K)
  306.         With this the content of the result area is copied into
  307.         the definition area. The old definition drawing will be
  308.         overwritten.
  309.  
  310.      c) Clear ALL (Amiga-L)
  311.         With this item the complete contents of the definition area
  312.         will be erased (irrevocably) !
  313.  
  314.      d) Quit program
  315.         To exit ComplexPlotter.
  316.  
  317.  
  318.      2) Windows:
  319.  
  320.      a) Parameters (Amiga-E)
  321.         This is to switch back to the main parameters window,
  322.         e.g. to change the function.
  323.  
  324.      b) Result area  (Amiga-R)
  325.         To switch to the result window.
  326.  
  327.      c) Zoom complete (Amiga-A)
  328.         With this command the borders of the window will be put
  329.         tightly around the drawing, so that it fits completely into
  330.         the window. For example that´s useful to take back zooms
  331.         done by the next to menu commands.
  332.  
  333.      d) Zoom a part (Amiga-M)
  334.         If you want to work on a specific part of the drawing, you
  335.         can choose this menu command and then mark this area. The
  336.         window borders will then be set around the marked area.
  337.  
  338.      e) Zoom out (Amiga-Z)
  339.         To get a better view of the whole drawing you can enlarge
  340.         the definition area by moving the borders some way outward.
  341.         A zoom complete with following zoom out often produces
  342.         the best view of the complete drawing.
  343.  
  344.  
  345.      3) Drawmode:
  346.  
  347.      a) Freehand (Amiga-1)
  348.         This is the mode with which you can draw freely with the
  349.         mouse. With the left mouse button the points or lines
  350.         are set.
  351.  
  352.      b) Lines (Amiga-2)
  353.         With this mode you can connect two points with a straight
  354.         line. For that purpose you move the mouse pointer to the
  355.         first point, press the left button, and move to the second
  356.         point while still pressing the button. Then you release the
  357.         button.
  358.  
  359.      c) Circles (Amiga-3)
  360.         If you want to draw circles, you can use this drawmode. You
  361.         choose the center point and then move to a point on the circle
  362.         line while pressing the left mouse button. You should keep
  363.         in mind that these are circles in the definition area, and
  364.         can look like ellipses on the screen, just as the borders of
  365.         the window are defined.
  366.  
  367.      d) Fill (Amiga-4)
  368.         To fill bordered parts of the drawing you can use this mode.
  369.         You should be carefull that the desired parts are really
  370.         completely bordered, otherwise the whole window is filled.
  371.  
  372.      e) Undo (Amiga-U)
  373.         With this menu item the lastly drawn figure is undone
  374.         (freehand line, line, circle, fill, fishing net or spiders
  375.         web).
  376.  
  377.  
  378.      4. Figures:
  379.  
  380.      a) Fishing net (Amiga-5)
  381.         With this item you activate the figure generator for cartesic
  382.         nets. An extra parameter window appears, where you can define
  383.         your desired net. The net will be generated if you click on
  384.         the "Start"-button or finish the last parameter with the
  385.         enter key. With the "Abort"-button the generation is canceled.
  386.  
  387.      b) Spiders web (Amiga-6)
  388.         The generation of a spiders web (polar net) works in the same
  389.         way as the generation of a fishing net.
  390.  
  391.      c) Load (Amiga-7)
  392.         Of course you can save completed drawings. With this command
  393.         you can load drawings from disk. An existing drawing will
  394.         be overwritten. The filerequester has features to walk
  395.         through directories, selection of the drive, scroll buttons,
  396.         direct input of path name and file name, and supports
  397.         double clicking of the file name.
  398.  
  399.      d) Save (Amiga-8)
  400.         This item is for saving the drawings of the definition area.
  401.         It is used as the load item.
  402.  
  403.     You should know that the drawing memory is limited to 3000 points,
  404.     but that should be sufficient for most purposes.
  405.  
  406.  
  407.  
  408.     2.4 Result window
  409.  
  410.     In this window the plotting result is being displayed. When
  411.     the automatic mode is selected the borders of this window will
  412.     be adjusted to the size of the picture. The border values are
  413.     displayed on the top window bar.
  414.  
  415.     There exist the same window commands as in the definition window,
  416.     with the exception that the "Zoom a part"-feature is active all
  417.     the time. This means that you can zoom to selected parts of the
  418.     picture without calling a menu command, just by marking a rectangle
  419.     with your mouse.
  420.  
  421.     With the Copy&Plot-feature you can copy the picture back into
  422.     the definition area and compute a new plot picture (the commands
  423.     Copy Res->Def and Plot are executed in succession). When repeating
  424.     this feature several times the picture can become "animated".
  425.     Sometimes this can look interesting, and it helps finding fix points
  426.     of the funtion (Fix points are points which aren´t changed by the
  427.     function. Often some areas of the picture move closer and closer
  428.     to such fix points - that´s called convergency).
  429.  
  430.     So the items of the menu bar are quickly explained:
  431.  
  432.      1. Commands:
  433.  
  434.      a) Plot (Amiga-P)
  435.         As in the other two windows, the calculation of the picture
  436.         will be started.
  437.  
  438.      b) Copy Res->Def (Amiga-K)
  439.         The picture of the result area is copied into the definition
  440.         area (the old drawing will be overwritten). Then the definition
  441.         window is activated.
  442.  
  443.      c) Copy&Plot (Amiga-R)
  444.         This feature does the commands Copy Res->Def and Plot in
  445.         succession (without switching the windows).
  446.  
  447.      d) Quit program
  448.         This command is reserved for all who are sick of this program.
  449.  
  450.  
  451.      2. Windows:
  452.  
  453.      a) Parameters (Amiga-E)
  454.         With this item you get back to the main parameters windows
  455.         where you can edit the function term and the window borders.
  456.  
  457.      b) Definition area (Amiga-D)
  458.         To get back to the definition editor you should select this.
  459.  
  460.      c) Zoom complete (Amiga-A)
  461.         With this you can adjust the window borders to the picture
  462.         borders. This command is called automatically if the automatic
  463.         mode is selected in the main parameters window.
  464.  
  465.      d) Zoom out (Amiga-Z)
  466.         With this menu item the window borders are pushed outwards
  467.         so that the picture will become smaller. This is good to
  468.         take back zoomings into parts of the picture.
  469.  
  470.  
  471.  
  472.     3. Descriptions of some complex functions
  473.     
  474.     Of course you want to know what the complex functions do to your
  475.     drawings. I only can describe some basic mechanisms, because the
  476.     whole theory actually fills books. So with some complicated
  477.     functions you should "learn by trying".
  478.  
  479.  
  480.     3.1 Translations (moving the drawing to another place)
  481.     
  482.     Moving the drawing around is simple: the addition of two complex
  483.     numbers is like the addition of vectors, so you have to add a
  484.     constant complex number which represents the translation. For
  485.     example to move the drawing 2 measures to the right and 1 measure
  486.     up you can use the function:
  487.  
  488.           f(z) = z + 2+i
  489.  
  490.  
  491.  
  492.     3.2 Making the drawing smaller/bigger
  493.  
  494.     A scalar multiplication with real numbers accomplishes this.
  495.     For example the function
  496.  
  497.           f(z) = 2*x + .5i*y
  498.  
  499.     doubles the breadth and halves the height.
  500.  
  501.  
  502.  
  503.     3.3 Simple mirrorings/rotations
  504.  
  505.     To mirror the drawing at the real axis you can use the function
  506.  
  507.           f(z) = con(z)
  508.  
  509.     which produces the complex conjugated numbers (the imaginary
  510.     part is being negated).
  511.  
  512.     If you negate the complex numbers the drawing will be mirrored
  513.     at the origin:
  514.  
  515.           f(z) = -z
  516.  
  517.     If you want to mirror the drawing at the 45 degree line you can do
  518.     this by swapping real and imaginary part:
  519.  
  520.           f(z) = swap(z)
  521.  
  522.     To rotate the figure 90 degree counterclockwise you can multiply
  523.     the points with i:
  524.  
  525.           f(z) = i*z
  526.  
  527.  
  528.  
  529.     3.4 Other rotations
  530.  
  531.     Rotations with all kinds of angles kann be accomplished in different
  532.     ways. The first is to multiply the numbers with a constant complex
  533.     number. When multiplicating two complex numbers the angles (to the
  534.     real axis) will be added and the lengths (the distance of the point
  535.     to the origin = the absolute value) multiplied. For example to
  536.     rotate the drawing 45 degree counterclockwise you have to multiply
  537.     the points with that complex number which has the angle of 45
  538.     degree and the length of 1, and that is sqrt(.5)+sqrt(.5)*i:
  539.  
  540.           f(z) = (sqrt(.5)+sqrt(.5)*i)*z
  541.  
  542.     Another possibility is to use the polar coordinate writing of
  543.     the complex numbers and directly add the rotation angle:
  544.  
  545.           f(z) = abs(z)*exp(i*(arg(z)+pi/4))
  546.  
  547.     This function rotates with pi/4, which equals 45 degree counter-
  548.     clockwise.
  549.  
  550.     And you can use the matrices of the special orthogonal group
  551.     which are related to the linear algebra. Here the function for
  552.     the 45 degree rotation:
  553.     
  554.  
  555.         f(z) = x*cos(pi/4)+y*sin(pi/4)+i*(y*cos(pi/4)-x*sin(pi/4))
  556.  
  557.     Of course all three methods are mathematically equivalent.
  558.  
  559.  
  560.     3.5 The parabola z^2
  561.  
  562.     To demonstrate the complex parabola use can use the following
  563.     fishing net:
  564.  
  565.        Borders: Left: -3  Right: 3  Top: 2  Bottom: 1
  566.        Sections: Horizontal: 25  Vertical:1
  567.  
  568.     This strip will be bend around the origin.
  569.  
  570.  
  571.     3.6 The hyperbola 1/z
  572.  
  573.     To show some aspects of this function you can first use a
  574.     spiders web with the center in the origin. This drawing will
  575.     be pictured to a web-like thing where the circles are getting
  576.     more crowded at the mid. This is so, because the function isn´t
  577.     defined for z=0 and has a polar singularity there.
  578.  
  579.  
  580.     3.7 The trigonometric functions (sin, cos, etc.)
  581.  
  582.     The trigonometric functions have several effects. Usually they
  583.     have the likeness to catapult points which have some distance
  584.     to the origin even farther away. So you should use drawings
  585.     near the origin, not farther away than ca. 4 measures.
  586.  
  587.     If you for example use the sinus function the drawing will
  588.     be bend and enlarged in several directions.
  589.     
  590.     The trigonometric and hyperbolic functions are related very
  591.     closely to the exponential function.
  592.  
  593.  
  594.     3.8 The exponential function und the logarithm
  595.  
  596.     The exponential function rotates according to the imaginary
  597.     part of the number and enlarges exponentially according to
  598.     the real part of the number. This results in bending in direction
  599.     of the real axis and rotating in direction of the imaginary axis.
  600.  
  601.     The logarithm puts everything into a horizontal strip with the
  602.     height of 2*pi, because im(log(z))=arg(z), and arg(z) being the
  603.     angle of the complex number can only have values between -pi and
  604.     pi.
  605.  
  606.  
  607.  
  608.     4. Examples and ideas
  609.  
  610.  
  611.     4.1 Drawings already on disk
  612.  
  613.     In the directoy "Plotter/DefPics" you find some example drawings
  614.     which can be loaded into the definition editor.
  615.  
  616.     The drawings "Quadrants", "QuadrantsII" and "Bar" should demonstrate
  617.     that the generators for fishing net and spiders web can even be
  618.     used to produce some more complex drawings. They are suited for
  619.     directly studying complex functions.
  620.  
  621.     The drawings "Tree", "Lemming" and "Binky" show that it is possible
  622.     to draw some nice pictures with the mouse. Especially the drawing
  623.     "Putzi" can demonstrate funny effects of most basic functions.
  624.     I advice to test this drawing with exp(z), log(z), sqrt(z), sin(z),
  625.     cos(z), tan(z/2), sinh(z), tanh(z), arsinh(z) u.a.
  626.     
  627.     Now, isn´t that funny ?
  628.  
  629.  
  630.     4.2 Emulation of other plotter-types
  631.  
  632.     Because the real numbers are just a part of the complex numbers,
  633.     it is possible to emulate some other types of function plotters.
  634.     This enhances the usefulness of this program even more.
  635.  
  636.  
  637.     4.2.1 "Classic" function plotter (Real --> Real)
  638.  
  639.     If you want to display a real function g(x) in the interval
  640.     [a;b] with the usual method, you can do this in the following
  641.     way:
  642.  
  643.     First you go to the definition editor and define this fishing
  644.     net:
  645.  
  646.        Borders: Left: a  Right: b  Top: 0  Bottom: -1
  647.        Sections: Horizontal: 640  Vertical: 0
  648.  
  649.     A horizontal line appears. Now you go to the main parameter
  650.     window and type in the function:
  651.  
  652.           f(z) = x+i*g(x)
  653.  
  654.     Of course you have to replace g(x), a and b with appropriate
  655.     terms (e.g. sin(x), -2*pi and 2*pi). And now you can plot the
  656.     function by selecting "Plot" from the commands menu.
  657.  
  658.     If you use a smaller number of horizontal sections the computation
  659.     time will be shorter. The result is often good enough if you don´t
  660.     make this number smaller than 100.
  661.  
  662.  
  663.     4.2.2 "3D-" function plotter (Real x Real --> Real)
  664.  
  665.     This kind of plotters produces those nice net graphics, in which
  666.     the x- and y- coordinates are to be interpreted as function
  667.     arguments, and the z-coordinate is to be interpreted as the
  668.     function value. This can be emulated, too.
  669.     
  670.     For that purpose you must have a net in the definition area. A
  671.     simple fishernet will do most times. Spiders webs with their
  672.     center in the origin are good when using functions with rotation
  673.     symmetry. Or you can use every other drawing.
  674.  
  675.     Then you define the following function:
  676.  
  677.           f(z) = x+y/2+i*(y/2+g(x,y))
  678.  
  679.     For g(x,y) you have to write the actual 3D-function, e.g.
  680.  
  681.           sin(x+y)
  682.           1/(.5+x^2+y^2)
  683.           exp(x+y)
  684.  
  685.     The only disadvantage is that the "hidden" lines will also be drawn.
  686.  
  687.  
  688.     4.2.3 Function plotter Real --> Real x Real
  689.  
  690.     Relatively seldom are plotters which produce out of one real
  691.     variable a two-dimensional coordinate. Most prominent examples
  692.     are the so-called Lissajouz pictures which appear when the
  693.     function has periodicy. 
  694.  
  695.     If you want to display such functions with the ComplexPlotter
  696.     you can use the following path:
  697.  
  698.     As in 4.2.1 you define a horizontal line. Then you input the
  699.     function:
  700.  
  701.           f(z) = gx(x)+i*gy(x)
  702.  
  703.     For example produces
  704.  
  705.           f(z) = sin(x)+i*cos(1.2*x)
  706.  
  707.     a closed Lissajouz picture (when the line of the definition
  708.     area lies in the right interval). Of couse you can also use
  709.     non-periodical functions.
  710.  
  711.  
  712.  
  713.  
  714.     I hope you have fun with my program or can use it for some
  715.     other nice purpose. Enjoy it !
  716.  
  717.  
  718.  
  719.     Michael Gentner
  720.  
  721.  
  722.