Cesium的相机实现原理

本文详细介绍了Cesium相机的工作原理,包括相机的平移、倾斜和缩放。平移涉及射线计算和移动距离的转换;倾斜包括绕相机上方向和右方向的旋转;缩放基于滚轮操作,调整相机与目标点的距离。此外,还讨论了相机参数设置和类关系图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:相机的原理

相机的平移根据鼠标的左键点击

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轴垂直的那个方向。实际是垂直与地面的那个方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千银

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值