[中學] 有向線求轉彎角度的大、小角選擇問題
各位好,先在這邊謝謝各位花時間觀看。
三角函數我印象中是是高中的課程,所以選了中學分類,希望沒有錯誤。
--
事情是這樣的,手邊有個程式需要計算「連續經緯度的轉彎夾角」;目前已經有辦法計算出夾角了,可是想不到方法來選擇大角或小角(因為不成多邊形,好像不能稱為內、外角)。
例圖:https://imgur.com/DVvXBbY

手邊沒有好工具,所以作得有點粗糙,希望各位可以明白。
例圖中:
1) 向右移動,還沒有夾角
2) 向右上移動,產生第1個夾角A(度數小於90度者)
3) 向右下移動,產生第2個夾角B(度數小於90度者)
4) 向右移動,產生第3個夾角(因為會跟後面的線卡到,沒列出)
5) 向左下移動,產生第4個夾角C(度數大於90度者)
而目前我的程式可以計算所有夾角中小於90度的那側,雖然可以直接拿180度扣,就可以直接得出另一側,但我不清楚要以何種規則來選擇大角或小角。
--
希望可以獲得各位的協助,在此先謝過了!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.42.38
※ 文章網址: https://www.ptt.cc/bbs/Math/M.1532053306.A.64C.html
→
07/20 10:47,
7年前
, 1F
07/20 10:47, 1F
→
07/20 10:50,
7年前
, 2F
07/20 10:50, 2F
→
07/20 10:51,
7年前
, 3F
07/20 10:51, 3F
→
07/20 10:59,
7年前
, 4F
07/20 10:59, 4F
→
07/20 11:02,
7年前
, 5F
07/20 11:02, 5F
→
07/20 11:02,
7年前
, 6F
07/20 11:02, 6F
推
07/20 11:22,
7年前
, 7F
07/20 11:22, 7F
●現況回報
原本想說D大的說法感覺比較容易實作,結果因為向量沒學好,好像作歪而實作失敗了……先回頭嘗試a大的做法。
→
07/20 13:40,
7年前
, 8F
07/20 13:40, 8F
●現況回報
目前看起來已經是實作成功了,感謝D大的資訊;雖然沒實作出a大的說法,但同樣也感謝協助。
這邊分享一下做法與結果:
例圖:https://imgur.com/9xkYBqc

透過亂數方式產生了一段隨機的線條,起始於圖片的中心點,最後於右下角的箭頭處停下;每個角旁邊數字是「我最初算出的夾角, 以向量內積算出的夾角」。
程式中,二維向量以(x2 - x1, y2 - y1)儲存,後以向量夾角計算:
(a[0] * b[0] + a[1] * b[1]) /
((sqrt(a[0] * a[0] + a[1] * a[1])) * (sqrt(b[0] * b[0] + b[1] * b[1])))
將上述數值以 t 代入 acos(t) * 180 / pi 中,就可以得出夾角了。
○參考資料
1. https://zh.wikipedia.org/wiki/%E5%90%91%E9%87%8F
2. https://zh.wikipedia.org/wiki/%E7%82%B9%E7%A7%AF
3. http://web.cc.ntnu.edu.tw/~495401013/lecture3.html
※ 編輯: jakeasa123 (220.135.42.38), 07/20/2018 14:04:29
推
07/20 17:18,
7年前
, 9F
07/20 17:18, 9F