题意: 给出两点的经纬度,求两点的球面距离与直线距离之差。

解法: 我们先算出球面距离,然后可以根据球面距离算出直线距离。

球面距离公式: R*acos(sin(W1)*sin(W2)+cos(W1)*cos(W2)*cos(J1-J2));   ( W1,W2 为两点的纬度值,J1,J2为两点的经度值 )

推导过程就不写了,网上可以查到很明确的推导过程。

然后算出了球面距离,其实就是一段弧,根据弧长求弦长:

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#define pi acos(-1.0)
using namespace std;int main()
{int t,n,i;double x1,x2,y1,y2;double R = 6371009;scanf("%d",&t);while(t--){scanf("%lf%lf",&x1,&y1);scanf("%lf%lf",&x2,&y2);x1 = x1*pi/180.0;y1 = y1*pi/180.0;x2 = x2*pi/180.0;y2 = y2*pi/180.0;double ans = R*acos(sin(x1)*sin(x2)+cos(x1)*cos(x2)*cos(y1-y2));printf("%.0f\n",ans-2*R*sin(ans/(2*R)));}return 0;
}

View Code

转载于:https://www.cnblogs.com/whatbeg/p/4160447.html

UVA 11817 Tunnelling the Earth --球面距离公式相关推荐

  1. 用户综合分析系统:大数据板块---地球球面距离公式推论

    此文章是根据地球两点的经纬度来计算两点的球面距离,从而来根据用户登录的信息来产生评估报告. 概述 在球面上,不在同一直径上的两点之间的最短距离,就是经过这两点的大圆在这两点间的一段劣派的长度,我们把这 ...

  2. UVA11817 Tunnelling the Earth(计算几何、经纬度转空间坐标、球面距离)

    整理的算法模板合集: ACM模板 题目大意: 以经纬度形式给出地球(当作一个球)上两个点,求这类的最短弧线距离和两点直线距离之差(四舍五入),假设地球半径为:6371009米 照着训练指南上的模板打就 ...

  3. 几何初步_关于球面距离公式

    携程预赛的时候有一题是几何问题,已知两点经纬度求球面距离.当时没有推导公式,直接网上搜搜了公式直接套用... 今天在高数课上想起同样的问题,就在课上推导了那个公式... 已知两点经纬度,A(wA,jA ...

  4. 附近地点搜索解决方案之基于球面距离公式的算法

    求球面上任意两点之间的距离 球面上任意两点之间的距离计算,我们采用Haversine公式. 其中 R为地球半径,取6371km: φ1, φ2 表示两点的纬度: Δλ 表示两点经度的差值. d就是我们 ...

  5. 算法-入门篇(球面距离)

    概述 球面距离公式是计算球面上两点间距离的公式.设所求点A ,纬度角β1 ,经度角α1 :点B ,纬度角β2 ,经度角α2.则距离S=R·arc cos[cosβ1cosβ2cos(α1-α2)+si ...

  6. 深圳杯---无线回传拓扑规划

    B题-无线回传拓扑规划(3人完成) 背景介绍 在城区建设基站,传输光纤部署最后一公里的成本高,光纤到站率低,全球综合来看低于60%:如果使用微波传输,由于微波只能在LOS(视距)场景下部署,而城区场景 ...

  7. K-均值对地图上的点进行聚类(2)

    3. 对地图上的点进行聚类 示例:对于地理数据应用二分K-均值算法 (1)收集数据:使用Yahoo! placeFinder API收集数据. (2)准备数据:只保留经纬度信息. (3)分析数据:使用 ...

  8. java实现米和厘米比较好_java如何根据实际经、纬度和已知经、纬度做对比,计算出具体偏差米数。(以米为单位)...

    首先我们要知道一个球面距离公式 R*arccos(cos(lat1*pi()/180 )*cos(lat2*pi()/180)*cos(lng1*pi()/180 -lng2*pi()/180)+ s ...

  9. Redis GeoHash 核心原理解析,你学废了吗?

    作者 | SoWhat1412 来源 | SoWhat1412(ID:sowhat9094) 头图 |  CSDN 下载自东方IC 引言 小麦同学是个吃货+技术宅,平日里就喜欢拿着手机地图点点按按来查 ...

最新文章

  1. Python3面向对象编程的三大特性 封装、继承、多态
  2. Hibernate使用C3P0配置
  3. 使用Android Studio运行项目出现 UnsupportedMethodException 错误的解决办法
  4. z-index优先级总结
  5. swift简介(东拼西凑,看看就的了)
  6. 测试吃鸡游戏帧数软件,帧数暴涨10%+ RX 560D开核“吃鸡”测试
  7. 阿里巴巴如何面试?网友分享出你不知道的真实面试流程(转发给有需要的人)
  8. 这是你不曾见过的最全的ASO应用市场优化方式(上篇)
  9. 甘超波:NLP信念系统
  10. 线性代数学习笔记(一):线性空间的理解
  11. 用pygame做一个简单的python小游戏---生命游戏
  12. STL常用——acwing——yxc
  13. 基于QT4的智能温度采集控制系统
  14. Reduce-Rank Regression通俗解释及与其他降维方法的关系
  15. RocketMQ入门及部署
  16. ORA-39126: Worker unexpected fatal error in KUPW$WORKER.FETCH_XML_OBJECTS [ORA-04063: view “SYS.KU$_
  17. Wipro为悉尼水务局部署SAP S/4HANA®
  18. 关于微信小程序云开发以及云开发实例展示
  19. 求f(x)=1-x的2次方的定积分
  20. vc++经典技巧总结

热门文章

  1. 分分钟学会用Python爬取天气预报
  2. java word 超链接到文档内部_Java 添加超链接到 Word 文档方法详解
  3. Python3爬取小说并保存到文件
  4. 企业常用文档加密软件方案有哪些?企业电脑文件加密软件重要性分析【上海风奥科技】
  5. android 6.0 存储空间,Android 6.0 SD记忆卡储存空间合并新功能,原厂没给的教你如何免 Root 手动合并吧!...
  6. zabbix客户端安装
  7. 鞋子商店APP源码和设计报告
  8. 织梦如何添html5播放器,dedecms编织梦ckplayer视频播放器插件详细安装教程
  9. java基于ssm开发的玩具商城系统玩具店
  10. vue学习经验总结(通过url下载文件)