所以加上去。
code:
elevAziRotMatrix = np.matrix([ [ math.cos(aziTilt), math.cos(elevTilt)*math.sin(aziTilt), math.sin(elevTilt)*math.sin(aziTilt)], [ -math.sin(aziTilt), math.cos(elevTilt)*math.cos(aziTilt), math.sin(elevTilt)*math.cos(aziTilt)], [ 0, -math.sin(elevTilt), math.cos(elevTilt)], ])對照 [https://en.wikipedia.org/wiki/Rotation_matrix wiki]:
用 0 度來猜對應關係..
所以看起來缺的應該是 β
另外 eleTilt, aziTilt 的方向和座標定義方向相反 α β γ
- β : rotation
- α : elevation
- γ : azimuth
cos(γ), cos(α)sin(γ), sin(α)sin(γ) sin(γ), cos(α)cos(γ), sin(α)cos(γ) 0, -sin(α) , cos(α)和 公式比較, α γ 的角度方向大概是相反,所以 sin 都要 * -1。
加入 rotTilt : β
原來 sin(0) = 0 的部份,要加回去 sin(β),也就是 sin(rotTilt)
沒有留言:
張貼留言