开源三维GIS之Cesium的Cartesian3(三)

最近正好要学习cesium的坐标系,于是学习了Cartesian3相关函数。这是部分结合自己的理解和cesium的源代码资料,翻译了过来。估计会存在一定错误,后面会根据实践做相应补充。也希望大家一起来共同学习。

函数

返回类型

说明

clone(result)

Cartesian3

复制坐标点

equals(right)

Boolean

判断与坐标点rigtht是否相等

equalsEpsilon(right,relativeEpsilon,

absoluteEpsilon)

Boolean

在容差范围内是否相等

toString()

String

将坐标点返回形如'(x, y, z)'

abs(cartesian, result)

Cartesian3

返回坐标值x、y、z的绝对值新坐标点。

add(left, right, result)

Cartesian3

返回由坐标点left、right的x、y、z分别相加组合的坐标点。

angleBetween(left, right)

Number

返回两个坐标点的角度

clone(cartesian, result)

Cartesian3

复制坐标点

cross(left, right, result)

Cartesian3

计算两个坐标点的交叉乘积

distance(left, right)

Number

计算两个坐标点的距离

distanceSquared(left, right)

Number

返回距离的平方

divideByScalar(cartesian, scalar, result)

Cartesian3

返回坐标值x、y,z除以scalar后重新组合的坐标。

divideComponents(left, right, result)

Cartesian3

返回left坐标x、y、z分别除以right坐标x、y、z后的重新组合的坐标

dot(left, right)

Number

返回left坐标x、y、z分别乘以right坐标x、y、z后的重新组合的坐标

equals(left, right)

Cartesian3

判断坐标点left、right是否相等。

fromArray(array, startingIndex, result)

Cartesian3

从数组中返回重新组合的坐标点

fromCartesian4(cartesian, result)

Cartesian3

从Cartesian4中转为Cartesian3坐标点

fromDegrees(longitude,latitude,

height,ellipsoid,result)

Cartesian3

从角度值组合坐标值,其中前三个参数分别为经度、纬度、高程。Ellipsoid为椭球类型,默认为wgs84

fromDegreesArray(coordinates,

ellipsoid,result)

Cartesian3

从给定的角度单位数组数组中组合坐标点

fromDegreesArrayHeights(coordinates,

ellipsoid,result)

 Array.<Cartesian3>

 

fromElements(x, y, z, result)

Cartesian3

指定x、y、z组合新的坐标点

fromRadians(longitude,latitude,

height,ellipsoid,result)

Cartesian3

从弧度值来创建坐标点

fromRadiansArray(coordinates,ellipsoid,

result)

Array.<Cartesian3>

由指定的弧度单位的经纬度组成坐标点并返回。

fromRadiansArrayHeights(coordinates,

ellipsoid,result)

 

 

fromSpherical(spherical, result)

 

 

lerp(start, end, t, result)

Cartesian3

用于坐标点start、end间的插值。

magnitude(cartesian)

Number

计算坐标点x、y、z平方之和计算坐标点x、y、z平方之和

magnitudeSquared(cartesian)

Number

计算坐标点x、y、z平方之和

maximumByComponent(first,second,

result)

Cartesian3

返回坐标first,second中最大的x、y、z组成的坐标result

maximumComponent(cartesian)

Number

返回坐标值最大值,要么是x、要么是y、要么是z

midpoint(left, right, result)

Cartesian3

返回坐标点left、right的中点。

minimumByComponent(first,second,result)

Cartesian3

返回坐标first,second中最小的x、y、z组成的坐标result

minimumComponent(cartesian)

Number

返回坐标值最小值,要么是x、要么是y、要么是z

mostOrthogonalAxis(cartesian, result)

Cartesian3

返回与cartesian最正交的坐标轴

multiplyByScalar(cartesian,scalar,result)

Cartesian3

坐标点按某一个比例值缩放、即乘以scalar值,返回新的坐标点result。

multiplyComponents(left,right,result)

Cartesian3

返回x=left.x*right.x、y=left.y*right.y、

z=left.z*right.z、

组成的坐标点、

negate(cartesian, result)

Cartesian3

返回cartesian坐标值取反的新坐标

normalize(cartesian, result)

Cartesian3

坐标点归一化,返回结果保存在result中。

projectVector(a, b, result)

Cartesian3

返回投影向量

subtract(left,right,result)

Cartesian3

返回坐标点相减后的点,其中x=left.x-rigt.x,y=left.x-right.y,

z=left.z-right.z

pack(value, array, startingIndex)

Array.<Number>

将坐标值置于数组中,返回数组。

packArray(array, result)

Array.<Number>

将坐标数据array转为一维数组。

 

 

 

 

 

 

 

 

 

 

 

 


                                                                      更多内容,微信扫二维码关注公众号

                                                                                


 

Cesium是一个开源的JavaScript库,用于创建三维地球和地图。它提供了许多功能,包括地理信息系统(GIS)支持、地形和卫星图像、以及实时动画等。要将GLTF(GL Transmission Format)文件添加到Cesium中,您需要执行以下步骤: 1. 创建一个CesiumScene对象:首先,您需要创建一个CesiumScene对象,该对象代表了整个3D场景。 2. 加载GLTF模型:使用Cesium的材质系统和相机系统,您可以加载GLTF模型并将其放置在场景中。您可以使用Cesium的Iris对象(Cesium.Iris)加载GLTF文件。例如: ```javascript var viewer = new Cesium.Viewer('cesiumContainer'); var entity = viewer.entities.add({ name : 'My Model', position : Cesium.Cartesian3.fromDegrees(-123, 40), model : { uri : 'path/to/my/model.gltf', minimumPixelSize : 128, // 设置模型在视口中的最小尺寸 maximumScale : 2000 // 设置模型的最大缩放级别 } }); ``` 在上面的代码中,我们创建了一个名为“My Model”的实体,并将其放置在(-123, 40)的位置。我们还指定了要加载的GLTF文件的路径。 3. 调整模型属性:您可以通过修改模型的属性来更改其外观和行为。例如,您可以使用材质系统更改模型的纹理、颜色、透明度等属性。您还可以使用相机系统调整模型的视角和位置。 4. 渲染场景:最后,您需要渲染场景以查看您的模型。您可以使用Cesium的viewer对象调用其render方法来渲染场景。 请注意,Cesium是一个强大的库,具有许多高级功能和工具,因此上述步骤可能需要根据您的具体需求进行调整和扩展。此外,如果您需要更高级的功能或更深入的文档,建议查阅Cesium的官方文档或参考相关教程和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yGIS

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

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

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

打赏作者

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

抵扣说明:

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

余额充值