首页 > 其他 > 详细

ZOJ2855 Google Map 经纬度

时间:2014-03-22 22:59:58      阅读:676      评论:0      收藏:0      [点我收藏+]

题目 难理解,最后选用的方法是仿照了二分的思想方法来做的,感觉还是比较灵活的刚看到可能没什么思路,但是想到可以把图分为四个象限,所以可以用类似与二分的方法去做

总是做算法,不如来个陶冶情操的文章一篇: http://www.sanwen.net/subject/3628849/

题意讲的是一个地图,输入三个值的最后一个值L,代表要把这个地图分成 4^L 份,每一次分 就是把整个地图的每一份小地图分成四份,左上的在其名字后面加上一个字母q,右上的r,左下的t,右下的s,给出两个值

 longitude and latitude

然后是两个公式把它转换成 以地图赤道为X轴经度为0的轴为Y轴的图 的 坐标,

  • x = longitude * pi / 180;
  • y = ln(tan(pi / 4 + (latitude * pi / 180) / 2))

Notes

You can use the ‘log(double)‘ function to calculate the natural logarithm, and ‘tan(double)‘ to calculate the tangent value. 


求坐标为X,Y 的点所在小地图的名称


先计算出X,Y的值,然后利用二分的方法 利用地图最右上角坐标  以及 地图最左下角坐标,LX,LY,RX,RY计算MIDX,MIDY,然后用X,Y进行比较,  把每一个小图分为四份可以看成四个象限,这样 比MIDX大比MIDY大的为第一象限,比MIDX小比MIDY大的为第二象限,第三第四类似,看情况然后不停的改变LX,RX,LY,RY的值 不停的查找

是不是跟二分的很类似, 这个思路挺灵活的,而且很好打,写一下记录一下,代码就不给出了  



ZOJ2855 Google Map 经纬度,布布扣,bubuko.com

ZOJ2855 Google Map 经纬度

原文:http://blog.csdn.net/yitiaodacaidog/article/details/21824809

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!