所以我需要以某种方式转换指向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