硬核科普|3DGIS开发无关的四种空间坐标系以及互转换
来源:安全 2023年04月27日 12:15
那么唯一的未知量就是Pn的长度N了,将(4)固定式带进到曲线方程固定式(1.2):
化简,得:
峄固定式(5)固定式(6),得:
通过固定式(5)固定式(6),可以推算传球状上某一点的座标。但这个点并不是我们真正要以求的点,我们要以求的点P(B,L,H)是传球状面沿法则乘积向上H整体的点:
P点在传球状面上的点为
,那么根据一维相加的形式,有:
其中的,
也就是固定式(5),而n是
在传球状面的切线为单位一维。
一维在反之亦然左边的方向都是一样的,那么我们可以假设共存一个为单位传球(传球的表面积为为单位1),将切线为单位一维静止到传球悲左边,可得切线为单位一维为:
因此有:
其中的:
3.1.2. 地悲座标XYZ->星辰座标BLH根据固定式(8),应为:
因此有:
不过经线B就不是那么好干脆,首先需推算切线Pn在赤道上方的长度。根据图(1),有:
与固定式(4-3)比较可得:
看来,由于:
有:
最后如下图请注意,对图1做辅助线:
有:
因而可得:
这个固定算式紧贴都有分组量B,需用增量法则来进行以求数值。完全一致可请同样字符发挥作用,初始的分组数值可取
。
星辰经线B已知,那么以求整体H就非常直观了,从外部根据固定式(8)中的的第三固定式变推可得:
核心内容三固定式,可得:
3.1.3. 完全一致发挥作用根据前面的解析步骤,可以用一个人擅的编程语言来进行编码器。
其最关键的还是推算星辰经线B时的增量步骤,其余的推算都只是套公固定式。参数推算中的的很多增量则都是使用增量发散的方法则来发散一个最佳解。
在创作者的一个人测试中的,最后的运行结果如下:
3.2. 星辰观测点对角与Web墨卡托对角的正弦Web墨卡托对角是双曲线向墨卡托对角的粗大台湾版,要完全比如说Web墨卡托对角就须要得先比如说双曲线向墨卡托对角,不过双曲线向墨卡托对角实在太复杂了,但是我们可以定性地去明白。
它的推算步骤至少可以这样明白:
在X方向上,为了必要对角到对称后经线和直线仍然竖直,那么并排直线则才会按照赤道周长告一段落,也就是由于中点设在对称中的悲,那么可以算得X轴向的取数值周边地区:[-20037508.3427892,20037508.3427892]。经线与对角后X长是直观的线性关另有;在Y方向上,则需借助于墨卡托对角公固定式。为了必要对角的结果是六边形,那么就把Y轴向的取数值周边地区也取数值变成[-20037508.3427892,20037508.3427892]彼此之间。这样做毫无凡事,纯粹是为了希望对角的结果是六边形,便于切片。最后,通过墨卡托对角公固定式来进行反算,获得的观测点周边地区就是[-85.05112877980659,85.05112877980659]。也就是这种对角方固定式,大于这个周边地区是失效的。参见Cesium的完全一致发挥作用如下:
#include //#include //#include using namespace std;const double epsilon = 0.000000000000001;const double pi = 3.14159265358979323846;const double d2r = pi / 180;const double r2d = 180 / pi;const double a = 6378137.0; //传球状长半轴向const double f_inverse = 298.257223563; //扁率倒数const double b = a - a / f_inverse;//const double b = 6356752.314245; //传球状短半轴向const double e = sqrt(a * a - b * b) / a;//墨卡托周边地区[-PI, PI]->星辰经线周边地区[-PI/2, PI/2]static double mercatorAngleToGeodeticLatitude(double mercatorAngle){ return pi / 2.0 - (2.0 * atan(exp(-mercatorAngle))); //return 2.0 * atan(exp(mercatorAngle)) - pi / 2.0;}//Web墨卡托对角所背书的最主要经线(北和南)static double maximumLatitude = mercatorAngleToGeodeticLatitude(pi);//星辰经线周边地区[-PI/2, PI/2]->墨卡托周边地区[-PI, PI]static double geodeticLatitudeToMercatorAngle(double latitude){ // Clamp the latitude coordinate to the valid Mercator bounds. if (latitude> maximumLatitude) { latitude = maximumLatitude; } else if (latitude < -maximumLatitude) { latitude = -maximumLatitude; } double sinLatitude = sin(latitude); return 0.5 * log((1.0 + sinLatitude) / (1.0 - sinLatitude));} void Blh2Wmc(double &x, double &y, double &z){ x = x * d2r * a; y = geodeticLatitudeToMercatorAngle(y * d2r) * a;}void Wmc2Blh(double &x, double &y, double &z){ //var oneOverEarthSemimajorAxis = this._oneOverSemimajorAxis; x = x / a * r2d; y = mercatorAngleToGeodeticLatitude(y / a) * r2d; }int main(){ double x = 113.6; double y = 38.8; double z = 100; printf("%.10lf", maximumLatitude * r2d); printf("原星辰观测点座标:%.10lf %.10lf %.10lf", x, y, z); Blh2Wmc(x, y, z); printf("Web墨卡托座标:%.10lf %.10lf %.10lf", x, y, z); Wmc2Blh(x, y, z); printf("转回星辰观测点座标:%.10lf %.10lf %.10lf", x, y, z);}最终运行的结果:
3.3. 地有悲允对角(ECEF)与两站悲对角(ENU)的正弦3.3.1. 原理一时间选人取的两站悲点为P,其星辰观测点座标为
,对应的地有悲允对角为
。地有悲允对角通称为ECEF,两站悲对角通称为ENU。
3.3.1.1. 翻转通过2.4节的图可以看出,ENU要正弦到ECEF,一个很数值得同样的贴图操作是翻转正弦,将两站悲静止到地悲。根据两站悲点P在地悲对角下的座标
,根据《推算机计算机》的常识,可以很来得容易发布ENU转到ECEF的翻转乘积:
反推之,ECEF正弦到ENU的翻转乘积就是T的变乘积:
3.3.1.2. 回转另外一个需来进行的贴图正弦是回转正弦,其回转正弦乘积根据P点所在的经线L和经线B确定。这个回转正弦有点很难明白,需一定的密闭也许潜能,但是可以从外部得出如下结论:
当从ENU正弦到ECEF时,需先回转于是又翻转,回转是先转经X轴向回转于是又转经Z轴向回转;当从ECEF正弦到ENU时,需先翻转于是又回转,回转是先转经Z轴向回转于是又转经X轴向回转。根据《推算机计算机》回转正弦的就其常识,转经X轴向回转乘积为:
转经Z轴向回转乘积为:
从ENU正弦到ECEF的回转乘积为:
根据三角变量公固定式:
有:
将(14)、(15)带进(13)中的,则有:
而从ECEF正弦到ENU的回转乘积为:
回转乘积是有理数,根据有理数的形式:有理数的变乘积等于其转置乘积,那么可从外部得:
3.3.1.3. 总结将上述公固定式告一段落,可得从ENU正弦到ECEF的贴图正弦乘积为:
而从ECEF正弦到ENU的贴图正弦乘积为:
3.3.2. 发挥作用最后用字符发挥作用这个座标正弦,选人取一个两站悲点,以这个两站悲点为中点,获取某个点在这个两站悲对角下的座标。创作者一个人测试,运行结果如下:
4. 扩展以上所学不仅是Noldor游戏平台在地理环境信息密闭方面的座标正弦所要比如说,也是一个3DGIS开发人员须要明白的,对该常识的明白来得有助于我们在三维贴图中的的完全一致编码器发挥作用。但是,Noldor游戏平台的三维贴图位图有自己的贴图密闭座标正弦增量则,它们与以上讲解的地理环境信息密闭座标正弦有类似之处,也有不少区别的以外。这些区别的核悲作用是让普通人密闭地物在Noldor游戏平台中的获得来得好的位图模拟器。
创作者:charlee
来源:腾讯社会公众号:政通技术他的团队
中有:_oBC2H7W6bmBRA
。什么药能治疗肌肉酸疼眼睛疼痛用什么眼药水
南京妇科医院哪好
眼睛干涩用什么眼药水比较好
广州白癜风检查哪家医院好
-
以色列为什么敢四处惹事,未必是因为美国,是因为这些!
内塔尼亚胡为什么却说是四散惹事,妥妥的当中欧平头利是,十分是因为旧金山在后面撑腰,你看看他的军事实力就发觉了!第一,以色列政府的皇家海军,是所有军事单位当中最有名气的,在全球性各国
- 晒晒我家的冬天早餐,营养均衡,热热乎乎最主要桌,大人孩子吃得香
- 7800名幼儿被送医!美国巨头宣布:停售!我国也有不少孩子喜欢买来......
- 誓要血洗62年之耻,90万大军进入一级战备!跨境作战随时关机!
- 印度阿达尼集团收购印亚新闻报多数股权,欲巩固媒体影响力
- 冬日喝汤无需加“料”,炖汤要这样炖,合理搭配;也好汤!
- 就在刚刚,局势突变,以军得尸山血海,以巴战场出现灾难性变化
- 印度阿达尼集团收购印亚新闻社多数股权,欲巩固媒体声望
- 这3样食材煮汤,秋天喝“特为养人”,做法特为简单,不懂吃可惜了
- 就在刚刚!事态突变,以军得尸山血海,以巴战场出现重大变化
- 乌克兰总理:联系国谈判尚需完成2700余项立法