所以我需要以某種方式轉換指向3D世界中的實體(我也有距離)到2D屏幕X和Y位置的PITCH和YAW角度。有誰知道我會怎麼做呢?PITCH和YAW到2D屏幕座標?
2
A
回答
0
據我所知,我想你想知道如何從球座標系(標量長度,俯仰角,偏航角)轉換到笛卡爾座標系(x,y,z)。如果是,那麼這裏的鏈接是指:Spherical coordinate system。
4
示例。
讓我們假設: 屏幕尺寸爲1024x768(X
= 0..1024,Y
= 0..768); 水平視角爲180 grad(YAW
= -90..90)。
然後您可以將YAW
轉換爲X
這樣:X = k * (YAW + 90)
。
對於這個例子k
= horiz_screen_size/horiz_angle_of_view = 1024/180。
然後我們需要找到垂直視角:vert_angle_of_view = vert_screen_size/k
= 768 /(1024/180)= 135 grad =>PITCH
= -67.5..67.5。
因此,您可以將PITCH
轉換爲Y
這樣:Y = k * (PITCH + 67.5)
。
通式:
X = k * (YAW + 0.5*horiz_angle_of_view)
Y = k * (PITCH + 0.5*vert_angle_of_view)
其中
k = horiz_screen_size/horiz_angle_of_view
vert_angle_of_view = vert_screen_size/k
相關問題
- 1. 如何將Yaw,Roll&Pitch值轉換爲(x,y)座標?
- 2. 項目3D指向2D屏幕座標
- 3. C++/OpenGL將世界座標轉換爲屏幕(2D)座標
- 4. 如何屏幕座標轉換成2D OpenGL的座標
- 5. 2D遊戲演員座標vs屏幕座標
- 6. 使用2D屏幕座標獲取3D模型座標gluUnproject
- 7. Xna將3D座標轉換爲2D屏幕座標
- 8. webgl - 模型座標到屏幕座標
- 9. 屏幕座標到等距座標
- 10. OpenGL場景座標到屏幕座標
- 11. 屏幕座標
- 12. 邏輯和屏幕座標
- 13. event.getX和屏幕座標
- 14. 如何將2D屏幕座標轉換爲openGL中的2D地圖座標?
- 15. SVG到屏幕座標
- 16. 將3D點投影到2D屏幕座標OpenTK
- 17. 將3D矢量投影到2D屏幕座標
- 18. 將2D遊戲世界座標到屏幕上的位置
- 19. 將3D點投影到2D屏幕座標
- 20. Android屏幕座標
- 21. OpenGL屏幕座標
- 22. OpenGL座標匹配屏幕座標?
- 23. 將2D屏幕座標轉換爲C++中的3D空間座標?
- 24. 如何將屏幕座標轉換爲簡單2D遊戲的世界座標?
- 25. 從標準化設備座標到屏幕座標的關係?
- 26. Android中的屏幕和視圖座標
- 27. iOS屏幕座標和縮放
- 28. 產地到屏幕座標的DirectX
- 29. Mapkit經緯度到屏幕座標
- 30. 屏幕座標到百分比轉換
有很多方法可以做到這一點;你將不得不提供更多信息。 – Beta