Apollonius | R Documentation |
Computation of the Apollonius diagram and the Apollonius graph of some weighted 2D points. The Apollonius graph is the dual of the Apollonius diagram. It is also called the additively weighted Voronoï diagram.
Apollonius(sites, radii, tmax = 30, nsegs = 100L, nrays = 300L)
sites |
the 2D points, a numeric matrix with two columns (one point per row) |
radii |
the weights, a numeric vector of length equal to the number of
points (i.e. the number of rows of |
tmax |
a positive number passed to |
nsegs |
a positive integer, the desired number of points of each finite edge of the Apollonius graph |
nrays |
a positive integer, the desired number of points of each infinite edge of the Apollonius graph |
See the CGAL documentation.
A list with two fields diagram
and graph
. The
diagram
field is a list providing the sites and the faces of the
Apollonius diagram. The graph
field is a list providing the sites
and the edges of the Apollonius graph.
library(Apollonius)
sites <- rbind(
c(0, 0),
c(4, 1),
c(2, 4),
c(7, 4),
c(8, 0),
c(5, -2),
c(-4, 4),
c(-2, -1),
c(11, 4),
c(11, 0)
)
radii <- c(1, 1.5, 1.25, 2, 1.75, 0.5, 0.4, 0.6, 0.7, 0.3)
apo <- Apollonius(sites, radii)
opar <- par(mar = c(4, 4, 1, 1))
plotApolloniusGraph(apo, xlab = "x", ylab = "y")
par(opar)
# Example of a non-valid graph ####
library(Apollonius)
sites <- rbind(
c(-1, -1),
c(-1, 1),
c(1, 1),
c(1, -1),
c(0, 0)
)
angle_ <- seq(0, 2*pi, length.out = 13L)[-1L]
circle <- cbind(2 * cos(angle_), 2 * sin(angle_))
sites <- rbind(sites, circle)
radii <- c(rep(2, 5), rep(1, 12))
## Not run: apo <- Apollonius(sites, radii)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.