! $Id: x11f.f,v 1.2 1994/05/26 19:34:25 mjl Exp $
! $Log: x11f.f,v $
! Revision 1.2  1994/05/26  19:34:25  mjl
! Inserted missing CVS Id and Log fields for all Fortran demos.  Comment
! character changed to "!" everywhere, to work well with font-lock in Lucid
! emacs (requires a small change to fortran-mode.el).
!
!
!     Demonstration of mesh plotting 

      parameter (NPTS=41)
      integer opt(4)
      real alt(4), az(4)
      real x(NPTS), y(NPTS), z(NPTS,NPTS)
      character*80 title(4)

      data opt /1,   2,   3,   3/
      data alt /60.0,20.0,60.0,60.0/
      data az /30.0,60.0,120.0,160.0/

      data title /"#frPLPLOT Example 11 - Alt=60, Az=30, Opt=1",
     *            "#frPLPLOT Example 11 - Alt=20, Az=60, Opt=2",
     *            "#frPLPLOT Example 11 - Alt=60, Az=120, Opt=3",
     *            "#frPLPLOT Example 11 - Alt=60, Az=160, Opt=3"/

      do 1 i=1,NPTS
         x(i) = (i-1-(NPTS/2))/float(NPTS/2)
         y(i) = (i-1-(NPTS/2))/float(NPTS/2)
1     continue

      do 2 i=1,NPTS
         xx = x(i)
         do 3 j=1,NPTS
            yy = y(j)
            r = sqrt(xx*xx + yy*yy)
            z(i,j) = exp(-r*r) * cos(2.0*3.141592654*r)
3        continue
2     continue

      call plinit()

      do 4 k=1,4
         call pladv(0)
         call plcol(1)
         call plvpor(0.0,1.0,0.0,0.9)
         call plwind(-1.0,1.0,-0.9,1.1)

         call plw3d(1.0,1.0,1.0,-1.0,1.0,-1.0,1.0,-1.0,1.0,alt(k),az(k))
         call plbox3("bnstu","x axis",0.0,0,"bnstu","y axis",0.0,0,
     *               "bcdmnstuv","z axis",0.0,0)
         call plcol(2)
         call plmesh(x,y,z,NPTS,NPTS,opt(k),NPTS)
         call plcol(3)
         call plmtex("t",1.0,0.5,0.5,title(k))
4     continue

      call plend

      end
