簡體   English   中英

從 asin 解決方案中選擇正確的解決方案

[英]Choosing the right from asin solutions

我得到了代表車輛在南北和東西方向上的速度的 2 個向量的大小。 北被認為是正南負,東正和西負。 顯然它們是相互垂直的。 我可以使用勾股定理計算兩個向量相加的大小,但是當涉及到角度時,就會出現問題。 我使用Math.asin ,但對於給定的正弦,有兩種解決方案。 例如 45 和 135 的兩個角具有相同的正弦值。 我怎么能指出我想要哪種解決方案,因為我從一開始就知道車輛是向東北還是向東南行駛?

您可能希望使用Math.Atan2(y, x)而不是反正弦來獲取反正切來獲取方向。 Atan2返回:

  • arctan(y/x) if x,= 0 and y != 0 (總是在 (-pi, pi])
  • pi 如果 y=0 且 x < 0
  • 如果 y=0 且 x >= 0,則為 0
  • pi/2 如果 x=0 並且 y > 0
  • -pi/2 如果 x=0 且 y < 0

(邊界條件在MSDN 文檔中定義)

例如,如果 x=-1 且 y=1,則 Atan(-1,1) 將是 3pi/4(135 度)而不是 45 度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM