鑑於以下系統行進位置的三角測量:算法一圈
其中:
A
:點上圓的邊緣與半徑r
任何地方存在xz平面。θ
:正x軸與從原點到點A
的矢量之間的夾角。這應該從-PI/2到PI/2。B1
:圓點與正x軸交點處的高度爲h1
的點。B2
:圓點和正z軸在h2
高度的交點處的點。d1
:B1
和A
之間的距離。d2
:B2
和A
之間的距離。
假設:
h1
,h2
,和r
是已知常數。d1
和d2
是已知的變量。
我該如何找到θ
?
這將最終用C在嵌入式系統在那裏我有相當快的功能arctan2
,sine
和cosine
實施。因此,性能絕對是一個優先事項,如果它們對於小數點後三位是正確的(這是我的三角函數的準確度),則可以使用估計。
然而,即使給定了一個數學算法,我相信我可以制定出具體的實現。
對於它的價值,我得到了儘可能:
(d1^2 - h1^2)/r = (sin(θ))^2 + (cos(θ))^2
(d2^2 - h2^2)/r = (sin(PI/4 - θ))^2 + (cos(PI/4 - θ))^2
之前,我意識到,數學,這是方式我配不上。
這實際上是一個非常好的點。在那一點上,我有一個三角形的邊r,r和A-H1(我們稱之爲d)。根據餘弦定律,我認爲使得θ= arccos((2r^2-d^2)/(2r^2))'。然後,就像你提到的那樣,只需要使用另一個距離來確定象限。 – zashu