免费! 免费!免费
给新手解释一下,我是怎么理解这个3D笛卡尔坐标的。
其实你就别想它的概念是啥,爱是啥是啥,别管名字,你只要记住,后面其他地方用就对了
再深入一点理解就是3D笛卡尔坐标就是三维坐标,那么也可以把我们的2维屏幕也可以理解为2D笛卡尔坐标
OK,理解到这里就够了,当然,你要是刚开始学这个框架,一定会不理解这些坐标,别急,后续的一些功能需要 只要记住这个互相转换的坐标有哪些
屏幕坐标 -> 3D笛卡尔坐标
// 通过相机在Cesium球体上拾取屏幕上的位置来转换,所以在脱离球体之后就无法进行转换
viewer.camera.pickEllipsoid(2D笛卡尔坐标)
笛卡尔坐标 转 屏幕
viewer.scene.cartesianToCanvasCoordinates(笛卡尔坐标, new Cesium.Cartesian2());
经纬度 转 3D笛卡尔坐标
Cesium.Cartesian3.fromDegrees(经度,纬度,高度)
3D笛卡尔坐标 转 经纬度
let point = new Cesium.Cartesian3(114, 40, 12000);// 需要转化的笛卡尔信息
let cart = Cesium.Ellipsoid.WGS84.cartesianToCartographic(point 或者是3D笛卡尔坐标);
// 获取其中的经纬度高度
let lng = Cesium.Math.toDegrees(cart.longitude);
let lat = Cesium.Math.toDegrees(cart.latitude);
let height = cart.height;