当前位置: 首页 > wzjs >正文

建什么网站做cpa赣州seo唐三

建什么网站做cpa,赣州seo唐三,一个网站有哪几种漏洞,马拉松网站建设前言 在Cesium的学习中,学会读文档十分重要!!!在这里附上Cesium中英文文档1.117。 在Cesium中,一共有四种比较重要的坐标系,分别是地理坐标系,地心地固坐标系,东-北-上局部坐标系和屏…

前言

        在Cesium的学习中,学会读文档十分重要!!!在这里附上Cesium中英文文档1.117。

        在Cesium中,一共有四种比较重要的坐标系,分别是地理坐标系,地心地固坐标系,东-北-上局部坐标系和屏幕坐标系,接下来我们一一学习一下他们的特点。

一、WGS84 坐标系(地理坐标系)

1.1、坐标系介绍

        地理坐标系(Geographic Coordinate System),是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。一个地理坐标系包括角度测量单位、本初子午线和参考椭球体三部分。地理坐标系依据其所选用的本初子午线、参考椭球的不同而略有区别。

        在cesium中,采用的参考椭球为WGS84。

定义​

  • ​格式​​:[经度,纬度,高度]
    • ​经度​​(Longitude):-180° 到 180°,东经为正。
    • ​纬度​​(Latitude):-90° 到 90°,北纬为正。
    • ​高度​​(Height):椭球体高度(米),基于 WGS84 椭球面。
  • ​核心用途​​:人类可读的地理位置输入(如 GPS 坐标、地图标记)。

1.2、角度与弧度的转换

        在Cesium里,经纬度分角度经纬度和弧度经纬度,他们有不同的应用范围。

        弧度地理坐标还有一个类叫Cartographic。

        弧度转角度可以通过数学函数来实现。

degreeLongitude=Cesium.Math.toDegrees(radianLongitude);
degreeLatitude=Cesium.Math.toDegrees(radianLatitude);

        角度转弧度有两种方法, 一种是数学函数,一种是Cartographic的静态函数。

        数学函数

const radianLongitude=Cesium.Math.toDegrees(degreeLongitude);
const radianLatitude=Cesium.Math.toDegrees(degreeLatitude);

        Cartographic.fromDegrees 函数

const cartographic=Cesium.Cartographic.fromDegrees(degreeLongitude, degreeLatitude, height)

1.3、注意事项

    WGS84 高度是相对于椭球面的,如需获取真实地面高度,需使用地形数据。

const sampledHeight = viewer.scene.globe.getHeight(new Cesium.Cartographic.fromDegrees(116.39, 39.9)
); // 可能返回 undefined(无地形数据)

 

二、地心地固坐标系(ECEF)

2.1、坐标系介绍

        地理坐标系由于三个坐标量是经纬度和高度,并不利于数学计算,因此,在Cesium,用笛卡尔三维坐标来进行计算,但是三个坐标轴该如何选取呢?

        地心地固坐标系(Earth-Centered, Earth-Fixed,简称ECEF)简称地心坐标系,是一种以地心为原点的地固坐标系(也称地球坐标系),是一种笛卡儿坐标系。原点 O (0,0,0)为地球质心,z 轴与地轴平行指向北极点,x 轴指向本初子午线与赤道的交点,y 轴垂直于xOz平面(即东经90度与赤道的交点)构成右手坐标系。

        这种坐标系刚好符合满足计算要求,因此Cesium的笛卡尔三维坐标采用地心地固坐标系

定义​

  • ​原点​​:地球质心。
  • ​轴方向​​:
    • ​X 轴​​:赤道与本初子午线(0° 经度)的交点。
    • ​Z 轴​​:地球自转轴(指向北极)。
    • ​Y 轴​​:与 X、Z 轴构成右手坐标系(东经 90° 方向)。
  • ​核心用途​​:卫星轨道计算、精确弹道模拟、全球空间分析。

图片来源百度百科

                                                                图片来源百度百科

2.2、坐标转换

2.2.1、经纬度转笛卡尔坐标(ECEF)

        经纬度转地心地固坐标可以通过fromRadians和fromDegrees函数,这两个函数分别把弧度地理坐标和角度地理坐标转成地心地固坐标。

 2.2.2、地心地固坐标转经纬度

        地心地固坐标无法直接转角度经纬度,但是可以直接转弧度经纬度。因此如果要角度经纬度,我们还需要通过数学函数进行转换。

const cartographic = Cesium.Cartographic.fromCartesian(ecefPosition);
//转角度
const lon = Cesium.Math.toDegrees(cartographic.longitude);
const lat = Cesium.Math.toDegrees(cartographic.latitude);
const height = cartographic.height; // 椭球高度,非地面实际高度!

三、东-北-上局部坐标系(ENU)

3.1、坐标介绍

        在Cesium中,东-北-上局部坐标系一般用于控制模型的姿态(后面文章再介绍)。

        定义​

  • ​原点​​:用户定义的参考点(如某个经纬度位置)。
  • ​轴方向​​:
    • ​East (X)​​:局部东方向。
    • ​North (Y)​​:局部北方向。
    • ​Up (Z)​​:垂直于椭球面向上(非垂直地面!)。

3.2、地心地固坐标转局部坐标

        地心地固坐标可以直接转局部坐标矩阵,但是不能直接转经纬度。

 

四、屏幕坐标系

4.1、坐标介绍

定义​

  • ​原点​​:画布左上角 (0, 0),右下角为 (width, height)(像素单位)。
  • ​核心用途​​:处理鼠标点击、屏幕叠加元素(如 HUD 文字)。

4.2、获取屏幕坐标

        屏幕坐标一般和鼠标事件在一起处理,通过ScreenSpaceEventHandler类里的setInputAction函数取得,该函数第一个参数为一个回调函数,我们可以通过这个来获取屏幕的坐标。

let drawHandler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
drawHandler.setInputAction((e) => { // 监听鼠标左键点击事件const p = e.position;//屏幕坐标}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

4.3、屏幕坐标转地心地固坐标

        将屏幕坐标转地球坐标我们可以通过scene对象的pickPosition函数来进行转换。

let drawHandler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas);
drawHandler.setInputAction((e) => { // 监听鼠标左键点击事件const p = scene.pickPosition(e.position);//地心地固坐标}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

4.4、地心地固坐标转屏幕坐标

        地心地固坐标转屏幕坐标可以通过wgs84ToWindowCoordinates函数来完成。

const screenPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(viewer.scene,globalPosition
);

 五、3D 空间中的数学工具

        除了坐标系外,cesium里还有一些和坐标系计算相关的内容,有了他们,我们可以对模型坐标进行平移旋转等数学计算。

5.1、四元数

定义​

​特性​

  • ​用途​​:表示 3D 旋转,避免万向节锁问题,且计算效率高。
  • ​结构​​:包含 4 个分量 [x, y, z, w],通常表示绕某个轴的旋转。
  • ​公式​​:
    q=[x,y,z,w]=cos(θ/2)+(i⋅x+j⋅y+k⋅z)sin(θ/2)
    其中,θ 是旋转角度,(x,y,z) 是旋转轴。
  • ​紧凑性​​:仅需 4 个数值,内存占用小于矩阵。
  • ​插值平滑​​:适合球面线性插值(SLERP),用于动画过渡。
  • ​归一化​​:四元数必须归一化(长度为 1)才能正确表示旋转。

         比如,绕y轴转90度。

// 创建四元数(绕 Y 轴旋转 90 度)
const axis = new Cesium.Cartesian3(0, 1, 0); // Y 轴
const angle = Cesium.Math.toRadians(90); // 弧度
const quaternion = Cesium.Quaternion.fromAxisAngle(axis, angle);// 应用四元数到实体方向
entity.orientation = quaternion;

5.2、方向矩阵(Matrix3 和 Matrix4)

        方向矩阵​​中Matrix3表示旋转, Matrix4表示旋转 + 平移。

 5.3、Cartesian4

Cartesian4表示 4D 向量,常用于齐次坐标或矩阵运算。

  • ​结构​​:[x, y, z, w],其中:
    • x, y, z:空间坐标或方向分量。
    • w:齐次坐标的缩放因子(通常为 1 表示点,0 表示方向)。

       


        

        关于坐标系统及坐标转换到这里就结束了,如果大家喜欢我的文章的话,点一个免费的赞和关注吧!

http://www.dtcms.com/wzjs/88926.html

相关文章:

  • 网站仿站教程神马seo教程
  • 郑州发布最新消息今天拼多多seo搜索优化
  • 网站建设 工具seo黑帽多久入门
  • 做网站主要注意些什么seo智能优化系统
  • 建设网站对服务器有什么要求个人接外包项目平台
  • wordpress对接COS后网站变慢seo与网络推广的区别和联系
  • 徐州网站优化seo外链优化
  • 化妆品网站建设目标与期望全国疫情实时动态
  • 网站目标关键词阿里巴巴国际贸易网站
  • asp.net网站设计分工营销方案ppt
  • 静海的做网站苏州网站优化排名推广
  • wordpress 音乐站主题贵州seo技术培训
  • 大型网站tag标签 索引百度seo培训要多少钱
  • java购物网站开发流程市场监督管理局职责
  • 企业创建网站厦门网站搜索引擎优化
  • wordpress企业免费模板南通seo网站优化软件
  • 西安网站制作工程师永久免费google搜索引擎
  • 做推广的网站需要注意什么开创集团与百度
  • 常德建设企业网站公司seo
  • 不安装word使用wordpress结构优化设计
  • 网站做app的软件有哪些网络口碑营销
  • 做家电维修网站宁波seo排名公司
  • 智能建站收费标准萧山市seo关键词排名
  • java和php哪个做网站好抖音代运营公司
  • 广州网站建设有哪些做app找什么公司
  • 实搜网站建设广告文案
  • 找什么公司做网站关键词优化排名用哪个软件比较好
  • 建 新闻 网站深圳网络营销渠道
  • 我的世界做弊端网站手机google官网注册账号入口
  • 网络平台销售seo推广收费标准