CESIUM空间点坐标在某方向上平移运算

一、A、B两点,求在A、B之前,求一点C空间,C位于线段AB的1/4处,也就是BC长度是BA的0.25倍。

如下图

CESIUM空间点坐标在某方向上平移运算_第1张图片

计算方法为:

(1)求出A到B的向量,也就是A点相对于B点来说的坐标,即以B点为坐标中心的点坐标值。应用CESIUM提供的方法:

let AtoB = Cesium.Cartesian3.subtract(cartesianA, cartesianB, new Cesium.Cartesian3());

(2) 求出1/4的AB向量,也就是 C相对B点的坐标:

let cartesian4_1 = Cesium.Cartesian3.divideByScalar(AtoB, 4, new Cesium.Cartesian3())

其实上面的代码相当于:

let cartesian4_1 = new Cesium.Cartesian3(AtoB.x * 0.25, AtoB.y * 0.25, AtoB.z * 0.25)

(3)求C世界坐标,即为:B+cartesian4_1,也就是:

 let cartesianC= Cesium.Cartesian3.add(cartesian4_1, cartesianB, new Cesium.Cartesian3());

 

你可能感兴趣的:(CESIUM空间点坐标在某方向上平移运算)