(c++,Qt,Linux)将游戏地图线转换为图像线

(C++,Qt,Linux) converting game map cords to image coords

本文关键字:图像 转换 游戏地图 c++ Qt Linux      更新时间:2023-10-16

基本上,我的游戏手柄有各种Ptrace功能,工作得很好,我为这个3D游戏画了一张地图,类似街景。然后把它放到一个qgraphicsscene上,用qpixmap,它显示得很漂亮,可缩放,可平移,所有这些都很好。现在我遇到了一个问题,我的玩家在某个位置的位置是:X=904.758 Y=9754.3,而图片的坐标是PixX=5453.63 PixY=1205.01。我如何将玩家位置转换为像素位置?如果需要,我可以提供更多的坐标。另一个位置:X=960.784, Y=9728.9…PixX=5426.65, PixY=1218.5.

所有这些都是在我的手机上输入的,所以如果它很难阅读,我真的很抱歉。

当你处于3D中时,屏幕坐标取决于这三个世界坐标。如果场景中没有山丘,可以假设z=0。

那么下一个要回答的问题是使用了什么样的投影。平行型还是中心型?然后你需要至少3个已知的关系对来计算第四个,这种技术是在文艺复兴时期发展起来的叫做交叉比率,意思是交叉比率在投影下保持不变