看板 Prob_Solve 關於我們 聯絡資訊
大家好 小弟想請問一個簡單的數學問題 由於目前需要使用空間中的球座標系座標來計算仰角 例:一個點在空間中的座標 (x,y,z) 而仰角計算公式為: Arccos(z平方/根號(x平方+y平方+z平方) 小弟只用此公式計算出"仰"角之後 再帶入勒讓得多項式 可是問題來了 由於勒讓得多項式所限定需要帶入的Cosin theta值必須介於-1~1之間 而小弟算出來的數值有超過1.5~2.多的 請問需要做轉換之類的嗎還是? 否則這樣子無法做計算 請神人幫解答 感謝!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.40.118 ※ 編輯: u5484 來自: 120.126.40.118 (02/02 21:56)
tkcn:不熟,但我猜 -1~1 的單位是 PI? 02/02 22:09
u5484:應該不是喔 他就是介於-1~1之間的弧度值吧! 02/02 22:13
DJWS:C和matlab 呼叫 acos 得到的數值是 [0, 3.14..] 的弧度值喔! 02/03 12:53
DJWS:所以 theta 介於 [0, 3.14...] cos(theta) 介於 [-1, 1] 02/03 12:57
DJWS:應該是沒有問題才對 02/03 12:57
u5484:可是我利用空間中座標再搭配arccos所得到的數值有超過... 02/03 12:59
u5484:所以是不是代表我還要將它做旋轉角度的動作呢?? 02/03 13:00
u5484:不好意思 小弟筆誤 是計算其仰角才對 02/03 13:02
※ 編輯: u5484 來自: 120.126.40.118 (02/03 13:03)
DJWS:也有可能是程式碼寫錯 你可以把計算仰角的程式碼貼出來~ 02/03 13:05
DJWS:還有那個仰角的公式 分子是z而不是z平方 02/03 13:06
DJWS:http://zh.wikipedia.org/wiki/球坐標系 02/03 13:07
u5484:小弟的仰角計算公式: acos(z/sqrt(x*x+y*y+z*z)) 02/03 13:07
u5484:感謝提醒 小弟已修正z平方 02/03 13:08
u5484:然後再利用此公式得到的弧度值帶入Legendre計算中 02/03 13:09
u5484:但MATLAB中明顯指出範圍須介於-1~1之間 所以很困惑 02/03 13:09
DJWS:請問你用哪一種程式語言? 我第一次見到arc這個函數... 02/03 13:10
u5484:!!不好意思一直打錯= = 我是用C 是acos才對 Sorry!! 02/03 13:13
※ 編輯: u5484 來自: 120.126.40.118 (02/03 13:16)
DJWS:照這樣看應該是程式碼方面的問題 你得找人幫你檢查程式碼 02/03 13:18
u5484:程式碼方面我都跟MATLAB所產生的結果對照過了 計算出的結果 02/03 13:20
u5484:是一樣的 只是這邊可能需要做一些角度轉換什麼的...很困擾 02/03 13:20
u5484:也許我的反餘弦函數得到的值還需要做扣掉pi/2? 02/03 13:24
vaakaa:建議你可以另外寫條件"標記"出有問題的點 02/03 16:29
vaakaa:確認看看帶入點和結果合不合理 02/03 16:30