home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / CNC11TP.ZIP / DEMOHYPR.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1989-01-19  |  1.6 KB  |  59 lines

  1. { Copyright (C) 1989 Adam Fritz, 133 Main St., Afton, N.Y. 13730 }
  2.  
  3. program StrokeHyperbolaDemo ;
  4.  
  5.      {    DemoHypr - draw hyperbola with given radii and   }
  6.      {               specified rotation angle              }
  7.  
  8. uses GRAPH ;
  9.  
  10. {~~~~~~~~~~~~~~~~~~ hyperbola routines ~~~~~~~~~~~~~~~~~~~~}
  11.  
  12. {$I conic.pas }
  13.  
  14. {-$I hyprda.pas }
  15. {-$I hyprdaf.pas }
  16. {-$I hyprdam.pas }
  17. {-$I hyprdamg.pas }
  18. {-$I hyprmb.pas }
  19. {-$I hyprmbr.pas }
  20. {-$I hyprra.pas }
  21. {$I hyprraf.pas }
  22. {-$I hyprram.pas }
  23.  
  24. {~~~~~~~~~~~~~~~~~~~~~ main program ~~~~~~~~~~~~~~~~~~~~~~~}
  25.  
  26. var
  27.    grDriver, grMode : integer ; { graph control parameters }
  28.    a, b           : word ;    { hyperbola radii }
  29.    xc, yc           : integer ; { hyperbola center }
  30.    ta, tad          : single ;  { rotation angle }
  31.  
  32. begin
  33.                                 { prompt for radii }
  34.    repeat
  35.       write ('Radii: ') ;
  36.       readln (a,b)
  37.    until (a > 0) and (b > 0) ;
  38.                                 { prompt for rotation angle }
  39.    repeat
  40.       write ('Rotation angle (deg): ') ;
  41.       readln (tad)
  42.    until (tad >= 0.0) and (tad < 360.0) ;
  43.    ta := tad / 180.0 * Pi ;
  44.                                 { initiate graphics }
  45.    grDriver := Detect ;
  46.    InitGraph(grDriver,grMode,'') ;
  47.                                 { center of display }
  48.    xc := (GetMaxX + 1) div 2 ;
  49.    yc := (GetMaxY + 1) div 2 ;
  50.                                 { draw hyperbola }
  51.    StrokeHyperbola(xc,yc,a,b,ta) ;
  52.                                 { pause }
  53.    readln ;
  54.    CloseGraph
  55.  
  56. end.
  57.  
  58. { Copyright (C) 1989 Adam Fritz, 133 Main St., Afton, N.Y. 13730 }
  59.