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

surfaceNormals

Normal vectors computation


Description

This function calculates the normal vectors of all the triangles which belong to the boundary of the α-shape.

Usage

surfaceNormals(x, indexAlpha = 1, display = FALSE, col = 3, scale = 1,
  ...)

Arguments

x

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.

display

Logical, if TRUE, surfaceNormals open a new rgl device and display the related α-shape and its normals vectors.

col

Color of the normal vectors.

scale

Scale parameter to control the length of the surface normals, only affect display.

...

Material properties. See rgl.material for details.

Details

The function surfaceNormals computes the normal vectors of all the triangles which belong to the boundary of the α-shape for each value of α in x$alpha[indexAlpha]. The magnitude of each vector is equal to the area of its associated triangle.

If indexAlpha="all" or indexAlpha="ALL" then the function computes the normal vectors for all values of α in as3d$alpha.

Value

If indexAlpha is a single value then the function returns an object of class "normals" with the following components:

normals

Three-column matrix with the euclidean coordinates of the normal vectors.

centers

Three-column matrix with the euclidean coordinates of the centers of the triangles that form the α-shape.

Otherwise surfaceNormals returns a list of class "normals-List" (each object in the list as described above).

See Also

Examples

x <- rtorus(1000, 0.5, 1)
alpha <- 0.25
ashape3d.obj <- ashape3d(x, alpha = alpha)
surfaceNormals(ashape3d.obj, display = TRUE)

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.