       SUBROUTINE FRMNODT(X1,Y1,X2,Y2,X3,Y3,NPTS)

       USE BLK1MOD
!       INCLUDE 'BLK1.COM'

!      X1,X2,X3 AND Y1,Y2,Y3 are vertices of triangle
!      NPTS is the nominal number of elements on each side


!      Work along first side AND backwards along second line

       DO N=1,NPTS-1
         RATIO=FLOAT(N)/FLOAT(NPTS)
         X12=X1+RATIO*(X2-X1)
         Y12=Y1+RATIO*(Y2-Y1)
         X32=X3+RATIO*(X2-X3)
         Y32=Y3+RATIO*(Y2-Y3)

!      Now get interior points

         NINT=NPTS-N
         DO M=1,NINT-1
           RATIO=FLOAT(M)/FLOAT(NINT)
           XNEW=X12+RATIO*(X32-X12)
           YNEW=Y12+RATIO*(Y32-Y12)
           CALL DEFNOD(XNEW,YNEW) 
         ENDDO
       ENDDO 
       RETURN
       END

       SUBROUTINE DEFNOD(XNEW,YNEW)

       USE BLK1MOD
       USE BLK2MOD 
!       INCLUDE 'BLK1.COM'
!       INCLUDE 'BLK2.COM'
       INCLUDE 'TXFRM.COM'

       CALL GETNOD(N2) 
       CORD(N2,1) = XNEW 
       CORD(N2,2) = YNEW 
       WD(N2)=-9999. 
       WIDTH(N2) = 0. 
       SS1(N2)=0.
       SS2(N2)=0. 
       WIDS(N2)=0. 
       BS1(N2)=0.
       INSKP(N2)=0 
       INEW(N2) = 1 
!                                                                       
       XUSR(N2) = CORD(N2,1)*TXSCAL - XS 
       YUSR(N2) = CORD(N2,2)*TXSCAL - YS 
       LIST(N2)=1
       CALL PLTNOD(N2,1) 
 
       RETURN
       END