Minkowski Sum of Polygon with Path
Description
Compute the Minkowski Sum of a polygon with a path or paths.
Usage
1 2  polyminkowski(A, B, ..., eps, x0, y0,
closed=TRUE)

Arguments
A 
Data specifying a polygon or polygons. See Details. 
B 
Data specifying a path or paths. See Details. 
... 
Ignored. 
eps 
Spatial resolution for coordinates. 
x0,y0 
Spatial origin for coordinates. 
closed 
Logical value indicating whether the resulting path should be interpreted as closed (last vertex joined to first vertex and interior filled in). 
Details
This is an interface to the function MinkowskiSum
in
Angus Johnson's C++
library Clipper.
It computes the Minkowski Sum of the polygon A
(including its interior) with the path or paths B
(excluding their interior).
The argument A
should be
a list containing two components x
and y
giving the coordinates of the vertices of a single polygon.
The last vertex should
not repeat the first vertex.
The argument B
should be either

a list containing two components
x
andy
giving the coordinates of the vertices of a single polygon or path. The last vertex should not repeat the first vertex. 
a
list
oflist(x,y)
structures giving the coordinates of the vertices of several polygons or paths.
Calculations are performed in integer arithmetic
after subtracting x0,y0
from the coordinates,
dividing by eps
, and rounding to the nearest integer.
Thus, eps
is the effective spatial resolution.
The default values ensure reasonable accuracy.
Value
Data specifying polygons, in the same format as A
.
Author(s)
Angus Johnson. Ported to R by Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
References
Clipper Website: http://www.angusj.com
See Also
polyclip
,
polyoffset
,
polylineoffset
,
polysimplify
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13  A < list(list(x=c(3,3,3,3),y=c(3,3,3,3)))
B < list(list(x=c(1,1,1,1),y=c(1,1,1,1)))
C < polyminkowski(A, B)
opa < par(mfrow=c(1,3))
rr < c(4, 4)
plot(rr, rr, type="n", axes=FALSE, xlab="", ylab="", main="A")
polygon(A[[1]], col="blue")
plot(rr,rr, type="n", axes=FALSE, xlab="", ylab="", main="B")
polygon(B[[1]], border="red", lwd=4)
plot(rr,rr, type="n", axes=FALSE, xlab="", ylab="", main="A+B")
polygon(C[[1]], col="green")
polygon(C[[2]], col="white")
par(opa)
