qmesh3d {rgl} | R Documentation |
3D Quadrangle Mesh object creation and a collection of sample objects.
qmesh3d(vertices, indices, homogeneous = TRUE, material = NULL) cube3d(trans = identityMatrix(), ...) # cube object oh3d(trans = identityMatrix(), ...) # an 'o' object dot3d(x, ...) # draw dots at the vertices of an object ## S3 method for class 'qmesh3d': dot3d(x, override = TRUE, ...) wire3d(x, ...) # draw a wireframe object ## S3 method for class 'qmesh3d': wire3d(x, override = TRUE, ...) shade3d(x, ...) # draw a shaded object ## S3 method for class 'qmesh3d': shade3d(x, override = TRUE, ...)
x |
a qmesh3d object (class qmesh3d) |
vertices |
3- or 4-component vector of coordinates |
indices |
4-component vector of quad indices |
homogeneous |
logical indicating if homogeneous (four component) coordinates are used. |
material |
material properties for later rendering |
trans |
transformation to apply to objects; see below for defaults |
... |
additional rendering parameters |
override |
should the parameters specified here override those stored in the object? |
The cube3d
and oh3d
objects optionally take a matrix transformation as
an argument. This transformation is applied to all vertices of the default shape.
The default is an identity transformation. Use par3d("userMatrix")
to render the
object vertically in the current user view.
# generate a quad mesh object vertices <- c( -1.0, -1.0, 0, 1.0, 1.0, -1.0, 0, 1.0, 1.0, 1.0, 0, 1.0, -1.0, 1.0, 0, 1.0 ) indices <- c( 1, 2, 3, 4 ) clear3d() wire3d( qmesh3d(vertices,indices) ) # render 4 meshes vertically in the current view clear3d() bg3d("gray") l0 <- oh3d(tran = par3d("userMatrix"), color = "green" ) shade3d( translate3d( l0, -6, 0, 0 )) l1 <- subdivision3d( l0 ) shade3d( translate3d( l1 , -2, 0, 0 ), color="red", override = FALSE ) l2 <- subdivision3d( l1 ) shade3d( translate3d( l2 , 2, 0, 0 ), color="red", override = TRUE ) l3 <- subdivision3d( l2 ) shade3d( translate3d( l3 , 6, 0, 0 ), color="red" )