目前学习了mapbox, three.js, webgl, cesium的过程中,发现坐标系是一个非常重要的东西,目前我所了解到的坐标系对其进行一个总结,先粘贴上图片:

1. 屏幕坐标系(平面坐标系,笛卡尔2坐标系,像素坐标系,坐标系格式为(x, y)):
屏幕坐标系就是平面直角坐标系,我们在平面中使用的坐标,格式为x,y,在cesium中使用Cartesian2进行初始化,日常使用中的屏幕像素坐标就是平面坐标系坐标,鼠标在地图上点击位置时返回的就说一个Cartesian2笛卡尔2对象

转换方法:
屏幕坐标系转换为笛卡尔3坐标系的三种方法,均默认click.position为点击地图后返回的屏幕像素x,y坐标:
(1)//pickEllipsoid(windowPosition(像素的x,y坐标,笛卡尔2),ellipsoid(要选择的椭球),result): 获取鼠标点的对应椭球面位置(世界坐标Cartesian3)
const wordPosition = viewer.scene.camera.pickEllipsoid(click.position, viewer.scene.globe.ellipsoid)

(2)// getPickRay(windowPosition像素的x,y坐标):从相机位置通过点的像素创建一条射线
const ray = viewer.camera.getPickRay(movement.position)
pick(ray(测试相交的射线,scene(场景))):找到光线和渲染的地球表面之间的焦点
const rayPosition = viewer.scene.globe.pick(ray, viewer.scene)

(3)// pickPosition: 返回从深度缓冲区和窗口位置重建的笛卡尔位置
const pickPosition = viewer.scene.pickPosition(movement.position)

屏幕坐标系转换为弧度制的两种方法:
(1)//将笛卡尔坐标转换为84地理坐标
const cartographic = Cesium.Cartographic.fromCartesian(cartesian);
//将弧度转为度的十进制度表示
const lon = Cesium.Math.toDegrees(cartographic.longitude);
const lat = Cesium.Math.toDegrees(cartographic.latitude);

(3)//将笛卡尔坐标转换为84坐标系
const curPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(cartographic );
const lon = curPosition.longitude * 180 / Math.PI;
const lat = curPosition.latitude * 180 / Math.PI;

2.笛卡尔空间坐标系(笛卡尔2,笛卡尔3(世界坐标系),笛卡尔4):
笛卡尔坐标系是直角坐标系和斜角坐标系的统称,我们日常开发所用主要是二维直角坐标系和三维空间坐标系
二维直角坐标系:就是上面的屏幕坐标系,Cesium.Cartesian2(x, y)

三维直角坐标系:也叫做世界坐标系,可以看作是以椭球中心为原点的空间直角坐标系中一个点的坐标, 以圆心为原点ow,xw轴水平向右,yw轴像下,zw是由右手法则确定,在three.js中也用的右手坐标系,计算机中常用到左手坐标系,左手坐标系(x向右,y向上,z向前)和右手坐标系(x向右,y向上,z向后)只是两者的Z轴相反
格式:Cesium.Cartesian3(x, y, z)

3.WGS84地理坐标系(经纬度坐标系):
WGS84坐标系是国际上采用的地心坐标系,坐标原点是地球质心,地心空间直角坐标系的Z轴指向地球级(CTP)方向,X轴指向零子午面和CTP赤道的交点,Y轴和Z,X轴构成右手坐标系,我们常使用的经纬度也是从84坐标系中取出,经度(参考椭球面上某点的大地子午面与本初子午面间的两面角,东正西负),纬度(参考椭球面上某点的法线与赤道平面的夹角。北正南负),其经纬度范围分别为[-180,180]和[-90,90]
格式:Cesium.Cartographic(longitude, latitude, height)

4.火星坐标系:
GCJ02火星坐标系是WGS84坐标系加密后的坐标系,出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标,一般我们所用到的主流地图上的坐标系都是火星坐标系

3d开发所需要知道的坐标系相关推荐

  1. 3D开发学习之笛卡尔坐标系

    作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> 一.2D笛卡尔坐标系的定义   2D笛卡尔坐标系具有以下特点: 1.2D笛卡尔坐标系都具有一个 ...

  2. XNA开发思考之3D开发中的小常识

    PS:个人学习总结,转载请著明出处 在XNA的3D开发中,时常要涉及到坐标系统和摄象机的一些参数.同时还有矩阵的变化来在3维世界里的移动. 在二维世界里的坐标系统里,使用x,y坐标来表示一个点在坐标系 ...

  3. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具

    无论您是想搭建桌面端.WEB端或者移动端APP应用,HOOPS Platform 组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务. ...

  4. 3D开发工具HOOPS最新解析合集,助力实现web端高性能模型渲染

    一.3D技术为创新提供强大助力 不管您想搭建桌面.WEB或者移动端APP应用,技术领先全球的HOOPS Platform组件都可以为您提供弹性的3D集成架构,同时,一批可信任的工业领域3D技术专家也将 ...

  5. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  6. 【转】体验 Silverlight 5 3D开发之环境搭配篇

    体验 Silverlight 5 3D开发之环境搭配篇 时间:2012-10-08 20:14来源:博客园作者:吉心 点击:180次 项目组现在要做一个三维的项目,我们几个童鞋,讨论了N久,最后决定基 ...

  7. [Map 3D开发实战系列] Map Resource Explorer 之四-- Map3D开发中的WPF

    目录 [Map 3D开发实战系列] Map Resource Explorer 背景介绍--Kick off [Map 3D开发实战系列] Map Resource Explorer 之二-- 运行和 ...

  8. unity 3d开发的大型网络游戏 1

    unity 3d开发的大型网络游戏 一.总结 1.unity的官网上面应该有游戏列表 2.unity3D是很好的3d游戏引擎,也支持2d,也能做很多画面精良的3A级游戏 3.范围:电脑游戏,手机游戏, ...

  9. 老子云SDK免费使用,实现3D开发自由

    随着3D元素在日常生活的广泛应用,3D可视化也开始承载越来越多的功能,这意味着更细致的交互要求.更复杂的逻辑关系,也意味着更庞大的开发工作量. 为了减轻用户开发压力,老子云团队一直致力于3D可视化底层 ...

  10. 批量处理千万模型,3D开发必备接口程序!老子云新版API,正式上线!

    大家千呼万唤的新版API,它终于来了!九月底上线,上线当晚调用次数就已破千,一周过万,好评如潮. 这一版API将6大3D轻量化处理接口进行统筹,同时开放了更大在线模型接口,可支持10余种格式模型上传, ...

最新文章

  1. visio 2010 修改 默认字体 字号大小 方法
  2. P1972 [SDOI2009]HH的项链(离线树状数组)
  3. svn更改用户名方法:
  4. 斯坦福2018 AI指数报告出炉:DL职位需求两年增长35倍
  5. linux禁止切换到root,linux禁止普通用户切换至root用户的实例讲解
  6. java访问mongodb_Java中获取MongoDB连接的方法详解
  7. 计算机软件时间,时间校对软件
  8. C2000浮点运算注意事项——CPU和CLA的差异及误差处理技巧
  9. 网页中使用iconfont图标
  10. 版本管理工具-SourceSafe
  11. 软件测试输入准则,单元测试准则
  12. 【二次分配问题】基于遗传算法 (GA)、粒子群优化 (PSO) 和萤火虫算法 (FA) 求解二次分配( QAP)问题(MATLAB 实现)
  13. 牛客 小米校招 计算题 单调栈 接雨水
  14. 纯干货!信贷行业电话销售员一定要掌握的电话沟通话术
  15. java 横向 打印出来_java jacob调用打印,word,excel横向打印
  16. Spring boot 支付宝网站支付
  17. 02 AC-DC整流器(AC Rectifer)简介
  18. 综合英语二课本电子版哪里有_全新版大学英语综合教程-2-课文电子书(20200702100022)...
  19. 51单片机连接RC522芯片并通过UART串口与上位机编写的Python脚本实现通信
  20. java 单元测试_android开发奇技淫巧《通过main方法,写单元测试》

热门文章

  1. $('xx')[0].files[0]的意思
  2. 告诉你一个真实的北京
  3. 生活中的逻辑谬误04.赌徒谬误
  4. ps html css 工具,PS常用九大抠图工具
  5. PAT乙级-1055 集体照 (25分)
  6. Python实现阶跃函数、sigmoid函数、ReLU函数
  7. 使用JOPENS-MSDP系统进行简单的地震定位
  8. allergo 命令
  9. 项目进度管理方法——里程碑
  10. 查看浏览器内核以及版本信息