Merge duplicate vertices in mesh object
A mesh object can have the same vertex listed twice. Each copy is
allowed to have separate normals, texture coordinates, and color.
However, it is more efficient to have just a single copy if those
differences aren't needed. For automatic smoothing using
addNormals
, triangles and quads need to share vertices.
This function merges identical (or similar) vertices to achieve this.
mergeVertices(mesh, notEqual = NULL, attribute = "vertices", tolerance = sqrt(.Machine$double.eps))
mesh |
A |
notEqual |
A logical matrix indicating that certain pairs should not be merged even if they appear identical. |
attribute |
Which attribute(s) should be considered in comparing vertices?
A vector chosen from |
tolerance |
When comparing vertices using |
A new mesh object.
Duncan Murdoch
as.mesh3d.rglId
, which often constructs mesh
objects containing a lot of duplication.
open3d() (mesh1 <- cuboctahedron3d(col = rainbow(14), meshColor = "face")) id <- shade3d(mesh1) (mesh2 <- as.mesh3d(id)) shade3d(translate3d(mesh2, 3, 0, 0)) (mesh3 <- mergeVertices(mesh2)) shade3d(translate3d(mesh3, 6, 0, 0))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.