tri.find {interp} | R Documentation |
Locate a point in a triangulation
Description
This subroutine locates a point P=(x,y)
relative to a
triangulation created by tri.mesh
. If P
is
contained in a triangle, the three vertex indexes are
returned. Otherwise, the indexes of the rightmost and
leftmost visible boundary nodes are returned.
Usage
tri.find(tri.obj,x,y)
Arguments
tri.obj |
an triangulation object of class |
x |
x-coordinate of the point |
y |
y-coordinate of the point |
Value
A list with elements i1
,i2
,i3
containing nodal
indexes, in counterclockwise order, of the vertices of a triangle
containing P=(x,y)
. tr
contains the triangle index and
bc
contains the barycentric coordinates
of P
w.r.t. the found triangle.
If P
is not contained in the
convex hull of the nodes this indices are 0 (bc
is meaningless then).
Author(s)
Albrecht Gebhardt <albrecht.gebhardt@aau.at>, Roger Bivand <roger.bivand@nhh.no>
See Also
triSht
, print.triSht
, plot.triSht
,
summary.triSht
, triangles
,
convex.hull
Examples
data(franke)
tr<-tri.mesh(franke$ds3$x,franke$ds3$y)
plot(tr)
pnt<-list(x=0.3,y=0.4)
triangle.with.pnt<-tri.find(tr,pnt$x,pnt$y)
attach(triangle.with.pnt)
lines(franke$ds3$x[c(i1,i2,i3,i1)],franke$ds3$y[c(i1,i2,i3,i1)],col="red")
points(pnt$x,pnt$y)