Previous: fitvsf Up: ../plot79_f.html Next: fitvxc
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)