麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - Cartesian3 中文文档

本文介绍下Cesium中 Cartesian3 API的详细使用说明。

Cartesian3 API 调用方法

new Cesium.Cartesian3(x, y, z)
3D笛卡尔点。
Name Type Default Description
x Number 0.0 optional X 分量。
y Number 0.0 optional Y 分量。
z Number 0.0 optional Z 分量。
参考:

成员变量

X 分量。
Default Value: 0.0
Y 分量。
Default Value: 0.0
Z 分量。
Default Value: 0.0
staticCesium.Cartesian3.packedLength : Number
用于将对象打包成数组的元素数。
staticconstantCesium.Cartesian3.UNIT_X : Cartesian3
一个不可变的Cartesian3实例初始化为(1.0,0.0,0.0)。
staticconstantCesium.Cartesian3.UNIT_Y : Cartesian3
一个不可变的Cartesian3实例初始化为(0.0,1.0,0.0)。
staticconstantCesium.Cartesian3.UNIT_Z : Cartesian3
一个不可变的Cartesian3实例初始化为(0.0,0.0,1.0)。
staticconstantCesium.Cartesian3.ZERO : Cartesian3
一个不可变的Cartesian3实例初始化为(0.0,0.0,0.0)。

内置方法

复制这个Cartesian3实例。
Name Type Description
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或新的Cartesian3实例(如果没有提供)。
equals(right)Boolean
将此笛卡尔坐标与提供的笛卡尔坐标分量进行比较,如果相等,则返回true,否则返回false
Name Type Description
right Cartesian3 optional 要比较的笛卡尔坐标。
返回值:
true 如果相等,否则false
equalsEpsilon(right, relativeEpsilon, absoluteEpsilon)Boolean
将这个笛卡尔坐标与所提供的笛卡尔坐标分量进行比较,如果通过了绝对或相对公差测试, 则返回true,否则返回false
Name Type Default Description
right Cartesian3 optional 要比较的笛卡尔坐标。
relativeEpsilon Number 用于相等性测试的相对epsilon公差。
absoluteEpsilon Number relativeEpsilon optional 用于相等性测试的绝对epsilon公差。
返回值:
true如果它们都在规定的epsilon范围内,否则false
toString()String
以'(x, y, z)'的格式创建表示该笛卡尔坐标的字符串。
返回值:
表示该笛卡尔坐标的格式为‘(x, y, z)’的字符串。
staticCesium.Cartesian3.abs(cartesian, result)Cartesian3
计算所提供的笛卡尔坐标的绝对值。
Name Type Description
cartesian Cartesian3 要计算其绝对值的笛卡儿坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.add(left, right, result)Cartesian3
计算两个笛卡儿坐标的分量和。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.angleBetween(left, right)Number
返回所提供的笛卡尔坐标之间的角度(以弧度为单位)。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
返回值:
两个笛卡尔坐标间的角度。
staticCesium.Cartesian3.clone(cartesian, result)Cartesian3
复制一个Cartesian3实例。
Name Type Description
cartesian Cartesian3 要复制的笛卡尔坐标。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或者一个新的Cartesian3实例(如果没有提供)。 (如果笛卡尔坐标未定义,则返回undefined)
staticCesium.Cartesian3.cross(left, right, result)Cartesian3
计算两个笛卡尔坐标的叉(外)乘。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
叉乘结果。
staticCesium.Cartesian3.distance(left, right)Number
计算两点之间的距离。
Name Type Description
left Cartesian3 第一个点。
right Cartesian3 第二个点。
返回值:
两点之间的距离。
示例:
// Returns 1.0
var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(2.0, 0.0));
staticCesium.Cartesian3.distanceSquared(left, right)Number
计算两点之间距离的平方。使用这个函数比较平方距离比使用Cartesian3#distance更有效。
Name Type Description
left Cartesian3 要计算距离的第一个点。
right Cartesian3 要计算距离的第二个点。
返回值:
两点之间的距离。
示例:
// 返回 4.0, 而不是 2.0。
var d = Cesium.Cartesian2.distance(new Cesium.Cartesian2(1.0, 0.0), new Cesium.Cartesian2(3.0, 0.0));
staticCesium.Cartesian3.divideByScalar(cartesian, scalar, result)Cartesian3
将提供的笛卡尔分量除以提供的标量。
Name Type Description
cartesian Cartesian3 要被除的笛卡尔坐标。
scalar Number 要除以的标量。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.divideComponents(left, right, result)Cartesian3
计算两个笛卡儿坐标的分量商。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.dot(left, right)Number
计算两个笛卡尔的点(标量)乘积。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
返回值:
点积。
staticCesium.Cartesian3.equals(left, right)Boolean
比较所提供的笛卡尔坐标分量,如果相等,则返回true,否则返回false
Name Type Description
left Cartesian3 optional 第一个笛卡尔坐标。
right Cartesian3 optional 第二个笛卡尔坐标。
返回值:
true如果左边和右边相等,否则false
staticCesium.Cartesian3.equalsEpsilon(left, right, relativeEpsilon, absoluteEpsilon)Boolean
比较所提供的笛卡尔坐标分量,如果通过了绝对或相对公差测试,则返回true,否则返回false
Name Type Default Description
left Cartesian3 optional 第一个笛卡尔坐标。
right Cartesian3 optional 第二个笛卡尔坐标。
relativeEpsilon Number 用于相等性测试的相对epsilon公差。
absoluteEpsilon Number relativeEpsilon optional 用于相等性测试的绝对epsilon公差。
返回值:
true如果left和right都在规定的epsilon范围内,否则false
staticCesium.Cartesian3.fromArray(array, startingIndex, result)Cartesian3
从数组中的三个连续元素创建Cartesian3。
Name Type Default Description
array Array.<Number> 三个连续元素分别对应x、y和z分量的数组。
startingIndex Number 0 optional 数组中第一个元素的偏移量,它对应于x分量。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或新的Cartesian3实例(如果没有提供)
示例:
// 使用 (1.0, 2.0, 3.0)创建一个Cartesian3
var v = [1.0, 2.0, 3.0];
var p = Cesium.Cartesian3.fromArray(v);
// 使用(1.0, 2.0, 3.0)在数组中使用偏移量创建Cartesian3
var v2 = [0.0, 0.0, 1.0, 2.0, 3.0];
var p2 = Cesium.Cartesian3.fromArray(v2, 2);
staticCesium.Cartesian3.fromCartesian4(cartesian, result)Cartesian3
从现有的Cartesian4创建一个Cartesian3实例。 这只是利用了Cartesian4的x, y, z的属性而删除了w属性。
Name Type Description
cartesian Cartesian4 从中创建一个Cartesian3实例的Cartesian4实例。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或者一个新的Cartesian3实例(如果没有提供)。
staticCesium.Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result)Cartesian3
返回给定经度和纬度值的(以角度为单位)Cartesian3位置。
Name Type Default Description
longitude Number 经度,以角度表示。
latitude Number 纬度,以角度表示。
height Number 0.0 optional 高度,以米为单位,在椭球面上。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 位置所在的椭球面。
result Cartesian3 optional 存储结果的对象。
返回值:
位置。
示例:
var position = Cesium.Cartesian3.fromDegrees(-115.0, 37.0);
staticCesium.Cartesian3.fromDegreesArray(coordinates, ellipsoid, result)Array.<Cartesian3>
返回给定经度和纬度值的(以角度为单位)Cartesian3位置数组。
Name Type Default Description
coordinates Array.<Number> 经度和纬度值的列表。 交替的值如: [longitude, latitude, longitude, latitude...]。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 坐标所在的椭球面。
result Array.<Cartesian3> optional 存储结果的一个Cartesian3对象数组。
返回值:
位置数组。
示例:
var positions = Cesium.Cartesian3.fromDegreesArray([-115.0, 37.0, -107.0, 33.0]);
staticCesium.Cartesian3.fromDegreesArrayHeights(coordinates, ellipsoid, result)Array.<Cartesian3>
返回一个Cartesian3位置的数组,其由经度、纬度和高度值组成的数组组成,其中经度和纬度以角度表示。
Name Type Default Description
coordinates Array.<Number> 经度、纬度和高度值的列表。 交替的值如:[longitude, latitude, height, longitude, latitude, height...]。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 位置所在的椭球面。
result Array.<Cartesian3> optional 存储结果的一个Cartesian3对象数组。
返回值:
位置数组。
示例:
var positions = Cesium.Cartesian3.fromDegreesArrayHeights([-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]);
staticCesium.Cartesian3.fromElements(x, y, z, result)Cartesian3
从x、y和z坐标创建一个Cartesian3实例。
Name Type Description
x Number x 坐标。
y Number y 坐标。
z Number z 坐标。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或者一个新的Cartesian3实例(如果没有提供)。
staticCesium.Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result)Cartesian3
返回给定经度和纬度值(以弧度为单位)的Cartesian3位置。
Name Type Default Description
longitude Number 经度,以弧度表示。
latitude Number 纬度,以弧度表示。
height Number 0.0 optional 高度,以米为单位,在椭球面上。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 位置所在的椭球面。
result Cartesian3 optional 存储结果的对象。
返回值:
位置。
示例:
var position = Cesium.Cartesian3.fromRadians(-2.007, 0.645);
staticCesium.Cartesian3.fromRadiansArray(coordinates, ellipsoid, result)Array.<Cartesian3>
返回给定经度和纬度值的(以弧度为单位)Cartesian3位置数组。
Name Type Default Description
coordinates Array.<Number> 经度和纬度值的列表。 交替的值如: [longitude, latitude, longitude, latitude...]。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 坐标所在的椭球面。
result Array.<Cartesian3> optional 存储结果的一个Cartesian3对象数组。
返回值:
位置数组。
示例:
var positions = Cesium.Cartesian3.fromRadiansArray([-2.007, 0.645, -1.867, .575]);
staticCesium.Cartesian3.fromRadiansArrayHeights(coordinates, ellipsoid, result)Array.<Cartesian3>
返回一个Cartesian3位置的数组,其由经度、纬度和高度值组成的数组组成,其中经度和纬度以弧度表示。
Name Type Default Description
coordinates Array.<Number> 经度、纬度和高度值的列表。交替的值如: [longitude, latitude, height, longitude, latitude, height...]。
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 位置所在的椭球面。
result Array.<Cartesian3> optional 存储结果的一个Cartesian3对象数组。
返回值:
位置数组。
示例:
var positions = Cesium.Cartesian3.fromRadiansArrayHeights([-2.007, 0.645, 100000.0, -1.867, .575, 150000.0]);
staticCesium.Cartesian3.fromSpherical(spherical, result)Cartesian3
将提供的Spherical转换为Cartesian3。
Name Type Description
spherical Spherical 要转换成Cartesian3的Spherical。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或者一个新的Cartesian3实例(如果没有提供)。
staticCesium.Cartesian3.lerp(start, end, t, result)Cartesian3
使用所提供的笛卡尔坐标计算t处的线性插值或外插。
Name Type Description
start Cartesian3 对应于0.0的t值。
end Cartesian3 对应于1.0的t值。
t Number 在t上做插值的点。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.magnitude(cartesian)Number
计算笛卡尔坐标的大小(长度)。
Name Type Description
cartesian Cartesian3 要计算其大小的笛卡儿坐标实例。
返回值:
大小。
staticCesium.Cartesian3.magnitudeSquared(cartesian)Number
计算所提供的笛卡尔坐标的平方大小。
Name Type Description
cartesian Cartesian3 要计算其平方大小的笛卡儿坐标实例。
返回值:
平方大小。
staticCesium.Cartesian3.maximumByComponent(first, second, result)Cartesian3
比较两个笛卡儿坐标,并计算出一个包含所提供的两个笛卡儿坐标的最大分量的笛卡儿坐标。
Name Type Description
first Cartesian3 第一个笛卡尔坐标
second Cartesian3 第二个笛卡尔坐标
result Cartesian3 存储结果的对象。
返回值:
包含最大分量的笛卡尔坐标。
staticCesium.Cartesian3.maximumComponent(cartesian)Number
计算所提供的笛卡尔坐标的最大分量的值。
Name Type Description
cartesian Cartesian3 使用的笛卡尔坐标。
返回值:
最大分量的值。
staticCesium.Cartesian3.midpoint(left, right, result)Cartesian3
计算两个笛卡儿坐标之间的中点。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
中点。
staticCesium.Cartesian3.minimumByComponent(first, second, result)Cartesian3
比较两个笛卡儿坐标,并计算出一个包含所提供的两个笛卡儿坐标的最小分量的笛卡儿坐标。
Name Type Description
first Cartesian3 第一个笛卡尔坐标
second Cartesian3 第二个笛卡尔坐标
result Cartesian3 存储结果的对象。
返回值:
包含最小分量的笛卡尔坐标。
staticCesium.Cartesian3.minimumComponent(cartesian)Number
计算提供的笛卡尔坐标的最小分量的值。
Name Type Description
cartesian Cartesian3 使用的笛卡尔坐标。
返回值:
最小分量的值。
staticCesium.Cartesian3.mostOrthogonalAxis(cartesian, result)Cartesian3
返回与所提供的笛卡尔坐标最正交的轴。
Name Type Description
cartesian Cartesian3 要在其上找到最正交轴的笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
最正交的轴。
staticCesium.Cartesian3.multiplyByScalar(cartesian, scalar, result)Cartesian3
将提供的笛卡尔坐标分量乘以提供的标量。
Name Type Description
cartesian Cartesian3 要被乘的笛卡尔坐标。
scalar Number 要乘以的标量。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.multiplyComponents(left, right, result)Cartesian3
计算两个笛卡儿坐标的分量积。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.negate(cartesian, result)Cartesian3
对所提供的笛卡尔坐标取反。
Name Type Description
cartesian Cartesian3 要取反的笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.normalize(cartesian, result)Cartesian3
计算提供的笛卡尔坐标的归一化形式。
Name Type Description
cartesian Cartesian3 要归一化的笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.pack(value, array, startingIndex)Array.<Number>
将提供的实例存储到提供的数组中。
Name Type Default Description
value Cartesian3 要打包的值。
array Array.<Number> 要打包到的数组。
startingIndex Number 0 optional 开始打包元素的数组索引。
返回值:
被打包到的数组。
staticCesium.Cartesian3.packArray(array, result)Array.<Number>
将Cartesian3s数组展平为分量数组。
Name Type Description
array Array.<Cartesian3> 要打包的笛卡尔坐标数组。
result Array.<Number> optional 存储结果的数组。
返回值:
打包后的数组。
staticCesium.Cartesian3.projectVector(a, b, result)Cartesian3
将向量a投影到向量b上
Name Type Description
a Cartesian3 需要投影的向量
b Cartesian3 被投影到的向量
result Cartesian3 结果笛卡儿坐标
返回值:
修改后的结果参数
staticCesium.Cartesian3.subtract(left, right, result)Cartesian3
计算两个笛卡儿坐标的分量差。
Name Type Description
left Cartesian3 第一个笛卡尔坐标。
right Cartesian3 第二个笛卡尔坐标。
result Cartesian3 存储结果的对象。
返回值:
修改后的结果参数。
staticCesium.Cartesian3.unpack(array, startingIndex, result)Cartesian3
从已打包的数组中检索实例。
Name Type Default Description
array Array.<Number> 被打包到的数组。
startingIndex Number 0 optional 要解包的元素的起始索引。
result Cartesian3 optional 存储结果的对象。
返回值:
修改后的结果参数,或者一个新的Cartesian3实例(如果没有提供)。
staticCesium.Cartesian3.unpackArray(array, result)Array.<Cartesian3>
将一个笛卡儿分量数组解包到Cartesian3s数组中。
Name Type Description
array Array.<Number> 要解包的组件分量。
result Array.<Cartesian3> optional 存储结果的数组。
返回值:
解包后的数组。

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)