一:相机的原理
相机的平移根据鼠标的左键点击
1:相机的平移原理
1.1 相机没有点到地面时
1):用相机原点与鼠标所点坐标做射线
用相机的 Camera.getPickRay()求取射线。
const ray = camera.getPickRay(startPosition);
if (Math.abs(ray.direction.z) < CesiumMath.EPSILON4) {
return;
}
const lambda = - ray.origin.z / ray.direction.z;
if (lambda < 0) {
return;
}
pickPosition = Ray.getPoint(ray, lambda);
2):求取相机原点在方向向量z轴的分量
用相机原点的z/方向向量的z
1.2 根基点击的点计算左右移动距离和特定方向的移动距离
注意这里面有一个操作细节,相机左右移动是正常移动,相机另外一个方向的移动实际是相机右方向与z轴垂直的那个方向。实际是垂直与地面的那个方向。