How do you find the time of the collision of circles moving under uniform circular motion? I am working on a simulation involving circular pucks moving in circular orbits at constant angular speed. I found the equation determining when the pucks collide to be intractable so have been calculating the time of collisions in a given time delta via a binary search which has worked adequately; however, I am by no means an expert in numerical techniques.
I do believe that a closed form symbolic solution to this problem either does not exist or is so large and unwieldy it is worthless, but I wonder if there is a technique for finding a numerical solution that is more direct than the binary search approach I am using. If I am wrong about a symbolic solution being intractable I'd also be interested in that, obviously.
The problem can be formalized as below. One puck is revolving around the origin with angular speed $\alpha_1$, initial angular position $\theta_1$, and radius of revolution $r_1$. The other puck is revolving around $(c_x,c_y)$ with analogous properties. $d$ is the sum of the of the pucks' radii; $t$ is time; we are solving for time:
$$ [r_1 \cos(\theta_1 + t \alpha_1) - (c_x + r_2 \cos(\theta_2 + t \alpha_2))]^2 + [r_1 \sin(\theta_1 + t \alpha_1) - (c_y + r_2 \sin(\theta_2 + t \alpha_2))]^2 = d^2$$

There are plenty of equation solving algorithms that a google search will turn up. You are solving for the zeros of a function mapping one variable to one variable. Look at bisection, interpolation methods, Newton-Raphson, etc.
