给定 a、b、c 和 alpha 找到 x
Given a, b, c and alpha find x
我正在做图像处理以确定图片中两点之间的距离。它涉及相当多的几何学。我试图使用基本几何来解决但未能找到解决方案的问题之一如下。我已将问题转化为数学术语,以便更广泛的受众可以回答。
已知边 a、b、c 和角 alpha。找到长度 x
使用我发现的正弦和余弦定律:
使用余弦定律,
使用正弦定律
其中 beta 是与边 b 相对的角度
这不是一个小问题,也许应该问 Math.SE。
但这是我的看法:
考虑三角形abx
b^2 = x^2 + a^2 - 2*a*x*cos(β) #1
和三角形a1cx
c^2 = x^2 + a1^2 -2*a1*x*cos(β) #2
sin(α)/α1 = sin(β)/c #3
要求解 x
、a1
和 β
的三个非线性方程。
从 #1
中减去 #2
以消除 x^2
(经过一些简化)
b^2 - c^2 = -2*x *(a-a1)*cos(β)+a^2 -a1^2 #4
用#3
在#4
中用a1
消除β
b^2 - c^2 = -2*x*(a-a1)*sqrt(1 - c^2/a1^2*sin(α)^2)+a^2-a1^2 #5
现在从#1
中减去(a/a1)*#2
以消除a1^2
b^2 - a*c^2/a1 = -(a-a1)*(x^2-a*a1)/a1 #6
方程 #5
和 #6
是要求解 x
和 a1
的两个非线性方程。
从 #5
我们有 x
a1
和
x = a1*(a^2-a1^2-b^2+c^2)/(2*(a-a1)*sqrt(a1^2-c^2*sin(α)^2)) #7
不幸的是,在 #6
中使用上面的方法导致 六阶多项式 需要求解 a1
。
此时只能数值求解。 如果找到 a1
,那么 #7
也会给我们 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
其中 g = c*sin(α)
我正在做图像处理以确定图片中两点之间的距离。它涉及相当多的几何学。我试图使用基本几何来解决但未能找到解决方案的问题之一如下。我已将问题转化为数学术语,以便更广泛的受众可以回答。
已知边 a、b、c 和角 alpha。找到长度 x 使用我发现的正弦和余弦定律: 使用余弦定律, 使用正弦定律
其中 beta 是与边 b 相对的角度
这不是一个小问题,也许应该问 Math.SE。
但这是我的看法:
考虑三角形abx
b^2 = x^2 + a^2 - 2*a*x*cos(β) #1
和三角形a1cx
c^2 = x^2 + a1^2 -2*a1*x*cos(β) #2
sin(α)/α1 = sin(β)/c #3
要求解 x
、a1
和 β
的三个非线性方程。
从 #1
中减去 #2
以消除 x^2
(经过一些简化)
b^2 - c^2 = -2*x *(a-a1)*cos(β)+a^2 -a1^2 #4
用#3
在#4
a1
消除β
b^2 - c^2 = -2*x*(a-a1)*sqrt(1 - c^2/a1^2*sin(α)^2)+a^2-a1^2 #5
现在从#1
中减去(a/a1)*#2
以消除a1^2
b^2 - a*c^2/a1 = -(a-a1)*(x^2-a*a1)/a1 #6
方程 #5
和 #6
是要求解 x
和 a1
的两个非线性方程。
从 #5
我们有 x
a1
和
x = a1*(a^2-a1^2-b^2+c^2)/(2*(a-a1)*sqrt(a1^2-c^2*sin(α)^2)) #7
不幸的是,在 #6
中使用上面的方法导致 六阶多项式 需要求解 a1
。
此时只能数值求解。 如果找到 a1
,那么 #7
也会给我们 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
其中 g = c*sin(α)