R: Locate a point in a triangulation

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

### 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)

[Package interp version 1.1-1 Index]