`as.mesh3d.ashape3d`

converts an
`alphashape3d::ashape3d`

object into a nat/rgl compatible
`mesh3d`

surface

Note that this provides a link to the Rvcg package

`as.mesh3d.boundingbox`

converts a nat
`boundingbox`

object into an rgl compatible `mesh3d`

object.

```
# S3 method for ashape3d
as.mesh3d(x, tri_to_keep = 2L, ...)
# S3 method for hxsurf
as.mesh3d(x, Regions = NULL, material = NULL, drop = TRUE, ...)
# S3 method for boundingbox
as.mesh3d(x, ...)
```

- x
Object to convert to mesh3d

- tri_to_keep
Which alphashape triangles to keep (expert use only - see

`triang`

entry in**Value**section of`ashape3d`

docs for details.)- ...
Additional arguments for methods

- Regions
Character vector or regions to select from

`hxsurf`

object- material
rgl materials such as

`color`

- drop
Whether to drop unused vertices (default TRUE)

An alpha shape is a generalisation of a convex hull enclosing a set of points. Unlike a convex hull, the resultant surface can be partly concave allowing the surface to more closely follow the set of points.

In this implementation, the parameter alpha is a scale factor with units of length that defines a spatial domain. When alpha is larger the alpha shape approaches the convex hull; when alpha is smaller the alpha shape has a greater number of faces / vertices i.e. it follows the points more closely.

`as.mesh3d`

, `tmesh3d`

,
`as.hxsurf`

, `read.hxsurf`

Other hxsurf:
`as.hxsurf()`

,
`materials()`

,
`plot3d.hxsurf()`

,
`read.hxsurf()`

,
`subset.hxsurf()`

,
`write.hxsurf()`

```
# \donttest{
library(alphashape3d)
#> Loading required package: geometry
kcs20.a=ashape3d(xyzmatrix(kcs20), alpha = 10)
plot(kcs20.a)
#> Device 1 : alpha = 10
# convert to mesh3d
kcs20.mesh=as.mesh3d(kcs20.a)
# check that all points are inside mesh
all(pointsinside(kcs20, kcs20.mesh))
#> [1] FALSE
# and show that we can also use the alphashape directly
all(pointsinside(kcs20, kcs20.a))
#> [1] TRUE
nclear3d()
wire3d(kcs20.mesh)
plot3d(kcs20, col=type, lwd=2)
# }
bb=boundingbox(kcs20)
mbb=as.mesh3d(bb)
# \donttest{
plot3d(kcs20)
# simple plot
plot3d(bb)
shade3d(mbb, col='red', alpha=0.3)
```