virtualMeshScan: remove all parts of a triangular mesh, not visible from a set...

View source: R/virtualMeshScan.r

virtualMeshScanR Documentation

remove all parts of a triangular mesh, not visible from a set of viewpoints

Description

remove all parts of a triangular mesh, not visible from a set of viewpoints

Usage

virtualMeshScan(x, viewpoints, offset = 0.001, cores = 1)

Arguments

x

triangular mesh of class 'mesh3d'

viewpoints

vector or k x 3 matrix containing a set of viewpoints

offset

value to generate an offset at the meshes surface (see notes)

cores

integer: number of cores to use (not working on windows)

Value

returns a list containing subsets of the original mesh

visible

the parts visible from at least one of the viewpoints

invisible

the parts not visible from the viewpoints

Note

The function tries to filter out all vertices where the line connecting each vertex with the viewpoints intersects with the mesh itself. As, technically speaking this always occurs at a distance of value=0, a mesh with a tiny offset is generated to avoid these false hits.

Examples

SCP1 <- file2mesh(system.file("extdata","SCP1.ply",package="Morpho"))
viewpoints <- read.fcsv(system.file("extdata","SCP1_Endo.fcsv",package="Morpho"))
## Create a quick endocast
quickEndo <- virtualMeshScan(SCP1,viewpoints)
## Not run: 
rgl::shade3d(quickEndo$visible,col="orange")
rgl::shade3d(SCP1,col="white",alpha=0.5)

## End(Not run)

Morpho documentation built on Feb. 16, 2023, 10:51 p.m.