我不确定如何解决以下问题:
我有一个三角形,三个已知顶点位置 A、B、C 中的每一个都不准确,这意味着它们每个都可以偏离到某个已知的半径 rA、rB、rC 到任意方向。
给定这样的三角形,我想计算在最坏的情况下三角形的两个特定边长的差异(例如边 a 和边 b 的长度之间的差异)可能会改变多少。这个问题有什么优雅的数学解决方案吗?
我想到的天真的方法是计算所有 360^3 角度组合并测量每种情况的边缘差异,这是一个相当高的开销。
我不确定如何解决以下问题:
我有一个三角形,三个已知顶点位置 A、B、C 中的每一个都不准确,这意味着它们每个都可以偏离到某个已知的半径 rA、rB、rC 到任意方向。
给定这样的三角形,我想计算在最坏的情况下三角形的两个特定边长的差异(例如边 a 和边 b 的长度之间的差异)可能会改变多少。这个问题有什么优雅的数学解决方案吗?
我想到的天真的方法是计算所有 360^3 角度组合并测量每种情况的边缘差异,这是一个相当高的开销。
下图说明了解决方案:
MinMaxEdgeDiff.png http://www.freeimagehosting.net/uploads/b0f0f84635.png
需要注意的几点:
最大和最小的区别是:
d1 = |BC1| - |AC1| = (|B->C1| + _rB_) - (|A->C1| - _rA_)
= |B->C1| - |A->C1| + (_rA_ + _rB_)
d2 = |BC2| - |AC2| = (|B->C2| - _rB_) - (|A->C2| + _rA_)
= |B->C2| - |A->C2| - (_rA_ + _rB_)
因此,最大和最小差异之间的变化是:
d1 - d2 = (|B->C1| - |A->C1|) - (|B->C2| - |A->C2|) + 2*(_rA_ + _rB_)
最后一点暗示可以通过从中心 A 和 B 求解,然后添加半径rA和rB来找到解决方案。因此,C1 和 C2 的位置可以通过仅改变围绕 C 的边界圆的一个角度来迭代地发现(并且分别地,因为它们彼此独立)。
我怀疑有一个分析解决方案。这是一个有趣的问题,但不足以让我对这个特定的任务大发雷霆。对不起。;-)