如何解决将游戏位置转换为旋转地图中的纬度
我有数学问题,无法解决问题,我对此感到愚蠢。
我定义了这样的游戏界限。
const GAME_BOUNDS = {
x: {
min: -3200,max: 4800
},y: {
min: -4000,max: 6000
}
}
我有职位。 const POS = {x: 100,y: -500}
。我想将位置转换为正确的经度/纬度。其中lng 180是x: 4800
。但是诀窍是,地图旋转了,我找不到要应用正确的lng / lat所需的正确旋转。
解决方法
您可以定义一个漂亮的函数,将一个值x从一个范围xMin..xMax映射到另一个范围yMin..yMax:
function remap(x,xMin,xMax,yMin,yMax) {
return yMin + (yMax - yMin)*(x - xMin)/(xMax - xMin);
}
现在说您想将x值从-3200..4800映射到-180..180并将其存储为变量lng
,并将y值从-4000..6000映射到-90..90并将其存储为lat
:
let lng = remap(x,-3200,4800,-180,180);
let lat = remap(y,-4000,6000,-90,90);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。