cesium获取某个位置垂直于当前地表的垂直坐标系

Cesium.Transforms的相关方法

Cesium.Transforms.eastNorthUpToFixedFrame
常用的有Cesium.Transforms.eastNorthUpToFixedFrame这个方法,这个方法支持通过传入一个中心点,然后获取到中心点的正东正北,和地表法线的方向:
x轴指向当前点的东方向。
y轴指向当前点的北方向。
z轴在椭圆体的方向轴指向表面法线穿过的位置。

例子:

//获取到经纬度为 0 0的地点的 局部坐标系

//获取到经纬度为 0 0的地点的 局部坐标系
var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);

和eastNorthUpToFixedFrame方法相匹配的还有相应的:
northEastDownToFixedFrame
northUpEastToFixedFrame
northWestUpToFixedFrame

Cesium.Transforms.northEastDownToFixedFrame
和eastNorthUpToFixedFrame用法相同,返回的矩阵的轴向略有不同:
x轴指向当地的北方
y轴指向当前地点的东方
z轴指向当前地点地表法线穿过的方向,也就是垂直于地表

Cesium.Transforms.northUpEastToFixedFrame
和eastNorthUpToFixedFrame用法相同,返回的矩阵的轴向略有不同:
x轴指向北方
y轴垂直于地表
z轴指向于东方

Cesium.Transforms.northWestUpToFixedFrame
和eastNorthUpToFixedFrame用法相同,返回的矩阵的轴向略有不同:
x轴指向北方
y轴指向西方
z轴垂直于地表

除了前面获取某个位置的局部坐标系矩阵,我们还可以获取某个地表位置的局部旋转修改成全局设置的方式。

Cesium.Transforms.fixedFrameToHeadingPitchRoll
fixedFrameToHeadingPitchRoll方法可以根据特定参考系中的变换计算航向俯仰角滚动角。
fixedFrameToHeadingPitchRoll支持四个值:transform,ellipsoid,fixedFrameTransform,result
transform-需要变换的四维矩阵
ellipsoid-当前使用的坐标系,可选,默认值:Ellipsoid.WGS84
fixedFrameTransform - 当前使用全局转局部的方式,也是前面提供的四种,默认Transforms.eastNorthUpToFixedFrame
result - 可选,如果设置,将返回的HeadingPitchRoll值放置在此对象内。

Cesium.Transforms.headingPitchRollQuaternion
可以根据根据位置和设置的HeadingPitchRoll的值获取到在当前坐标系中的四元数
例子:

var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -Cesium.Math.PI_OVER_TWO;
var pitch = Cesium.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new HeadingPitchRoll(heading, pitch, roll);
var quaternion = Cesium.Transforms.headingPitchRollQuaternion(center, hpr);

Cesium.Transforms.headingPitchRollToFixedFrame
可以根据根据位置和设置的HeadingPitchRoll的值获取到在当前坐标系中的四维矩阵
例子:

var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
var heading = -Cesium.Math.PI_OVER_TWO;
var pitch = Cesium.Math.PI_OVER_FOUR;
var roll = 0.0;
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
var transform = Cesium.Transforms.headingPitchRollToFixedFrame(center, hpr);

转载于:添加链接描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值