2013-02-22 70 views
0

我有四個點,使凹四:獲取內部拐角角度

一個(3,11)

B(11,9)

C(18,10)

d(8,1)

enter image description here

現在我想要得到的內角( b)以度爲單位的角落。 注意:內角大於180度。

+3

這將更適合math.stackexchange.com。 – assylias 2013-02-22 18:37:14

+0

在'Math'庫中,你可以找到正弦,餘弦,切線和它們的逆。開始吧,看看你是否可以發佈一些代碼,我們會進一步幫助你... :) – vikingsteve 2013-02-22 18:38:30

+0

好吧,我會試試.. – MoHaKa 2013-02-22 18:40:12

回答

2

最安全的方法是使用內積和叉積,內積可以用4個點的兩個矢量來計算(A-> B,B-> c)和使用該內積式

<ab,bc> = |ab|*|bc|* cos (abc) 
cos(abc) = |ab|*|bc|/<ab,bc> 

這是不夠的,唯一分配的天使,因爲角度及與其相配套具有相同的COS,但有不同的罪,這裏是交叉產品來解決問題

ab * bc = |ab|*|bc| * sin(abc) 

的左邊部分可以計算使用終點座標,以便計算出罪,一旦計算出sin和cos,就可以適當地指定天使。

+0

親愛的衙門,你再次忽略了d點,我之前說過,我不能忽視它。 – MoHaKa 2013-02-22 19:11:28

+1

d點並沒有貢獻於構建abc角度,你可以通過影響你想要計算的角度來移除它。 – 2013-02-22 19:22:57

+0

:)好的,但是如果我刪除d點,如何確定內角在哪裏。 – MoHaKa 2013-02-22 19:29:22

0

d點在這裏只是一個分心。考慮(abc)三角形:

  • 很容易從座標確定ab,bc和ca的長度。
  • 然後,您可以使用sin,cos或tan來確定(ab,bc)內角
  • 您尋找的角度是360減去(ab,bc)內角。
+0

如果我忽略了(四)點我不能確定內角落是哪裏,不是嗎? – MoHaKa 2013-02-22 18:54:07

+0

點d是無關緊要的 - 它可能在其他地方,而不會影響您正在尋找的角度。 – assylias 2013-02-22 20:33:35