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