This function calculates and clusters the different connected components of the α-shape of a given sample of points in the three-dimensional space.
components_ashape3d(as3d, indexAlpha = 1)
An object of class
A single value or vector with the indexes of
components_ashape3d computes the connected components of
the α-shape for each value of α in
indexAlpha is numeric.
indexAlpha="ALL" then the function
computes the connected components of the α-shape for all values
of α in
indexAlpha is a single value then the function returns a
v of length equal to the sample size. For each sample point
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.
components_ashape3d returns a list of vectors describing
the connected components of the α-shape for each selected value
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
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[]) # Number of components and points in each component for alpha=2 table(comp[]) # Plot the connected components for alpha=0.25 plot(ashape3d.obj, byComponents = TRUE, indexAlpha = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.