home *** CD-ROM | disk | FTP | other *** search
/ Power Programming / powerprogramming1994.iso / progtool / irit / drawfuns.arc / DRAWFUNC.DOC < prev    next >
Text File  |  1989-08-03  |  5KB  |  102 lines

  1.     DRAWFUNC - 2d parametric curves drawing program
  2.     -----------------------------------------------
  3.  
  4.     This program allows drawing of 2D free form explicit algebraic
  5. curves of the form: x = X(t), y = Y(t), or y = f(x), where t is the 
  6. parametric domain parameter.
  7.     The program displays the curve by sampling, and approximating
  8. (with settable accuracy) it as piecewise linear polylines. It it also
  9. possible to symbolically derive the curve and simultaneously display the
  10. curve and its 1st 2nd and 3rd derivatives.
  11.     An on line help is available (you can modify it (!) if you like, as it
  12. is all saved in the drawfn3d.hlp plain ascii file).
  13.  
  14. Options:
  15. --------
  16.   -z : displays current version and state as read from configuration file
  17.        drawfunc.cfg (see below).
  18.  
  19. Configuration:
  20. --------------
  21.   The program can be configured using a configuration file named drawfunc.cfg.
  22.   This is a plain ascii file you can edit directly and set the parameters
  23. according to the comments there. executing 'drawfunc -z' will show the
  24. current configuration as read from the configuration file. This file can be
  25. in any directory which is in your path - the same place as drawfunc.exe is
  26. probably a good choice.
  27.   The program was mainly tested on HERCULES graphics card, some on CGA,
  28. and almost nothing on a VGA system. However it uses the Turbo C BGI excellent
  29. package and so there is a good chance it will work on the laters, without any
  30. problem. I am going to fully support only HERCULES card, till I will have
  31. enough money to buy new VGA (you can buy me one!).
  32.   The BGI autodetect feature is used, but if this fails, or the VGA mode does
  33. not work as you expect, you can always coerce it to a specific card - see
  34. the drawfunc.cfg file.
  35.   The program will use 80?87 if it detects one - again uses the Turbo C 80?87
  36. autodetect, or will run (much!) slower without it...
  37.   The program will use the mouse, if detected. If this detection fails you can
  38. coerce it (to TRUE - exists, or FALSE) in the drawfunc.cfg configuration file.
  39.  
  40. Usage:
  41. ------
  42.   The control of the program is performed by moving the graphical cursor along
  43. the menu and performing EXECUTE operation (see below). Moving the cursor can
  44. be made using the numerical keypad/arrows (shifted for faster movement) or
  45. if mouse is available, using the mouse. Two operation are defined and allowed:
  46.   EXECUTE - the <Return> key on the keyboard, or left  mouse button if exists.
  47.   ABORT   - the <Space>  key on the keyboard, or right mouse button if exists.
  48. The EXECUTE operation is used to request performing the selected menu item.
  49. The ABORT operation is used to request abortion of current operation (handy for
  50. big data files).
  51.   In addition if the first character of the menu entry is unique (i.e. only one
  52. menu entry starts with the letter X) that letter may be used to pick that
  53. entry.
  54.   Each string entry (such as function) can be edited as follows:
  55. 1. Left/Right arrows : to move left and right along the line.
  56. 2. Home/End : to move to beginning/end of line.
  57. 3. Delete : to delete character cursor is on.
  58. 4. Back space : to delete one char backward.
  59. 5. Insert : toggles insert/overwrite mode. Node cursor shape is modified.
  60. 6. Esc : clear the entire line.
  61. 7. CR : to accept line and quit.
  62.   ALT-Q can be used, at any time the cursor is shown, for program abortion
  63. exactly as 'Quit' menu item.
  64.  
  65.   Expressions are regular infix expressions with regular precedence:
  66. lowest  (-, +) (*, /, %, min, max) (^) (unar -) highest. Note the modulo
  67. operator (%) which operates on the truncated numbers. Also "min" and "max"
  68. are provided as binary operators. As there is no derivative for the last
  69. 3 operators, nor to the ABS function (see below), expressions containing
  70. them can not be derived.  The following built in functions are also provided
  71. (sorted lexicographically):
  72.  
  73. ABS - absolute value function (no derivative).
  74. ARCCOS - arc cosine (in radians) function.
  75. ARCSIN - arc cosine (in radians) function.
  76. ARCTAN - arc tangent (in radians) function.
  77. COS - cosine (in radians) function.
  78. EXP -exponent (based e) function.
  79. LN - logarithm (natural base) function. 
  80. LOG - logarithm (base 10) function.
  81. SIN - sin (in radians) function.
  82. SQR - square function
  83. SQRT - square root function.
  84. TAN - tangent function.
  85.  
  86. Bugs:
  87. -----
  88.   O.k. if you do have any question, suggestion, or even want to report a bug
  89. (including VGA problems, but I dont promise anything about this one), feel
  90. free to send me email (see below)
  91.  
  92.   Feel free to make copies of this program, and distribute them FREE of
  93. charge, provided that all this package is distributed.
  94.   I am not going to be responsible for any damage of any kind, that this
  95. package may cause (I always wanted to say that...), but I hope you will
  96. enjoy it as I did my best you will. At list I enjoyed writing it.
  97.   
  98. Have Fun
  99.  
  100. Gershon Elber
  101. gershon@cs.utah.edu
  102.