facing3d subsets an object by converting it to a triangle mesh,
then subsetting to those triangles that are counterclockwise
front = TRUE) when projected into a plane.
projectDown computes a projection that “looks down” the specified direction.
facing3d(obj, up = c(0, 0, 1), P = projectDown(up), front = TRUE, strict = TRUE) projectDown(up)
An object that can be converted to a triangular mesh object.
The direction that is to be considered “up”. It may be either a 3 vector in Euclidean coordinates or a 4 vector in homogeneous coordinates.
The projection to use for draping, a 4x4 matrix. See
drape3d for details on how
P is used.
front = TRUE, retains triangles that are counterclockwise after projection by
retains those that are clockwise.
TRUE, drops indeterminate triangles
(those that are annihilated by
the returned subset will be those triangles whose upper side
up or use an
arbitrary projection for different subsets.
shadow3d project objects onto meshes; these functions can be used to
project only onto the top or front.
facing3d returns a mesh object made of those triangles which face in the
projectDown computes a 4x4 matrix. The first two
asEuclidean(x %*% projectDown(up))
give a projection of
x from above into a plane, where
up determines which direction is taken to be “up”.
open3d() d <- rnorm(3) d <- d/sqrt(sum(d^2)) shade3d( facing3d( icosahedron3d(), up = d, strict = FALSE), col = "yellow") wire3d( facing3d( icosahedron3d(), up = d, front = FALSE), col = "black") # Show the direction: arrow3d(-2*d , -d)