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$$

Both the first and second derivatives of the function returning the difference of the squared distance between the pucks and the squared sum of the pucks radii are defined and continuous thus Halley's method performs well given correct bracketing of a root.
