# components_ashape3d

##### Connected subsets computation

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

`"ashape3d"`

that represents the \(\alpha\)-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 \(\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

```
# NOT RUN {
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)
# }
```

*Documentation reproduced from package alphashape3d, version 1.3, License: GPL-2*