Previous: fitvgr Up: ../plot79_f.html Next: fitvpd
SUBROUTINE FITVLC (NDP, XD, YD, NT, IPT, NL, IPL, XII, YII, ITI, X IWK, WK) C$ (ALG526 - Internal Locate Triangle Number) C$ This subroutine locates a point, i.e., determines to what C$ triangle a given point (XII,YII) belongs. When the given C$ point does not lie inside the data area, this subroutine C$ determines the border line segment when the point lies in C$ an outside rectangular area, and two border line segments C$ when the point lies in an outside triangular area. The C$ input parameters are: C$ C$ NDP............Number of data points, C$ XD(*),YD(*)....Arrays of dimension NDP containing the X C$ and Y coordinates of the data points, C$ NT ............Number of triangles, C$ IPT(*).........INTEGER array of dimension 3*NT containing C$ the point numbers of the vertexes of the C$ triangles, C$ NL ............Number of border line segments, C$ IPL(*).........INTEGER array of dimension 3*NL containing C$ the point numbers of the end points of the C$ border line segments and their respective C$ triangle numbers, C$ XII,YII........X and Y coordinates of the point to be C$ located. C$ C$ The output parameter is: C$ C$ ITI............Triangle number, when the point is inside C$ the data area, or two border line segment C$ numbers, IL1 and IL2, coded to C$ IL1*(NT+NL)+IL2, when the point is outside C$ the data area. C$ C$ The other parameters are C$ C$ IWK(*).........INTEGER array of dimension 18*NDP used C$ internally as a work area, C$ WK(*)..........REAL array of dimension 8*NDP used C$ internally as a work area. C$ C$ This routine incorporates the corrections published in C$ Hiroshi Akima, "Remark on Algorithm 526", ACM Trans. Math. C$ Software 5, No. 2, 242-243 (June 1979). C$ C$ (03-APR-82)