首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >给定a,b,c和alpha查找x

给定a,b,c和alpha查找x
EN

Stack Overflow用户
提问于 2020-06-01 12:07:01
回答 1查看 82关注 0票数 1

我在做图像处理以确定图片中两个点之间的距离。它涉及相当多的几何学。其中一个问题,我试图解决使用基本几何,但未能找到一个解决办法是以下。我已经把这个问题转化为数学术语,以便更多的人能够回答它。

给出了边a,b,c和角α。长度x是用正弦和余弦定律求出的,我发现:用余弦定律,用正弦定律。

其中β是与侧b相对的角度。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-01 13:30:50

这不是一个微不足道的问题,也许应该问Math.SE

但我的看法是:

考虑三角形abx

代码语言:javascript
复制
b^2 = x^2 + a^2 - 2*a*x*cos(β)        #1

和三角形a1cx

代码语言:javascript
复制
c^2 = x^2 + a1^2 -2*a1*x*cos(β)       #2
sin(α)/α1 = sin(β)/c                  #3

xa1β三个待解的非线性方程组.

#2中减去#1以消除x^2 (有一些简化)

代码语言:javascript
复制
b^2 - c^2  = -2*x *(a-a1)*cos(β)+a^2 -a1^2        #4

#3消除β中的a1

代码语言:javascript
复制
b^2 - c^2 = -2*x*(a-a1)*sqrt(1 - c^2/a1^2*sin(α)^2)+a^2-a1^2  #5

现在从(a/a1)*#2中减去#1以消除a1^2

代码语言:javascript
复制
b^2 - a*c^2/a1 = -(a-a1)*(x^2-a*a1)/a1            #6

方程#5#6xa1需要求解的两个非线性方程组.

#5中,我们有xa1方面

代码语言:javascript
复制
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 ,那么#7也给出了 x**.**

代码语言:javascript
复制
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(α)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62131799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档