We propose using a set of blocks to approximate geologically complex media that cannot be well described by layered models. Interfaces between blocks are triangulated to prevent overlaps or gaps often produced by other techniques, such as B-splines, and to speed up the calculation of intersection points between a ray and block interfaces. We also use a smoothing algorithm to make the normal vector of each triangle continuous at the boundary, so that ray tracing can be performed with stability and accuracy. Based on Fermat's principle, we perturb an initial raypath between two points, generally obtained by shooting, with a segmentally iterative ray-tracing (SIRT) method. Intersection points on a ray are updated in sequence, instead of simultaneously, because the number of new intersection points may be increased or decreased during the iteration process. To improve convergence speed, we update the intersection points by a first-order explicit formula instead of traditional iterative methods. Only transmitted and reflected waves are considered. Numerical tests demonstrate that the combination of block modeling and segmentally iterative ray tracing is effective in implementing kinematic two-point ray tracing in complex 3D media.