For a set of 3D-coordinates/triangular mesh, the closest matches on a target surface are determined and normals at as well as distances to that point are calculated.
vcgClost(
x,
mesh,
sign = TRUE,
barycentric = FALSE,
smoothNormals = FALSE,
borderchk = FALSE,
tol = 0,
facenormals = FALSE,
...
)
returns an object of class "mesh3d" with:
4 x n matrix containing n vertices as homolougous coordinates.
4 x n matrix containing vertex normals.
numeric vector containing distances to target.
3 x m integer matrix containing vertex indices forming triangular faces.Only available, when x is a mesh.
integer vector of length n: if borderchk = TRUE, for each clostest point the value will be 1 if the hit face is at the border of the target mesh and 0 otherwise.
3 x m Matrix containing barycentric coordinates of closest points; only available if barycentric=TRUE.
vector of face indeces on which the closest points are located
k x 3 matrix containing 3D-coordinates or object of class "mesh3d".
triangular surface mesh stored as object of class "mesh3d".
logical: if TRUE, signed distances are returned.
logical: if TRUE, barycentric coordinates of the hit points are returned.
logical: if TRUE, laplacian smoothed normals are used.
logical: request checking if the hit face is at the border of the mesh.
maximum distance to search. If distance is beyond that, the original point will be kept and the distance set to NaN. If tol = 0, tol is set to 2*diagonal of the bounding box of mesh
.
logical: if TRUE only the facenormal of the face the closest point has hit is returned, the weighted average of the surrounding vertex normals otherwise.
additional parameters, currently unused.
Stefan Schlager
Baerentzen, Jakob Andreas. & Aanaes, H., 2002. Generating Signed Distance Fields From Triangle Meshes. Informatics and Mathematical Modelling.
vcgPlyRead
data(humface)
clost <- vcgClost(humface.lm, humface)
Run the code above in your browser using DataLab