Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

components_ashape3d

Connected subsets computation


Description

This function calculates and clusters the different connected components of the α-shape of a given sample of points in the three-dimensional space.

Usage

components_ashape3d(as3d, indexAlpha = 1)

Arguments

as3d

An object of class "ashape3d" that represents the α-shape of a given sample of points in the three-dimensional space, see ashape3d.

indexAlpha

A single value or vector with the indexes of as3d$alpha that should be used for the computation, see Details.

Details

The function components_ashape3d computes the connected components of the α-shape for each value of α in as3d$alpha[indexAlpha] when indexAlpha is numeric.

If indexAlpha="all" or indexAlpha="ALL" then the function computes the connected components of the α-shape for all values of α 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 α-shape for each selected value of α.

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)

alphashape3d

Implementation of the 3D Alpha-Shape for the Reconstruction of 3D Sets from a Point Cloud

v1.3.1
GPL-2
Authors
Thomas Lafarge, Beatriz Pateiro-Lopez
Initial release
2020-12-09

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.