我不知道如何解決以下問題:計算上的三角形邊緣不準確的三角形頂點位置的潛在影響lenghts
我有一個三角形與各三個已知頂點位置A,B,C的是不準確的,意味着它們可以各自偏離到某個已知半徑rA,rB,rC爲任意方向。給定這樣一個三角形,我想計算在最壞的情況下,三角形的兩個特定邊緣長度(例如,邊緣a和邊緣b的長度之間的差異)的差異可能會有多大的變化。有沒有什麼優雅的數學解決這個問題?
我想到的天真的方式是計算所有360^3角度組合並測量每種情況下的邊緣差異,這是一個相當高的開銷。
我不知道如何解決以下問題:計算上的三角形邊緣不準確的三角形頂點位置的潛在影響lenghts
我有一個三角形與各三個已知頂點位置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的邊界圓僅改變單個角度來迭代地(並且分開地,因爲它們彼此獨立)被發現。
我懷疑有一個解析解決方案。這是一個有趣的問題,但不足以讓我反對這個特殊任務。抱歉。 ;-)
非常感謝您的說明和詳細的答案! 我完全忽略了最後一點! – stingrey 2010-04-10 11:01:27
沒問題,@stingrey。順便說一句,我已經修正了數學(沒有什麼重大的;我只是在減法中交換了d1和d2以更好地匹配討論)。 – 2010-04-10 11:13:53
+1圖表看起來很酷。你使用的任何工具? – 2010-04-10 14:50:42
46,656,000個計算,你只需要在一生中做一次,聽起來不像是一個很高的開銷。 – shoosh 2010-04-10 07:32:12