Collinearity of triangle vertices on circular paths

130 Views Asked by At

Suppose as a function of time, the vertices of a triangle move with constant speed along circular trajectories: $$ \vec p_i(t) = a_i \left( \begin{array}{c} \cos(b_i t+ c_i)\\ \sin(b_i t+ c_i) \end{array} \right) +\vec d_i, $$ where $i\in\{1,2,3\}$. All motion is in the plane, that is, $\vec p_i(t)\in\mathbb{R}^2$. Every vertex has its own speed/arc.

I need the smallest $t^\ast\geq0$ for which $p_1(t^\ast)$, $p_2(t^\ast)$, and $p_3(t^\ast)$ become collinear, if such a $t^\ast$ exists. Is this computable in closed form? If not, is there a lightweight algorithm (or convex optimization problem) that would recover $t^\ast$?


So far, all I can think of doing is defining the circles implicitly and writing down a condition for finding a line through all three circles. But, this does not involve $t$ and already is not a nice formula.

1

There are 1 best solutions below

0
On

In case that all b_i are rational numbers, without loss of generality, you can assume b_1, b_2, b_3 are integers. (since you can always do a change of variables to rescale the time t)

Using the form of sin(nx) and cos(nx), see e.g. here http://mathworld.wolfram.com/Multiple-AngleFormulas.html

as well as the half angle tangent formula,

https://en.wikipedia.org/wiki/Tangent_half-angle_formula

use the two together, essential you should be able to reduce the determinant constraint "det[p3-p1,p2-p1]=0" as a polynomial equation of tan(t/2).

In summary, 1) first, solving for tan(t/2) by solving a polynomial equation, likely multiple roots will exist. 2) recover t from all possible values of tan(t/2), choose it to be the smallest positive t*.