Previous: fitvsf Up: ../plot79_f.html Next: fitvxc


FITVTA

       SUBROUTINE  FITVTA (NDP, XD, YD, NT, IPT, NL, IPL, IWL, IWP, WK,
      X                    IERROR)
 C$    (ALG526 - Internal Triangulation)
 C$    This subroutine performs triangulation.  It divides the X-Y
 C$    plane into a  number of triangles  according to given  data
 C$    points in the plane, determines line segments that form the
 C$    border of data  area, and determines  the triangle  numbers
 C$    corresponding to the border line segments.  At  completion,
 C$    point numbers of the vertexes  of each triangle are  listed
 C$    counter-clockwise.  Point numbers of the end points of each
 C$    border line segment  are listed counter-clockwise,  listing
 C$    order of the line  segments being counter-clockwise.   This
 C$    subroutine calls the FITVXC function.
 C$
 C$    The input parameters are:
 C$
 C$    NDP............Number of data points (must be 4 or greater),
 C$    XD(*)..........Array of dimension NDP containing the X
 C$                   coordinates of the data points,
 C$    YD(*)..........Array of dimension NDP containing the Y
 C$                   coordinates of the data points,
 C$
 C$    The output parameters are:
 C$
 C$    NT.............Number of triangles,
 C$    IPT(*).........INTEGER  array of dimension 6*NDP-15,  where
 C$                   the point  numbers of  the vertexes  of  the
 C$                   (IT)th triangle  are  to be  stored  as  the
 C$                   (3*IT-2)nd,   (3*IT-1)st,    and    (3*IT)th
 C$                   elements, IT=1,2,...,NT,
 C$    NL.............Number of border line segments,
 C$    IPL(*).........INTEGER array of dimension 6*NDP,  where the
 C$                   point numbers  of  the  end  points  of  the
 C$                   (IL)th   border   line   segment   and   its
 C$                   respective triangle number are to be  stored
 C$                   as the (3*IL-2)nd, (3*IL-1)st, and  (3*IL)th
 C$                   elements, IL=1,2,..., NL.
 C$    IERROR.........0 (Normal return)
 C$                   1  (Abnormal  return.   a  message  will  be
 C$                   printed  giving  all   the  arguments,   and
 C$                   nothing more will be done)
 C$
 C$    The other parameters are:
 C$
 C$    IWL(*).........INTEGER  array  of  dimension  18*NDP   used
 C$                   internally as a work area,
 C$    IWP(*).........INTEGER  array   of   dimension   NDP   used
 C$                   internally as a work area,
 C$    WK(*)..........REAL array of dimension  NDP used internally
 C$                   as a work area.
 C$
 C$    (03-APR-82)