美文网首页
Mars3D之三维空间视角

Mars3D之三维空间视角

作者: 木遥 | 来源:发表于2022-03-04 14:51 被阅读0次

三维是指在平面二维系中又加入了一个方向向量构成的空间系。三维既是坐标轴的三个轴,即x轴、y轴、z轴,其中x表示左右空间,y表示前后空间,z表示上下空间(不可用平面直角坐标系去理解空间方向)。在实际应用方面,一般把用X轴形容左右运动,而Z轴用来形容上下运动,Y轴用来形容前后运动,这样就形成了人的视觉立体感。

Camera相机控制了三维场景的视图。有很多方法可以操作Camera,如旋转(rotate)、缩放(zoom)、平移(pan)和飞到目的地(flyTo)。同时也有鼠标和触摸事件用来处理与Camrea的交互,还有API来以编程方式操作摄像机。

#1. map中视角相关设置和方法

我们在创建地图时,可以在scene的center参数 (opens new window)中来设置默认视角,如:

```

var map = new mars3d.Map('mars3dContainer',{

    scene:{

        center:{ lat:25.389914,lng:119.084961,alt:1179575,heading:346,pitch:-60 }

    }

  })

```

当前map中与相机有关的方式:

|方法名|说明|

|---|---|

|map.getCameraView()(opens new window)|可以获取当前地图|

|map.setCameraView(cameraView, options)(opens new window)|将相机本身定位至指定位置|

|map.setCameraViewList(arr, enfun)(opens new window)|定位到多个相机视角位置,按数组顺序播放|

|map.flyHome()(opens new window)|飞行到默认视角, 一般为config.json中的center参数配置的视角。|

|map.flyTo(target, options)(opens new window)|飞行定位至 Cesium相关矢量对象 处|

|map.flyToGraphic(graphic, options)(opens new window)|飞行定位至 Graphic矢量对象 处|

|map.flyToExtent(extent, options)(opens new window)|飞行定位至 矩形区域 处|

|map.flyToPositions(positions, options)(opens new window)|飞行定位至 坐标数组 处|

|map.flyToPoint(point, options)(opens new window)|视角中心定位至目标点(非相机位置)|

|map.cancelFlyTo()(opens new window)|停止视角定位等操作|

#2. camera相机对象

map.camera (opens new window)相机对象,由三维地图内部创建的Camera (opens new window)类, 描述了相机的当前状态,包括:位置(position),朝向( orientation), 参考空间( reference frame), 视锥体(view frustum).

#2.1 平移位置

move* 和 zoom*方法,沿着相机方向或者某个给定向量来平移相机的位置,相机朝向不变。

#2.2 旋转朝向

look* 和 twist* 方法,旋转相机朝向,向前向量(direction),向上向量(up),向右向量(right)都会改变,相机位置保持不变。

#2.3 平移位置+旋转朝向

rotate* 方法,相对一个给定的向量,旋转相机的位置和朝向。

#2. screenSpaceCameraController 鼠标相机控制器对象

map.scene.screenSpaceCameraController 是ScreenSpaceCameraController (opens new window)类 。 把屏幕画布上的用户输入(鼠标拖拽点击或者触摸事件)来修改相机的位置和方向。 它包含一些属性,可以启用/禁用某种用户输入,修改惯性、最小最大缩放距离等。

默认地,场景支持鼠标(电脑端)和手指触摸(移动端)交互,并且支持以下相机漫游方式:

|鼠标操作|3D视图|2D视图|2.5D视图|

|---|---|---|---|

|左键 + 拖拽|旋转|平移|平移|

|右键 + 拖拽|缩放|缩放|缩放|

|中键滚轮|缩放|缩放|缩放|

|中键 + 拖拽|倾斜|无操作|倾斜地球|

Mars 3D还有丰富的功能示例,我们也会不断的与大家介绍与分享,想体验更多功能,请访问Mars 3D官网!

相关文章

  • Mars3D之三维空间视角

    三维是指在平面二维系中又加入了一个方向向量构成的空间系。三维既是坐标轴的三个轴,即x轴、y轴、z轴,其中x表示左右...

  • Mars3D三维可视化平台

    Mars3D 是什么? Mars3D三维可视化平台是火星科技[http://marsgis.cn/]研发的一款基于...

  • 读书会创新模式七天训练营有感Day7

    主题:促动变化 收获: 一、促动式技术的作用: 1、促进人与人之间的思想交流 2、创造视角冲突,扩大四维空间 3、...

  • 四维空间假想

    一维空间 一维空间是什么,无数个点叠加形成一条线就是一维空间 二维空间 同理,无数个二维空间是什么,无数个一维空间...

  • 焦点日记第370天 2022 6 24

    【情绪是我的好朋友】 在三维空间视角下,情绪有好坏,对错,正负之分。而将时间轴拉长,N年后再来看今天的情...

  • 白日幻想家(一)

    1. 据说空间是不同时空的扭曲,一维空间扭曲后成为二维空间,二维空间扭曲后成为三维空间,三维空间扭曲后成为思维空间...

  • 77 3D Space Tour Screensavers Co

    fpsoftlab的一套经典屏保, 该合集含有 Earth3D Galaxy3D Mars3D Moon3D Sa...

  • 我们所处的维度时空

    一维空间:源之空间(又称:圆点时空) 二维空间:平向时空 三维空间:凌度时空 四维空间:镜像时空 五维空间:暗巷时...

  • 五维空间

    五维在我们思想里是科幻的,如果外星人掌控的五维世界,那么他们将看到视角是什么样? 五维空间,five-dime...

  • 童言

    母子俩散步,从点线面体说到一维、二维、三维空间…… 儿子:“其实还有四维空间、五维空间、六维空间、七维空间……,五...

网友评论

      本文标题:Mars3D之三维空间视角

      本文链接:https://www.haomeiwen.com/subject/fucmrrtx.html