qmesh3d {rgl}R Documentation

3D Quadrangle Mesh objects

Description

3D Quadrangle Mesh object creation and a collection of sample objects.

Usage

  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, ...)

Arguments

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?

Details

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.

See Also

r3d, par3d

Examples


  # 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" )
  

[Package rgl version 0.65 Index]