subdivision3d              package:rgl              R Documentation

_g_e_n_e_r_i_c _s_u_b_d_i_v_i_s_i_o_n _s_u_r_f_a_c_e _m_e_t_h_o_d

_D_e_s_c_r_i_p_t_i_o_n:

     The Subdivision surface algorithm divide and refine (deform) a
     given mesh recursively to certain degree (depth). The mesh3d
     algorithm consists of two stages: divide and deform. The divide
     step generates for each triangle or quad four new triangles or
     quads, the deform step drags the points (refinement step).

_U_s_a_g_e:

       subdivision3d( x,  ...)
       ## S3 method for class 'mesh3d':
       subdivision3d( x, depth=1, normalize=FALSE, deform=TRUE, ... )
       divide.mesh3d(mesh,  vb=mesh$vb, ib=mesh$ib, it=mesh$it )
       normalize.mesh3d(mesh)
       deform.mesh3d(mesh,vb=mesh$vb,ib=mesh$ib,it=mesh$it )

_A_r_g_u_m_e_n_t_s:

       x: 3d geometry mesh

    mesh: 3d geometry mesh

   depth: recursion depth

normalize: normalize mesh3d coordinates after division if 'deform' is
          'TRUE'

  deform: deform mesh

      it: indices for triangular faces

      ib: indices for quad faces

      vb: matrix of vertices: 4xn matrix (rows x,y,z,h) or equivalent
          vector, where h indicates scaling of each plotted quad

     ...: other arguments (unused)

_D_e_t_a_i_l_s:

     Generic subdivision surface method. Currently there exists an
     algorithm that can be applied on mesh3d objects.

_S_e_e _A_l_s_o:

     'r3d' 'mesh3d'

_E_x_a_m_p_l_e_s:

       open3d()
       shade3d( subdivision3d( cube3d(), depth=3 ), color="red", alpha=0.5 )

