d3d游戏屏幕坐标转地图坐标,和地图坐标转屏幕坐标,请教
不变化
M1 = {
{0.001953125,0.0, 0.0, 0.0},
{0.0 ,-0.002604167, 0.0, 0.0},
{0.0 , 0.0, 1.000000, 0.0},
{-1.000000 , 1.000000, 0.0, 1.000000},
}
--变化
M2 = {
{0.03864891,-1.123172e-07,-0.7078918,-4.387390e-10},
{ 0.5308416, 0.009276501,0.02897963, 1.576718e-09},
{ 1465.953, -1785.146, -35.55755, -4.998948},
{ -1466.229, 1784.504, 35.56561, 4.999948},
}
屏幕坐标转换到大地图坐标计算如下:
svec屏幕坐标
mvec当前所在地图坐标
1.ret1 = D3DXVec3TransformCoord(svec,M1)
2.ret2 = D3DXVec3TransformCoord(ret1,M2)
3.ret3 = VECTOR_SUB(ret2 , mvec) //vector3 减
4.ret4 = VECTOR_MUL(ret3 , 0.01291439) //vector3 乘
5.结果 = VECTOR_ADD(mvec,ret4) //求得地图坐标
以上计算从屏幕坐标得到屏幕坐标对于的地图坐标。
请教下,如何方向计算,从地图坐标,获取对于的屏幕坐标。