home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 10 / 10.iso / l / l292 / 1.ddi / FUNCPLOT.FOR < prev    next >
Encoding:
Text File  |  1990-02-20  |  1.8 KB  |  75 lines

  1.  
  2.        INCLUDE 'GRAFTYPE.FOR'
  3.  
  4.       RECORD /WorldRect/ wr
  5.       INTEGER  i
  6.  
  7.  
  8.       CALL  tInit3
  9.       CALL  Init3D(-1, 'c:\FOR\LIB\*.FON')
  10.       CALL  SetWorldRect(wr,-10.0,-10.0,10.0,10.0)
  11.       CALL  SetWorldCoordinates(wr)
  12.       CALL  WorldRotate3(-60.0,0)
  13.       CALL  WorldRotate3(30.0,1)
  14.       DO i = 0, 4
  15.         CALL   ClearViewportXX
  16.         CALL   Selectcolor(i+1)
  17.         SELECT CASE (i)
  18.           CASE (0)
  19.             CALL Draw3DAxes(10.0,10.0,10.0)
  20.           CASE (1)
  21.             CALL WorldScale3(0.5,0.5,0.5)
  22.             CALL Draw3DAxes(10.0,10.0,10.0)
  23.           CASE (2)
  24.             CALL WorldScale3(2.0,2.0,2.0)
  25.             CALL WorldRotate3(-40.0,0)
  26.             CALL Draw3DAxes(10.0,10.0,10.0)
  27.           CASE (3)
  28.             CALL WorldRotate3(40.0,0)
  29.             CALL WorldTran3(4.0,3.0,2.0)
  30.             CALL Draw3DAxes(10.0,10.0,10.0)
  31.  
  32.           CASE (4)
  33.             CALL WorldTran3(-4.0,-3.0,-2.0)
  34.             CALL Persp(20.0)
  35.             CALL Draw3DAxes(10.0,10.0,10.0)
  36.         END SELECT
  37.         CALL DrawFunction
  38.       END DO
  39.  
  40.       CALL Close3DGraphics
  41.  
  42.       END
  43.  
  44.       SUBROUTINE DrawFunction()
  45.       INTEGER  i,j
  46.       REAL x,y,z
  47.  
  48.       DO i = -15, 15
  49.         x = REAL(i)/2.0
  50.         DO j = -15, 15
  51.           y = REAL(j)/2.0
  52.           z = 7.0 * exp(-0.1 * (x*x + y*y))
  53.           IF (j .EQ. -15) THEN
  54.             CALL Move3Abs(x,y,z)
  55.           ELSE
  56.             CALL Line3Abs(x,y,z)
  57.           END IF
  58.         END DO
  59.       END DO
  60.       DO i = -15, 15
  61.         y = REAL(i)/2.0
  62.         DO j=  -15, 15
  63.           x = REAL(j)/2.0
  64.           z = 7.0 * exp(-0.1 * (x*x + y*y))
  65.           IF (j .EQ. -15) then
  66.             CALL Move3Abs(x,y,z)
  67.           ELSE
  68.             CALL Line3Abs(x,y,z)
  69.           END IF
  70.         END DO
  71.       END DO
  72.       END
  73.  
  74.  
  75.