Class: Cartesian3

Cartesian3

new Cartesian3(x, y, z)

三维笛卡尔坐标点类。

Name Type Default Description
x Number 0.0 可选

X 分量。

y Number 0.0 可选

Y 分量。

z Number 0.0 可选

Z 分量。

See:

Members

xNumber

X分量。

Default Value:
0.0

yNumber

Y分量。

Default Value:
0.0

zNumber

Z分量。

Default Value:
0.0

(static, constant) ONECartesian3

一个不可变的 Cartesian3 实例,初始化为 (1.0, 1.0, 1.0)。

static packedLengthNumber

用于将对象打包到数组中的元素数量。

(static, constant) UNIT_XCartesian3

一个不可变的 Cartesian3 实例,初始化为 (1.0, 0.0, 0.0)。

(static, constant) UNIT_XYZCartesian3

一个不可变的 Cartesian3 实例,初始化为 (1.0, 1.0, 1.0)。

(static, constant) UNIT_YCartesian3

一个不可变的 Cartesian3 实例,初始化为 (0.0, 1.0, 0.0)。

(static, constant) UNIT_ZCartesian3

一个不可变的 Cartesian3 实例,初始化为 (0.0, 0.0, 1.0)。

(static, constant) ZEROCartesian3

一个不可变的 Cartesian3 实例,初始化为 (0.0, 0.0, 0.0)。

Methods

clone(result){Cartesian3}

复制此 Cartesian3 实例。

Name Type Description
result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数或新的 Cartesian3 实例(如果未提供)。

equals(right){Boolean}

将此Cartesian与提供的Cartesian分量进行比较,如果它们相等则返回 true ,否则返回 false 。

Name Type Description
right Cartesian3 可选

右侧的Cartesian。

Returns:
Type Description
Boolean 如果它们相等,则为 true ,否则为 false 。

equalsEpsilon(right, relativeEpsilon, absoluteEpsilon){Boolean}

将此Cartesian与提供的Cartesian分量进行比较,如果它们通过绝对或相对容差测试,则返回 true ,否则返回 false 。

Name Type Default Description
right Cartesian3 可选

右侧的Cartesian。

relativeEpsilon Number

用于相等测试的相对 epsilon 容差。

absoluteEpsilon Number relativeEpsilon 可选

用于相等测试的绝对 epsilon 容差。

Returns:
Type Description
Boolean 如果它们在提供的 epsilon 内,则为 true ,否则为 false 。

toString()

将Cartesian坐标转换为字符串格式的(x, y, z)。

static abs(cartesian, result){Cartesian3}

计算提供的Cartesian坐标的绝对值。

Name Type Description
cartesian Cartesian3

要计算其绝对值的Cartesian坐标。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static add(left, right, result){Cartesian3}

计算两个Cartesians的分量和。

Name Type Description
left Cartesian3

第一个Cartesian。

right Cartesian3

第二个Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static angleBetween(left, right){Number}

返回提供的Cartesians之间的角度(以弧度为单位)。

Name Type Description
left Cartesian3

第一个 Cartesian。

right Cartesian3

第二个 Cartesian。

Returns:
Type Description
Number Cartesians之间的角度。

static clone(cartesian, result){Cartesian3}

复制一个Cartesian3实例。

Name Type Description
cartesian Cartesian3

待复制对象。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 经修改的结果参数,如果没有提供则返回一个新的Cartesian3实例。如果cartesian未定义,则返回undefined。

static cross(left, right, result){Cartesian3}

计算两个直角坐标系的交叉乘积。

Name Type Description
left Cartesian3

第一个 Cartesian。

right Cartesian3

第二个 Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 交叉乘积。

static distance(left, right){Number}

计算两点的距离。

Name Type Description
left Cartesian3

用于计算距离的第一个点。

right Cartesian3

用于计算距离的第二个点。

Returns:
Type Description
Number 两点间距离值。
Example
// 计算两点的距离,返回1.0。
var d = SuperMap3D.Cartesian3.distance(new SuperMap3D.Cartesian3(1.0, 0.0, 0.0), new SuperMap3D.Cartesian3(2.0, 0.0, 0.0));

static distanceSquared(left, right){Number}

计算两点之间的平方距离。使用此函数比较距离的平方比使用Cartesian3#distance比较距离更有效。

Name Type Description
left Cartesian3

计算距离的第一个点。

right Cartesian3

计算距离的第二个点。

Returns:
Type Description
Number 两点之间的距离。
Example
// Returns 4.0, not 2.0
var d = SuperMap3D.Cartesian3.distanceSquared(new SuperMap3D.Cartesian3(1.0, 0.0, 0.0), new SuperMap3D.Cartesian3(3.0, 0.0, 0.0));

static divideByScalar(cartesian, scalar, result){Cartesian3}

将提供的Cartesian分量除以提供的标量。

Name Type Description
cartesian Cartesian3

被划分的 Cartesian。

scalar Number

要除以的标量。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static divideComponents(left, right, result){Cartesian3}

计算两个Cartesians的分量商。

Name Type Description
left Cartesian3

第一个Cartesian。

right Cartesian3

第二个Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static dot(left, right){Number}

计算两个Cartesians的点(标量)积。

Name Type Description
left Cartesian3

第一个Cartesian。

right Cartesian3

第二个Cartesian。

Returns:
Type Description
Number 点积。

static equals(left, right){Boolean}

比较提供的Cartesian分量,如果相等则返回 true ,否则返回 false 。

Name Type Description
left Cartesian3 可选

第一个 Cartesian。

right Cartesian3 可选

第二个 Cartesian。

Returns:
Type Description
Boolean 如果它们相等,则为 true ,否则为 false 。

static equalsEpsilon(left, right, relativeEpsilon, absoluteEpsilon){Boolean}

比较提供的Cartesian分量,如果它们通过绝对或相对容差测试,则返回 true ,否则返回 false 。

Name Type Default Description
left Cartesian3 可选

第一个 Cartesian。

right Cartesian3 可选

第二个 Cartesian。

relativeEpsilon Number

用于相等测试的相对 epsilon 容差。

absoluteEpsilon Number relativeEpsilon 可选

用于相等测试的绝对 epsilon 容差。

Returns:
Type Description
Boolean 在提供的 epsilon 内,则为 true,否则为 false 。

static fromArray(array, startingIndex, result){Cartesian3}

根据数组的三个连续元素创建Cartesian3实例。

Name Type Default Description
array Array.<Number>

数组对象,数组中的三个连续元素分别对应x、y、z分量。

startingIndex Number 0 可选

第一个元素在数组中的偏移量,即数组的第"startingIndex+1"个元素对应x分量。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 经修改的结果参数,如果没有提供则返回一个新的Cartesian3实例。
Example
//创建Cartesian3实例(1.0, 2.0, 3.0)。
var v = [1.0, 2.0, 3.0];
var p = SuperMap3D.Cartesian3.fromArray(v);

// 创建Cartesian3实例(1.0, 2.0, 3.0),指定偏移量为2,则第3个数据对应着x分量。
var v2 = [0.0, 0.0, 1.0, 2.0, 3.0];
var p2 = SuperMap3D.Cartesian3.fromArray(v2, 2);

static fromCartesian4(cartesian, result){Cartesian3}

根据已知的Cartesian4创建一个Cartesian3实例。将保留Cartesian4的x、y、z分量,舍去w分量。

Name Type Description
cartesian Cartesian4

用于创建Cartesian3实例的Cartesian4对象。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 经修改的结果参数,如果没有提供则返回一个新的Cartesian3实例。

static fromDegrees(longitude, latitude, height, ellipsoid, result){Cartesian3}

将以度为单位的经、纬度数值转换为Cartesian坐标。

Name Type Default Description
longitude Number

以度为单位的经度值。

latitude Number

以度为单位的纬度值。

height Number 0.0 可选

以米为单位的椭球高。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

椭球体。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 转换后的位置坐标。
Example
var position = SuperMap3D.Cartesian3.fromDegrees(-115.0, 37.0);

static fromDegreesArray(coordinates, ellipsoid, result){Array.<Cartesian3>}

给定一个以度为单位的经度和纬度值数组,返回一个Cartesian位置数组。

Name Type Default Description
coordinates Array.<Number>

经度和纬度值的列表。值交替[经度,纬度,经度,纬度...]。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

坐标所在的椭球体。

result Array.<Cartesian3> 可选

要存储结果的 Cartesian3 对象数组。

Returns:
Type Description
Array.<Cartesian3> 位置数组。
Example
var positions = SuperMap3D.Cartesian3.fromDegreesArray([-115.0, 37.0, -107.0, 33.0]);

static fromDegreesArrayHeights(coordinates, ellipsoid, result){Array.<Cartesian3>}

给定一个经度、纬度和高度值数组,其中经度和纬度以度为单位,返回一个Cartesian位置数组。

Name Type Default Description
coordinates Array.<Number>

经度、纬度和高度值的列表。值交替[经度,纬度,高度,经度,纬度,高度...]。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

位置所在的椭球体。

result Array.<Cartesian3> 可选

要存储结果的 Cartesian3 对象数组。

Returns:
Type Description
Array.<Cartesian3> 位置数组。
Example
var positions = SuperMap3D.Cartesian3.fromDegreesArrayHeights([-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]);

static fromElements(x, y, z, result){Cartesian3}

根据x、y、z坐标创建Cartesian3实例。

Name Type Description
x Number

x坐标。

y Number

y坐标。

z Number

z坐标。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 经修改的结果参数,如果没有提供则返回一个新的Cartesian3实例。

static fromRadians(longitude, latitude, height, ellipsoid, result){Cartesian3}

将以弧度为单位的经、纬度数值转换为Cartesian坐标。

Name Type Default Description
longitude Number

以弧度为单位的经度值。

latitude Number

以弧度为单位的纬度值。

height Number 0.0 可选

以米为单位的椭球高。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

椭球体。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 转换后的位置坐标。
Example
var position = SuperMap3D.Cartesian3.fromRadians(-2.007, 0.645);

static fromRadiansArray(coordinates, ellipsoid, result){Array.<Cartesian3>}

在给定以弧度为单位的经度和纬度值数组的情况下,返回 Cartesian3 位置数组。

Name Type Default Description
coordinates Array.<Number>

经度和纬度值的列表。值交替[经度,纬度,经度,纬度...]。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

坐标所在的椭球体。

result Array.<Cartesian3> 可选

要存储结果的 Cartesian3 对象数组。

Returns:
Type Description
Array.<Cartesian3> 位置数组。
Example
var positions = SuperMap3D.Cartesian3.fromRadiansArray([-2.007, 0.645, -1.867, .575]);

static fromRadiansArrayHeights(coordinates, ellipsoid, result){Array.<Cartesian3>}

返回给定经度、纬度和高度值数组的Cartesian位置数组,其中经度和纬度以弧度为单位。

Name Type Default Description
coordinates Array.<Number>

经度、纬度和高度值的列表。值交替[经度,纬度,高度,经度,纬度,高度...]。

ellipsoid Ellipsoid Ellipsoid.WGS84 可选

位置所在的椭球体。

result Array.<Cartesian3> 可选

要存储结果的 Cartesian3 对象数组。

Returns:
Type Description
Array.<Cartesian3> 位置数组。
Example
var positions = SuperMap3D.Cartesian3.fromRadiansArrayHeights([-2.007, 0.645, 100000.0, -1.867, .575, 150000.0]);

static fromSpherical(spherical, result){Cartesian3}

将球面坐标转换为Cartesian坐标。

Name Type Description
spherical Spherical

待转换的球面坐标。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 经修改的结果参数,如果没有提供则返回一个新的Cartesian3实例。

static lerp(start, end, t, result){Cartesian3}

使用提供的Cartesian计算在 t 处的线性插值或外插。

Name Type Description
start Cartesian3

在 0.0 时对应于 t 的值。

end Cartesian3

在 1.0 时对应于 t 的值。

t Number

沿 t 进行插值的点。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static magnitude(cartesian){Number}

计算Cartesian的大小(长度)。

Name Type Description
cartesian Cartesian3

要计算其大小的cartesian实例。

Returns:
Type Description
Number 幅度。

static magnitudeSquared(cartesian){Number}

计算提供的cartesian平方幅度。

Name Type Description
cartesian Cartesian3

要计算其平方幅度的cartesian实例。

Returns:
Type Description
Number 平方幅度。

static maximumByComponent(first, second, result){Cartesian3}

比较两个Cartesians并计算包含所提供Cartesian的最大分量的Cartesian。

Name Type Description
first Cartesian3

第一个Cartesian坐标。

second Cartesian3

第二个Cartesian坐标。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 具有最大分量的Cartesian坐标。

static maximumComponent(cartesian){Number}

计算提供的Cartesian坐标的最大分量的值。

Name Type Description
cartesian Cartesian3

要使用的cartesian。

Returns:
Type Description
Number 最大分量的值。

static midpoint(left, right, result){Cartesian3}

计算给定两个笛卡尔坐标参数的中间点

Name Type Description
left Cartesian3

第一个笛卡尔坐标值。

right Cartesian3

第二个笛卡尔坐标值。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 中间点。

static minimumByComponent(first, second, result){Cartesian3}

比较两个Cartesians并计算包含所提供Cartesian的最小分量的Cartesian。

Name Type Description
first Cartesian3

第一个Cartesian。

second Cartesian3

第二个Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 具有最少分量的Cartesian。

static minimumComponent(cartesian){Number}

计算提供的Cartesian坐标的最小分量的值。

Name Type Description
cartesian Cartesian3

要使用的cartesian。

Returns:
Type Description
Number 最小分量的值。

static mostOrthogonalAxis(cartesian, result){Cartesian3}

返回与提供的Cartesian坐标最正交的轴。

Name Type Description
cartesian Cartesian3

找到最正交轴的Cartesian坐标。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 最正交的轴。

static multiplyByScalar(cartesian, scalar, result){Cartesian3}

将提供的Cartesian分量乘以提供的标量。

Name Type Description
cartesian Cartesian3

要缩放的Cartesian。

scalar Number

要与之相乘的标量。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static multiplyComponents(left, right, result){Cartesian3}

计算两个Cartesian的分量乘积。

Name Type Description
left Cartesian3

第一个Cartesian。

right Cartesian3

第二个Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static negate(cartesian, result){Cartesian3}

否定所提供的Cartesian。

Name Type Description
cartesian Cartesian3

要被否定的Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static normalize(cartesian, result){Cartesian3}

计算提供的Cartesian坐标的规范化形式。

Name Type Description
cartesian Cartesian3

要规范化的Cartesian坐标。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static pack(value, array, startingIndex){Array.<Number>}

将提供的实例存储到提供的数组中。

Name Type Default Description
value Cartesian3

要打包的值。

array Array.<Number>

要装入的数组。

startingIndex Number 0 可选

开始打包元素的数组的索引。

Returns:
Type Description
Array.<Number> 被装入的数组。

static packArray(array, result){Array.<Number>}

将 Cartesian3 数组展平为组件数组。

Name Type Description
array Array.<Cartesian3>

要打包的cartesians数组。

result Array.<Number>

存储结果的数组。

Returns:
Type Description
Array.<Number> 打包的数组。

static subtract(left, right, result){Cartesian3}

计算两个Cartesians的分量差。

Name Type Description
left Cartesian3

第一个Cartesian。

right Cartesian3

第二个Cartesian。

result Cartesian3

存储结果的对象。

Returns:
Type Description
Cartesian3 修改后的结果参数。

static unpack(array, startingIndex, result){Cartesian3}

从打包数组中检索实例。

Name Type Default Description
array Array.<Number>

打包数组。

startingIndex Number 0 可选

要解压缩的元素的起始索引。

result Cartesian3 可选

存储结果的对象。

Returns:
Type Description
Cartesian3 如果没有提供新的Cartesian3实例,则使用修改后的结果参数。

static unpackArray(array, result){Array.<Cartesian3>}

将一组Cartesian分量解压缩为一组Cartesian3s。

Name Type Description
array Array.<Number>

要解包的组件数组。

result Array.<Cartesian3>

存储结果的数组。

Returns:
Type Description
Array.<Cartesian3> 解压后的数组。