convex.hull: Return the convex hull of a triangulation object

View source: R/convex.hull.R

convex.hullR Documentation

Return the convex hull of a triangulation object

Description

Given a triangulation tri.obj of n points in the plane, this subroutine returns two vectors containing the coordinates of the nodes on the boundary of the convex hull.

ConvexHull is an experimental C++ implementation of Grahams Scan without previous triangulation, should be much faster.

Usage

convex.hull(tri.obj, plot.it=FALSE, add=FALSE,...)
       ConvexHull(x,y)

Arguments

tri.obj

object of class triSht

plot.it

logical, if TRUE the convex hull of tri.obj will be plotted.

add

logical. if TRUE (and plot.it=TRUE), add to a current plot.

...

additional plot arguments

x

only for ConvexHull(): x coordinates for C++ call to ConvexHull

y

only for ConvexHull(): see x

Value

x

x coordinates of boundary nodes.

y

y coordinates of boundary nodes.

Note

In case that there are several collinear nodes on the convex hull convex.hull will return them all while ConvexHull will only give edge points.

Author(s)

Albrecht Gebhardt <albrecht.gebhardt@aau.at>, Roger Bivand <roger.bivand@nhh.no>

See Also

triSht, print.triSht, plot.triSht, summary.triSht, triangles.

Examples

## random points:
rand.tr<-tri.mesh(runif(10),runif(10))
plot(rand.tr)
rand.ch<-convex.hull(rand.tr, plot.it=TRUE, add=TRUE, col="red")
## use a part of the quakes data set:
data(quakes)
quakes.part<-quakes[(quakes[,1]<=-17 & quakes[,1]>=-19.0 &
                     quakes[,2]<=182.0 & quakes[,2]>=180.0),]
quakes.tri<-tri.mesh(quakes.part$lon, quakes.part$lat, duplicate="remove")
plot(quakes.tri)
convex.hull(quakes.tri, plot.it=TRUE, add=TRUE, col="red")

interp documentation built on May 29, 2024, 8:03 a.m.