home *** CD-ROM | disk | FTP | other *** search
/ Hall of Fame / HallofFameCDROM.cdr / tutor / 3dsurfac.lzh / 3DSUR.DOC < prev    next >
Text File  |  1980-01-03  |  6KB  |  141 lines

  1.             3DSur 3-dimension surface plotting documentation.
  2.             ------------------------------------------------
  3.  
  4.      3DSur is a program for plotting surfaces of 2 variables  z = f(x,y).
  5.      There are some already built in functions, you can see the program
  6.      plot these functions by changing different parameters or you can
  7.      enter your own function.  Be careful that the function must by defined
  8.      every where on the rectangular region that  you want to plot.
  9.  
  10.      Requirements:  IBM XT, AT or compatibles
  11.                     128K RAM and CGA.
  12.  
  13.      You can always back up one level by pressing ESC key at any time
  14.      (or almost).  When the program ask if you want to print or to save
  15.      the program and you answered yes but then you change your mind, you
  16.      can always enter "quit" for the file name or press ESC for the print
  17.      mode to get out.
  18.  
  19.  
  20.      There are several mode of plotting a function, here are a brief
  21.      description for each of them.  (For more details, you have to try out
  22.      them yourself).
  23.  
  24.  
  25.      H,D,N:  Hidden line removal, means the part that is not visible will
  26.              not be visible on the screen.  They are different algorithms.
  27.  
  28.      H: My own algorithm, it plots from far to near and erase in between
  29.         curves.
  30.  
  31.      D: An algorithm already exits, however I did enhance it by adding the
  32.         cross section plotting.
  33.  
  34.      N: The previous algorithms as it is, implemented in Pascal. (see ref)
  35.  
  36.      P: Polar coordinate, use R-Th sections rather than the x-y sections.
  37.  
  38.      F: Fast cartesian coordinate, it is faster than the cartesian method
  39.         of plotting, however, you have less control over it, like the
  40.         number of points per curve and number of curves per surface, the
  41.         program will take the average of these two.
  42.  
  43.      C: Cartesian plotting, it is slower then the previous one, however you
  44.         can adjust the number of curves per surfaces in both sections, and
  45.         how smooth the curves are.
  46.  
  47.  
  48.      S: The program will paint the surface, it will simulate the hidden line
  49.         one as in 'H'.
  50.  
  51.  
  52.  
  53.      None of the hidden line algorithm here is perfect.  However, it one
  54.      doesn't work, you can try others, later version of this program will
  55.      improve this.
  56.  
  57.      While plotting, you can press the upper or lower arrow keys to change
  58.      the colors, if your monitors can recognize the different color signals
  59.      you should get 15 colors.
  60.  
  61.      scale_factor:  is the number of points to calculate to determine the
  62.                     rescale the image so that it will fit into the display
  63.                     area.  The larger the scale_factor, the accurate is the
  64.                     scaling, however if you know the graph does not change
  65.                     radicaly in the interval, you can set a lower scale factor
  66.                     to speed things up.
  67.  
  68.      Here are some descriptions about the viewing parameters.
  69.  
  70.      rot:   angle between the x-axis and the projection of the vector "OP" in
  71.             3-D onto the x-y plane, correspond to left-right rotation.
  72.             Where OP is the vector joining the origine and the viewing point P.
  73.  
  74.      tilt:  angle between the vector OP and the z-axis, correspond to the
  75.             up-down rotation of the graph.
  76.  
  77.      rho:   distance between the view point P and the origine, where the
  78.             origine can be consider as the viewing object also.
  79.  
  80.      dist:  distance between the view point P and the projection screen.
  81.  
  82.      xmin,
  83.      xmax,
  84.      ymin,
  85.      ymax:  the rectangular area, that is the subset of the domain of the
  86.             function that you want to plot the function over.
  87.  
  88.      #Secn: number of curves per surface, the larger the number more dense
  89.             the graph is.
  90.  
  91.      Pts/Secns:  number of segment used to approximate the curve, the larger
  92.                  the number, the smooth the curve is.
  93.  
  94.  
  95.      You can load and save and print a picture, to save and print a picture
  96.      you must draw it first.  To load a picture, select the load option from
  97.      the main menu.
  98.  
  99.      PrintMode   (only support Epson printers)
  100.  
  101.      0:      640  points/line   (Epson mode 4)
  102.      1:      960  points/line   (Epson mode 1)
  103.      2:      960  points/line   (Epson mode 2)
  104.      3:     1920  points/line   (Epson mode 3)
  105.      4:      720  points/line   (Epson mode 6)
  106.  
  107.  
  108.      Words of thanks and references.
  109.  
  110.      Most of the screen layout is from the Merlin program for the  IBM PC
  111.      together with the polar coordinate plotting method.  The person that
  112.      wrote these  routine is prof P.J Ponzo of University of Waterloo
  113.      (Applied Math Department)
  114.  
  115.      The hidden line routine and the cartesian method is from the book
  116.      "Microcomputer Graphics for the IBM PC" by Roy E.Myers.  This book
  117.      is very simple and readable for beginners on graphics.
  118.  
  119.      The screen loading, screen saving, screen printing routines are from
  120.      Borland's Graphix Toolbox for Turbo Pascal.
  121.  
  122.      Lastly I want to thank Jimmy Lee who let me use his hardwares for the
  123.      development of this program.
  124.  
  125.  
  126.      If you find this program useful, please consider a contribution in
  127.      whatever amount that you feel is appropriate.  Any comments, suggestions
  128.      are welcome, also if there's any bugs please send them by writing to
  129.  
  130.  
  131.                       Mr. Duy-Minh NHIEU
  132.                           4882 Mackenzie
  133.                           Montreal Quebec
  134.                           Canada   H3W-1B3
  135.  
  136.  
  137.      Sourse code in Turbo Pascal available for a charge of $50 U.S.
  138.      You are encouraged to copy and distribute 3DSur and its related files
  139.      and charge no fee of any kind.
  140.      Freely freely you have received, freely freely give!
  141.