45度角地图坐标计算
来源:互联网 发布:微信刷屏软件 编辑:程序博客网 时间:2024/04/30 09:41
已知图片上的一个触摸点,怎么求其落在地图的哪个瓦块上?
已知:
瓦块尺寸64*32pt, 瓦块数20*20, 地图尺寸1280*640pt如图, 图片的原点是o1 地图原点是o2
向量: o1p, o1o2
地图坐标系的基向量: u, v
瓦块的宽的1/2: w
瓦块的高的1/2: h
o2的坐标: (W, H)
p的坐标:(x, y)
求:
m, n 使得 o2p=m*u+n*v
解:
根据向量减法
o2p=o1p-o1o2
即
o2p=(x, y) - (W, H)=(x-W, y-H)
又
u=(w, -h)
v=(-w, -h)
o2p=m(w, -h)+n(-w, -h)
则
(x-W, y-H) = m(w, -h)+n(-w, -h)
得二元一次方程组
x-W=mw-nw
H-y=mh+nh
解得
m = (Hw - yw + xh - Wh) / (2wh)
n = (Hw - yw + Wh - xh) / (2wh)
注意m,n要截去小数部分
截去小数部分时,不能直接int iM = int(m);因为如果m==-0.5时,会被规整成0,而-0.5不合法.
所以先判断m,n的边界,再规整成整数
则触摸点p落在了第(m, n)个瓦块上
0 0
- 45度角地图坐标计算
- Cocos2d-JS tiledMap 45度角地图坐标计算
- 45 度角地图---坐标换算
- 瓦片地图坐标相关计算
- 关于45°角度地图坐标的计算原理 - LVin_A
- AS3-45度角地图坐标转换一(Diamond)
- cocos2dx tiledmap 45度地图 世界坐标转换 格子坐标
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 45度斜角地图菱形坐标转换
- 谷歌地图两点坐标计算
- 六边形格子地图坐标计算与转换
- 百度地图计算两坐标点之间距离计算
- 百度地图计算两坐标点之间距离计算
- 聊聊JVM的年轻代
- Tomcat 学习进阶历程之http协议
- HDU 1029
- 兰姆达表达式Lambda 表达式(C# 编程指南)
- 学习笔记 android fragment
- 45度角地图坐标计算
- POJ 1201 差分约束
- 最短路径算法Dijkstra和A*
- eclipse安装svn插件
- 粒子效果初试-喷射方向
- POJ 3049 Invitation Cards ( 快排+深搜)
- photoshop中RGB三色原理及颜色相加相减
- 植物大战僵尸2战果
- 英语部分词汇技巧