How to find the set of lines of fixed length connecting two circles?

330 Views Asked by At

Suppose I have two circles as shown below. enter image description here

I want to find the set of line segments of size $\mathbf{w}$ connecting the two circles.

What's a nice way to do this?

I thought of a simple, ugly way. I could write out the equations

\begin{align} (u_x - a)^2 + (u_y - b)^2 &= \lVert \mathbf{u}\rVert^2\\ (v_x - c)^2 + (v_y - d)^2 &= \lVert \mathbf{v}\rVert^2\\ \sqrt{(v_x - u_x)^2 + (v_y-u_y)^2} &=\lVert \mathbf{w}\rVert \end{align} The first two equations are the equations for the two circles, while the last formula is the distance formula for the line segment.

However, when I try to do the math, it's really ugly, so I was wondering if there's a nicer way to do this.

Geometrically, I think this basically amounts to treating the third equation like a circle with an origin centered on the edge of the first circle and then pivoting the third circle's origin around the edge of the first circle to trace out the line between them, like this:

enter image description here

I feel like there also might be a way to do this with matrices, but I'm not sure how I would do that.

$$\begin{bmatrix} 1 & 1 & -2a & -2b & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 1 & -2c & -2d & 0 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 & 1 & 1 & 0 & 0 & -2 & 0 & 0 & -2 \\ \end{bmatrix} \begin{bmatrix} u_x^2 \\ u_y^2 \\ u_x\\ u_y\\ v_x^2\\ v_y^2\\ v_x\\ v_y\\ u_xv_x\\ u_xv_y\\ u_yv_x\\ u_yv_u\\ \end{bmatrix} = \begin{bmatrix} \lVert \mathbf{u}\rVert^2 - a^2 - b^2 \\ \lVert \mathbf{v}\rVert^2 - c^2 - d^2\\ \lVert \mathbf{w}\rVert^2 \end{bmatrix} $$

But I'm not sure where I should go from there.

2

There are 2 best solutions below

0
On

Not a complete answer

It's not going to be pretty no matter how you go about it, but I'd recommend a couple of steps.

  1. Rotate and translate until $(a, b) = (0,0)$ and $(c, d) = (c', 0)$. Then scale everything so that $\|u\| = 1$ (although maybe this step isn't needed).

  2. Observe that there may be no solutions. If the lengths of $u$, $v$, and $w$ add up to less than the distance $D$ between $(a,b)$ and $(c, d)$, then there's no possible line segment. Similarly, if $D < \|w\| - (\|u\| + \| v \|)$, then there's no solution.

  3. In all other cases, there ARE solutions, but the set of solutions may be disconnected ---- it seems just possible, to me, that you could have two separate "batches" of connecting segments without any way to get from one batch to the other, continuously, through connecting segments. I don't have an example, but I have some strong suspicions.

  4. I'd be inclined to write the points of one circle in the form $(\cos t, \sin t)$, and the other as $(c' + r \cos s, 0 + r \sin s)$, and reduce to a problem of finding $s$ and $t$ that satisfy the distance formula. (BY the way, you should definitely square both sides of your third formula to get rid of the square root).

My guess is that you're going to find yourself with a horrible system of equations for which every solution ends up with a bunch of "if it's in this case, do this, otherwise do that" things in them. This just has to look of an ugly problem to me. I hope someone else will prove me wrong.

0
On

To depict full rotations we should express longer crank rotation as a function of the shorter. For constant $len$ of connecting rod (CR) we should have

$$(a \cos (t)-b \cos (u)+2 c)^2+(a \sin (t)-b \sin (u))^2=\text{len}^2 $$

$ u(t) $ is solved and plotted with help from Mathematica website.

The crank $a$ at right rotates all around but the longer crank $b$ at left oscillates between two limits of angle $u$.

CR and crank lengths in the 4-Bar mechanism used:

$$len= w=7.5,2c=10, a= 2, b=3$$ Blue $u(t)$ in forward motion and red in backward of oscillation. Inclination of CR can be also found if needed... for this "Pumpjack Donkey".

4-Bar Mechanism