Two known lengths, two known vertex positions, find coupled exterior angles in triangle

127 Views Asked by At

labeled sketch of triangle

enter image description here

I know the positions of two vertices of a triangle $A$ and $B$, two side lengths (one by virtue of the two positions) and $l$, one exterior angle $\theta_2$, and another angle $\theta_1$ between the known side $l$ and a horizontal axis.

The two angles are coupled: $\theta_2=K\theta_1$

I wish to solve for a single angle (either one of the two) in terms of $A,B,K$ and $l$, but not in terms of the other angle.

I have tried solving this in many ways but I can never untangle the trigonometry.

This problem is related to the inverse-kinematics of an underactuated 2-link finger.


Here is one of my simpler solution attempts:

Let $L$ be the distance between $A$ and $B$. Let $\alpha$ be the angle between the horizontal axis and $L$. Let $\phi$ be the angle opposite $l$. We can find both $\phi$ and $\alpha$ using our knowledge of coordinates $A$ and $B$ and trig.

$\alpha = \arctan(B_y/B_x), \phi = \theta_1 + \theta_2 - \alpha$

Then using the law of sines

$\frac{L}{\sin{\alpha}} = \frac{l}{\sin{\phi}}$

Rearranging

$L\sin(\theta_1+\theta_2-\alpha)=l\sin(\pi-\theta_2)$

Using the relationship between the angles, and the fact that $\sin(\pi-x)=\sin(x)$

$l\sin(\theta_2)=L\sin(\frac{\theta_2}{K}+\theta_2-\alpha)$

However, trying to solve for $\theta_2$ yields no solution in MATLAB, Mathematica, and Maple. No matter how I approach this problem, there doesn't seem to be a solution. It feels simple enough that one should exist, but maybe I'm not seeing the full picture?

2

There are 2 best solutions below

4
On BEST ANSWER

Thanks to user376343, I think I have the right perspective to solve this problem. . .

Rather than thinking about coupled angles, we can consider coupled slopes. Assuming point $A$ is located at $(0,0)$, and creating two lines in point-slope form, we have the following line equations:

The green line: $y = mx$

The line $BD$: $y - B_y = Km(x-B_x)$

Where $m$ is the slope of the green line, $K$ is the scaling factor relating the slope of the green line to that of $BD$ (the slope of $BD$ is equal to $K$ times $m$), and $B_x$ and $B_y$ are the $x$ and $y$ coordinates of the point $B$.

Setting $y$ of the two lines equal to one another and solving for $x$ gives us the x-coordinate of the intersection point of the green line and $BD$, $P_x$

$P_x = \frac{By-KmBx}{m-Km}$

Then, we can substitute this back into the equation of the green line, to find the $y$-coordinate of the intersection point, $P_y$,

$P_y = \frac{By-KmBx}{1-K}$

Then, using the pythagorean theorem,

$l^2 = P_x^2 + P_y^2 = (\frac{By-KmBx}{m-Km})^2 + (\frac{By-KmBx}{1-K})^2$

Collecting $m$ yields a quartic polynomial with coefficients in $B_x, B_y, K$, and $l$,

$0=B_y^2 - (2 B_x B_y K) m + (B_y^2 + B_x^2 K^2 - l^2 + 2 K l^2 - K^2 l^2) m^2 - (2 B_x B_y K) m^3 + (B_x^2 K^2) m^4$

Which has four roots which we can find using known methods. Then, converting from slope back to angle is easy, using inverse tangent,

$\theta= \arctan(m)$

Thanks for getting my mind in the right space to approach this!

1
On

HINT:

We can express further angles in term of $\theta_1,$ as shows te picture: enter image description here With the help of analytic geometry we get the equations of the green line through $A,$ and the line $BD$ (even if we do not know $D$). Their intersection point has the distance $l$ to $A.$
If $A,B, l$ and $K$ are given, there exists only one solution for $\theta_1.$