当前位置: 首页 > news >正文

网站产品图片尺寸网页制作软件案例

网站产品图片尺寸,网页制作软件案例,百度搜索关键词查询,学校室内设计效果图文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上#xff0c;计算两点之间的直线距离通常使用地理坐标系#xff08;例如WGS84#xff09;。计算两地直线距离的公式是根据经纬度之间的大圆距离#xff08;Great Circle Distanc… 文章目录 1 原理公式2 代码实现2.1 JavaScript2.2 C2.3 Python2.4 MATLAB 1 原理公式 在地球上计算两点之间的直线距离通常使用地理坐标系例如WGS84。计算两地直线距离的公式是根据经纬度之间的大圆距离Great Circle Distance来计算的。该公式基于球面三角学常用的公式是 H a v e r s i n e Haversine Haversine 公式。 形式一 d l o n l o n 2 − l o n 1 d_{lon} lon_2 - lon_1 dlon​lon2​−lon1​ d l a t l a t 2 − l a t 1 d_{lat} lat_2 - lat_1 dlat​lat2​−lat1​ a s i n 2 ( d l a t / 2 ) c o s ( l a t 1 ) ∗ c o s ( l a t 2 ) ∗ s i n 2 ( d l o n / 2 ) a sin²(d_{lat}/2) cos(lat_1) * cos(lat_2) * sin²(d_{lon}/2) asin2(dlat​/2)cos(lat1​)∗cos(lat2​)∗sin2(dlon​/2) c 2 ∗ a t a n 2 ( a , ( 1 − a ) ) c 2 * atan^2(\sqrt{a}, \sqrt{(1-a)}) c2∗atan2(a ​,(1−a) ​) d R ∗ c d R * c dR∗c 形式二 d R ∗ a c o s ( s i n ( l o n 1 ) ∗ s i n ( l o n 2 ) c o s ( l o n 1 ) ∗ c o s ( l o n 2 ) ∗ c o s ( l a t 2 − l a t 1 ) ) d R*acos(sin(lon_1)*sin(lon_2) cos(lon_1)*cos(lon_2)*cos(lat_2-lat_1)) dR∗acos(sin(lon1​)∗sin(lon2​)cos(lon1​)∗cos(lon2​)∗cos(lat2​−lat1​)) 其中 R R R 是地球的半径约为6371千米。 请注意这个公式假设地球是一个完美的球形。实际上地球的形状更像一个椭球因此使用更精确的地理信息系统GIS软件或库如proj.4或GeographicLib可能会得到更准确的结果。 此外经纬度通常以度为单位但上述公式中的角度应被视为弧度。如果经纬度是以度数形式给出的需要将其转换为弧度。可以通过将度数乘以π/180并取整数部分得到弧度值。例如 30 ° 30° 30°转换为弧度为 π / 180 ∗ 30 π/180*30 π/180∗30。 2 代码实现 2.1 JavaScript function calculateDistance(lat1, lon1, lat2, lon2) {const R 6371; // 地球半径单位为千米const rad (angle) angle * Math.PI / 180; // 将角度转换为弧度const lat1Rad rad(lat1);const lon1Rad rad(lon1);const lat2Rad rad(lat2);const lon2Rad rad(lon2);const dLat lat2Rad - lat1Rad;const dLon lon2Rad - lon1Rad;const a Math.sin(dLat / 2) * Math.sin(dLat / 2) Math.cos(lat1Rad) * Math.cos(lat2Rad) *Math.sin(dLon / 2) * Math.sin(dLon / 2);const c 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));const distance R * c; // 返回单位为千米的距离return distance; }// 示例用法 const lat1 39.9087; // 北京的经纬度 const lon1 116.4074; const lat2 31.2304; // 上海的经纬度 const lon2 121.4737;const distance calculateDistance(lat1, lon1, lat2, lon2); console.log(distance); // 输出直线距离单位千米2.2 C #include cmath #include iostream// 计算两个经纬度之间的距离单位千米 double calculateDistance(double lat1, double lon1, double lat2, double lon2) {const double R 6371; // 地球半径单位为千米// 将经纬度转换为弧度double lat1Rad std::atan(std::tan(lat1 * (M_PI / 180)) * std::cos(lon1 * (M_PI / 180)));double lon1Rad lon1 * (M_PI / 180);double lat2Rad std::atan(std::tan(lat2 * (M_PI / 180)) * std::cos(lon2 * (M_PI / 180)));double lon2Rad lon2 * (M_PI / 180);// 计算两个经纬度之间的弧度差double dLat lat2Rad - lat1Rad;double dLon lon2Rad - lon1Rad;// 根据球面三角法公式计算距离double a std::sin(dLat / 2) * std::sin(dLat / 2) std::cos(lat1Rad) * std::cos(lat2Rad) *std::sin(dLon / 2) * std::sin(dLon / 2);double c 2 * std::atan2(std::sqrt(a), std::sqrt(1 - a));// 返回距离return R * c; }// 示例用法 int main() {double lat1 39.9087; // 北京的经纬度double lon1 116.4074;double lat2 31.2304; // 上海的经纬度double lon2 121.4737;double distance calculateDistance(lat1, lon1, lat2, lon2);std::cout 距离 distance 千米 std::endl;return 0; }请注意此代码使用了C标准库中的数学函数和常量。此外将经纬度转换为弧度的方法需要使用std::atan和std::tan函数。 2.3 Python import mathdef calculate_distance(lat1, lon1, lat2, lon2):R 6371 # 地球半径单位为千米rad lambda angle: angle * math.pi / 180 # 将角度转换为弧度lat1_rad rad(lat1)lon1_rad rad(lon1)lat2_rad rad(lat2)lon2_rad rad(lon2)dLat lat2_rad - lat1_raddLon lon2_rad - lon1_rada math.sin(dLat / 2) ** 2 math.cos(lat1_rad) * math.cos(lat2_rad) * math.sin(dLon / 2) ** 2c 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))distance R * c # 返回单位为千米的距离return distance# 示例用法 lat1 39.9087 # 北京的经纬度 lon1 116.4074 lat2 31.2304 # 上海的经纬度 lon2 121.4737distance calculate_distance(lat1, lon1, lat2, lon2) print(distance) # 输出直线距离单位千米请注意由于Python和JavaScript之间的一些语法差异需要使用math模块来进行数学计算。另外由于Python中没有lambda函数的功能因此需要使用普通的函数定义来代替。 2.4 MATLAB function distance calculateDistance(lat1, lon1, lat2, lon2)const R 6371; % 地球半径单位为千米lat1Rad rad(lat1);lon1Rad rad(lon1);lat2Rad rad(lat2);lon2Rad rad(lon2);dLat lat2Rad - lat1Rad;dLon lon2Rad - lon1Rad;a sin(dLat / 2) .^ 2 cos(lat1Rad) .* cos(lat2Rad) .* sin(dLon / 2) .^ 2;c 2 * atan2(sqrt(a), sqrt(1 - a));distance R * c; % 返回单位为千米的距离 end% 示例用法 lat1 39.9087; % 北京的经纬度 lon1 116.4074; lat2 31.2304; % 上海的经纬度 lon2 121.4737;distance calculateDistance(lat1, lon1, lat2, lon2); disp(distance); % 输出直线距离单位千米请注意MATLAB中的函数定义以function开头输入参数以逗号分隔输出结果使用变量名返回。此外MATLAB中用.*表示元素之间的相乘而^表示乘方。最后使用disp函数输出结果。
http://www.huolong8.cn/news/158465/

相关文章:

  • 仿木鱼网络网站wordpress去底部版权信息
  • 老年人做网站wordpress调整宽度
  • 2008 做网站医院网站备案前置审批
  • 做商城网站需要备案什么域名怎么在百度自己创网站
  • 做影视网站对宽带要求游戏开发需要学什么编程语言
  • 新竹自助建站系统做网站的服务器还需要空间吗
  • 网站备案在哪里查询顺德微网站建设
  • 坑人的网站链接怎么做高德地图是中国的还是国外的
  • 苏州正规网站建设概况protected wordpress login 插件
  • 网站建站基本要素江苏建设工程招标网官方网站
  • 做外贸维护网站需要注意什么wordpress的官方文档
  • 一站式海外推广平台企查查网站
  • 清远市住房和城乡建设局网站网站右侧浮动微信二维码
  • 微信网站制作免费百度域名ip是多少
  • 空压机东莞网站建设赣州建设监督网站
  • 建设银行企业官方网站ai简历在线制作
  • 网站移动化建设方案营销管理软件
  • 建站的公司网站建设包含图文设计
  • 网站部分频道完全不收录了怎么做商务网站规划与设计
  • 做网站的大小个人网站备案信息填写
  • 哪个网站做长图免费转高清青岛网站推
  • 之梦一个系统做多个网站自己做动画网站
  • 营销网站流程与步骤筑招网
  • 网站建设 壹起航做一个网站维护多少钱
  • 做招聘网站赚钱么微信营销的方法
  • 做网站可能遇到的困难湖北建设厅网站上查询
  • 广州建设网站开发梁山县网站建设
  • 建设网站部署环境wordpress不同分类不同模板
  • editplus网站开发什么是企业网站建设
  • 如何将自己做的网站传到网上广州建筑集团股份有限公司