We implement a robust three dimensional dynamic ray tracing algorithm, that can be applied to complex geological structures. We use a Runge-Kutta solver to solve the dynamic ray tracing system. This solver has the ability to adapt its step length in accordance with the local gradient of the slowness field. We applied the ray tracing method to three synthetic models. The results were accurate and robust when the model was smoothed with a 3-D triangle filter to make the models more ``ray valid''.