components_ashape3d {alphashape3d} | R Documentation |
Connected subsets computation
Description
This function calculates and clusters the different connected components of
the \alpha
-shape of a given sample of points in the three-dimensional
space.
Usage
components_ashape3d(as3d, indexAlpha = 1)
Arguments
as3d |
An object of class |
indexAlpha |
A single value or vector with the indexes of
|
Details
The function components_ashape3d
computes the connected components of
the \alpha
-shape for each value of \alpha
in
as3d$alpha[indexAlpha]
when indexAlpha
is numeric.
If indexAlpha="all"
or indexAlpha="ALL"
then the function
computes the connected components of the \alpha
-shape for all values
of \alpha
in as3d$alpha
.
Value
If indexAlpha
is a single value then the function returns a
vector v
of length equal to the sample size. For each sample point
i
, v[i]
represents the label of the connected component to
which the point belongs (for isolated points, v[i]=-1
). The labels of
the connected components are ordered by size where the largest one (in
number of vertices) gets the smallest label which is one.
Otherwise components_ashape3d
returns a list of vectors describing
the connected components of the \alpha
-shape for each selected value
of \alpha
.
See Also
Examples
T1 <- rtorus(1000, 0.5, 2)
T2 <- rtorus(1000, 0.5, 2, ct = c(2, 0, 0), rotx = pi/2)
x <- rbind(T1, T2)
alpha <- c(0.25, 2)
ashape3d.obj <- ashape3d(x, alpha = alpha)
plot(ashape3d.obj, indexAlpha = "all")
# Connected components of the alpha-shape for both values of alpha
comp <- components_ashape3d(ashape3d.obj, indexAlpha = "all")
class(comp)
# Number of components and points in each component for alpha=0.25
table(comp[[1]])
# Number of components and points in each component for alpha=2
table(comp[[2]])
# Plot the connected components for alpha=0.25
plot(ashape3d.obj, byComponents = TRUE, indexAlpha = 1)