get3Drayblox              package:RTOMO              R Documentation

_G_e_t _b_l_o_c_k_s _f_r_o_m _3_D _r_a_y _p_a_t_h

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

     Get blocks from 3D ray path

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

     get3Drayblox(XNOD, YNOD, ZNOD, xo, yo, ztop, slowness = NULL)

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

    XNOD: x-coordinates along raypath

    YNOD: y-coordinates along raypath

    ZNOD: z-coordinates along raypath

      xo: x block divisions

      yo: y block divisions

    ztop: vector, topsof layers

slowness: vector, Slowness model

_V_a_l_u_e:

      ix: x index

      iy: y index

      iz: layer index

       r: length in each block

      tt: travel time along whole raypath

_A_u_t_h_o_r(_s):

     Jonathan M. Lees<jonathan.lees@unc.edu>

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

     get2Drayblox

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

     xo = seq(from=0.5, by=1, length=100)
     yo = seq(from=0.5, by=1, length=100)
      ztop = seq(from=0, to=24, by=4)



     Xp = c(11.5, 70.2)
     Yp = c(3.5, 50.2)
     Zp = c(18.4, 0.0)

     dee = sqrt(  (Xp[2]-Xp[1])^2 + (Yp[2]-Yp[1])^2 +  (Zp[2]-Zp[1])^2 )
     deexy = sqrt(  (Xp[2]-Xp[1])^2 + (Yp[2]-Yp[1])^2  )

     fi  = findInterval(Zp, ztop)

     ZNOD = c(Zp[1], ztop[fi[1]:fi[2]])

     alpha = asin(deexy/dee)

     RN = deexy-ZNOD*tan(alpha)

     XNOD = Xp[1]+RN*(Xp[2]-Xp[1])/deexy
     YNOD = Yp[1]+RN*(Yp[2]-Yp[1])/deexy

     IYZ = get3Drayblox(XNOD, YNOD, ZNOD, xo, yo, ztop, slowness = NULL)

