I was doing image processing to determine the distance between two points in a picture. it involves a fair amount of geometry. One of the problems which I tried to solve using basic geometry but failed to arrive at a solution is the following. I have transformed the question into mathematical terms so that a wider audience could answer it.
The sides a, b, c, and the angle alpha are given. The length x is to be found Using sine and cosine laws I`ve found: Using Cosine Law and, Using Sine Law
where beta is the angle opposite the side b
This is not a trivial problem, and maybe it should have been asked Math.SE.
But here is my take:
Considering the triangle abx
b^2 = x^2 + a^2 - 2*a*x*cos(β) #1
And the triangle a1cx
c^2 = x^2 + a1^2 -2*a1*x*cos(β) #2
sin(α)/α1 = sin(β)/c #3
Three non-linear equations to be solved for x
, a1
and β
.
Subtract #2
from #1
to eliminate x^2
(with some simplifications)
b^2 - c^2 = -2*x *(a-a1)*cos(β)+a^2 -a1^2 #4
use #3
to eliminate β
in terms of a1
in #4
b^2 - c^2 = -2*x*(a-a1)*sqrt(1 - c^2/a1^2*sin(α)^2)+a^2-a1^2 #5
Now subtract (a/a1)*#2
from #1
to eliminate a1^2
b^2 - a*c^2/a1 = -(a-a1)*(x^2-a*a1)/a1 #6
Equations #5
and #6
are two non-linear equations to be solved for x
and a1
.
From #5
we have x
in terms of a1
with
x = a1*(a^2-a1^2-b^2+c^2)/(2*(a-a1)*sqrt(a1^2-c^2*sin(α)^2)) #7
Unfortunately using the above in #6
results in a sixth order polynomial to be solved for a1
.
It can only be solved numerically at this point. If a1
is found, then #7
also gives us x
.
0 = 4*a^2*c^2*g^2
+ a1*(4*a*g^2*(a^2-b^2-c^2))
+ a1^2*(a^4-2a^2(b^2+c^2+4g^2)+b^4+2b^2(2g^2-c^2)+c^4)
+ a1^3*(-4a(a^2-b^2-c^2-g^2))
+ a1^4*(2(3a^2-b^2-c^2))
+ a1^5*(-4*a)
+ a1^6
where g = c*sin(α)