PBSmapping (version 2.73.4)

isConvex: Determine Whether Polygons are Convex

Description

Determine whether polygons found in a PolySet are convex.

Usage

isConvex (polys)

Value

PolyData with columns PID, SID (may be missing), and convex. Column convex contains Boolean values.

Arguments

polys

PolySet to use.

Author

Nicholas M. Boers, Staff Software Engineer
Jobber, Edmonton AB
Last modified Rd: 2013-04-10

Details

Convex polygons do not self-intersect. In a convex polygon, only the first and last vertices may share the same coordinates (i.e., the polygons are optionally closed).

The function does not give special consideration to holes. It returns a value for each unique (PID, SID), regardless of whether a contour represents a hole.

See Also

isIntersecting, PolySet.

Examples

Run this code
local(envir=.PBSmapEnv,expr={
  #--- load the data (if using R)
  if (!is.null(version$language) && (version$language=="R"))
    data(nepacLL,envir=.PBSmapEnv)
  #--- calculate then print the polygons that are convex
  p <- isConvex(nepacLL);
  #--- nepacLL actually contains no convex polygons
  print(p[p$convex,])
})

Run the code above in your browser using DataLab