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

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). 
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
and y
giving the coordinates of the vertices of a single polygon or path.
The last vertex should
not repeat the first vertex.
a list
of list(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.
Data specifying polygons, in the same format as A
.
Angus Johnson. Ported to R by Adrian Baddeley Adrian.Baddeley@curtin.edu.au.
Clipper Website: http://www.angusj.com
polyclip
,
polyoffset
,
polylineoffset
,
polysimplify
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)

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
All documentation is copyright its authors; we didn't write any of that.