##### Locate a point in a triangulation

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.

- Keywords
- spatial

##### Usage

`tri.find(tri.obj,x,y)`

##### Arguments

- tri.obj
an triangulation object of class

`triSht`

- 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)\). `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).

##### See Also

`triSht`

, `print.triSht`

, `plot.triSht`

,
`summary.triSht`

, `triangles`

,
`convex.hull`

##### Examples

```
# NOT RUN {
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)
# }
```

*Documentation reproduced from package interp, version 1.0-33, License: GPL (>= 2)*