【问题标题】:Given a, b, c and alpha find x给定 a、b、c 和 alpha 找到 x
【发布时间】:2020-06-01 12:07:01
【问题描述】:

我正在进行图像处理以确定图片中两点之间的距离。它涉及相当多的几何形状。我尝试使用基本几何来解决但未能找到解决方案的问题之一如下。我已将问题转化为数学术语,以便更广泛的受众能够回答。

已给出边 a、b、c 和角度 alpha。长度 x 将被找到 使用我发现的正弦和余弦定律: 使用余弦定律, 使用正弦定律

其中 beta 是与 b 边相对的角度

【问题讨论】:

  • 您好,您能否提供至少一组示例值来测试结果?这里没有一个简单的公式,答案需要对数值解进行一定程度的编程。

标签: math image-processing geometry-surface triangular


【解决方案1】:

这不是一个小问题,也许应该问过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

要求解xa1β 的三个非线性方程。

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

b^2 - c^2  = -2*x *(a-a1)*cos(β)+a^2 -a1^2        #4

使用#3 来消除βa1 中的#4

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 是要求解xa1 的两个非线性方程。

#5 我们得到xa1

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(α)

【讨论】:

  • 但是会有6种不同的解决方案对吧?在几何上,我看到了一个独特的解决方案。
  • 会有许多无效的解决方案(复数或负数),而对于剩余的解决方案,可能会有多种配置。就像主三角形外的c 距离一样。这是如果我有实数可以使用的部分,我可以根据有效的解决方案分支进一步开发算法。
猜你喜欢
  • 2022-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多