Unity3D经纬度与三维坐标相互转化

更新时间:2023-07-23 21:23:50 阅读: 评论:0

Unity3D经纬度与三维坐标相互转化
1.坐标分析
假设经度⾓AOB⽤ Lng 表⽰,纬度⾓DOB⽤ Lat 表⽰,半径OD⽤ R 表⽰。
坐标点D为 (X,Y,Z),这⾥假设 R 已知,实际也是很容易算得。
2.经纬度转空间坐标
转换公式:
3.空间坐标转经纬度
转换公式:
⾸先,实际上这⾥ Lng 和 Lat 是有正负的,这个可以⽤来区分南纬北纬,和东经西经。
举世无双
4.Unity3D程序
(由于之前太忙,隔了好久终于来补了)
这⾥代码我放⼀个demo(如下图,这⾥假设⽩球为地球,红⾊⼩球为绕着转的物体)。代码中东西经度和南北纬度的判断,可能需要根据⾃⼰实际需要来调整,这⾥坐标最好统⼀化,让地球为原点;
对于经度匹配,可以旋转地球,使得地球的实际经度位置与求得的经度相同即可。
using System.Collections;痛风的症状表现
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class coordinate : MonoBehaviour {
public GameObject Earth; //地球
提高智商的书
public GameObject Sphere1; //绕地物体
float myRadius;//距离
float myLatitude; //纬度
int  myLatDegree;//度
float myLatMinute;//分
float myLatSecond;//秒春草年年绿
char  LatDire;
float myLonitude; //经度
int  myLonDegree;//度
float myLonMinute;//分
float myLonSecond;//秒
char  LonDire;
void Update () {
GetComponent<Text>().text = myCalculate(Earth,Sphere1);
//Debug.Log(myCalculate());
}
string myCalculate(GameObject myEarth, GameObject mySphere){
myRadius = Vector3.ansform.position, ansform.position);
myLatitude = Mathf.ansform.position.y / myRadius) * Mathf.Rad2Deg;//求纬度,并转成弧度
//注:这⾥我是以 x,z 为⽔平⾯,即 y = 0 的轨道为⾚道,在Unity中可以很直观地看出
myLatDegree = (int)Mathf.Abs(myLatitude);//纬度均为正数,取绝对值,然后判断南北纬
myLatMinute = (int)(Mathf.Abs(myLatitude) * 60) % 60;
myLatSecond = (Mathf.Abs(myLatitude) * 3600) % 60;
LatDire = myLatitude < 0 ? 'S' : 'N';
myLonitude = Mathf.ansform.position.z, ansform.position.x) * Mathf.Rad2Deg;//求经度        myLonDegree = (int)Mathf.Abs(myLonitude);中小学生综合素质评价平台
myLonMinute = (int)(Mathf.Abs(myLonitude) * 60) % 60;玄阮隆
myLonSecond = (Mathf.Abs(myLonitude) * 3600) % 60;
LonDire = myLonitude < 0 ? 'W' : 'E';
挑三拣四return string.Format("{0}°{1}'{2:F0}\"{3}  {4}°{5}'{6:F0}\"{7}" , myLatDegree, myLatMinute, myLatSecond,LatDire,
myLonDegree, myLonMinute, myLonSecond,LonDire);
//关于string.Format⽤法可见这篇博客 blog.csdn/weixin_42513339/article/details/8305764
8
}
我最喜爱的植物
}

本文发布于:2023-07-23 21:23:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1093809.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:法语翻译例子
下一篇:DirectX教程
标签:经度   地球   坐标   纬度   实际   经纬度   需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图