唐山路南网站建设,平台公司市场化运营,中国纪检监察报数字报,网店推广新趋势camera基础属性#xff1a;
Cesium 中的相机通过 viewer.camera 来获取和操作。 position:相机的位置,用 Cartesian3 坐标表示#xff0c;表示的是相机在世界坐标系中的绝对位置。 viewer.camera.position Cesium.Cartesian3.fromDegrees(longitude, latitude, height);dir…camera基础属性
Cesium 中的相机通过 viewer.camera 来获取和操作。 position:相机的位置,用 Cartesian3 坐标表示表示的是相机在世界坐标系中的绝对位置。 viewer.camera.position Cesium.Cartesian3.fromDegrees(longitude, latitude, height);direction:相机的朝向,指向相机正在查看的目标。 viewer.camera.direction new Cesium.Cartesian3(x, y, z);up:相机的上方向用于定义相机的倾斜角度与地面的垂直方向 viewer.camera.up new Cesium.Cartesian3(x, y, z);right:相机的右方向定义相机横向的方向。
控制相机视角 setView() 是 Cesium 中一个常用的方法用于设置相机的视图包括位置、目标点和相机的方向。
viewer.camera.setView({// 相机的位置destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height), // 相机方向orientation: {// 水平旋转角度从正北顺时针旋转到目标方向的角度heading: Cesium.Math.toRadians(heading),
// 朝向的方位角,即相机绕着地心的水平方向旋转,范围: 0-2π
//0 - 正北
//π/2 - 正东
// π - 正南
// 3π/2 - 正西//直旋转角度从水平面向上/向下的角度pitch: Cesium.Math.toRadians(pitch),
// 俯仰角,即相机绕着横轴的上下旋转,范围: -π/2 到 π/2
// π/2 - 正上方(90°)
// 0 - 水平(0°)
// -π/2 - 正下方(-90°)//相机自身的旋转角度roll: 0
// 滚转角,即相机绕着前后轴的旋转,范围: -π 到 π
// 0 - 正常
// π - 倒置
// π/2 - 右倾斜90°
// -π/2 - 左倾斜90°}
});flyTo() 方法提供了平滑的动画过渡来控制相机飞行到指定的位置。
viewer.camera.flyTo({destination: Cesium.Cartesian3.fromDegrees(longitude, latitude, height),orientation: {heading: Cesium.Math.toRadians(heading),pitch: Cesium.Math.toRadians(pitch),roll: 0},duration: 3, // 飞行持续时间单位秒complete: function() {console.log(Fly complete!);}
});lookAt()相机看向某个目标点
var target Cesium.Cartesian3.fromDegrees(120.0, 30.0);
viewer.camera.lookAt(target, new Cesium.Cartesian3(0.0, 0.0, 5000.0)); // 相机距离目标5000米zoomTo是Cesium中用于控制相机视角和定位
// viewer.zoomTo 实际上是对 camera.viewBoundingSphere 的封装
viewer.zoomTo(target, offset); // 等同于
viewer.camera.viewBoundingSphere(boundingSphere, offset);// 应用
// 1. 飞向实体
viewer.zoomTo(entity);
// 2. 飞向实体集合
viewer.zoomTo(viewer.entities);// 3. 飞向数据源
viewer.zoomTo(dataSource);
相机事件
相机轨迹飞行
Cesium 还可以让相机沿着一条预设的轨迹飞行比如沿着多段 Cartesian3 位置点。可以使用 flyTo 配合 Polyline 来模拟轨迹飞行。
var positions [Cesium.Cartesian3.fromDegrees(120.0, 30.0, 5000),Cesium.Cartesian3.fromDegrees(121.0, 30.5, 5000),Cesium.Cartesian3.fromDegrees(122.0, 31.0, 5000)
];viewer.camera.flyTo({destination: positions[0],complete: function() {viewer.camera.flyTo({destination: positions[1]});}
});视觉化理解相机 假设你是摄影师相机属性就像这样
你站在哪里 - position你看向哪里 - direction你的头顶朝向哪里 - up你的右手指向? - right你水平转动脖子左右转头 - heading你点头或抬头 - pitch你歪着头 - roll