Math

Math()

函数。

Members

staticconstantSuperMap3D.Math.DEGREES_PER_RADIAN : Number

弧度中的度数。
Default Value: 180.0 / Math.PI

staticconstantSuperMap3D.Math.EPSILON1 : Number

0.1

staticconstantSuperMap3D.Math.EPSILON2 : Number

0.01

staticconstantSuperMap3D.Math.EPSILON3 : Number

0.001

staticconstantSuperMap3D.Math.EPSILON4 : Number

0.0001

staticconstantSuperMap3D.Math.EPSILON5 : Number

0.00001

staticconstantSuperMap3D.Math.EPSILON6 : Number

0.000001

staticconstantSuperMap3D.Math.EPSILON7 : Number

0.0000001

staticconstantSuperMap3D.Math.EPSILON8 : Number

0.00000001

staticconstantSuperMap3D.Math.EPSILON9 : Number

0.000000001

staticconstantSuperMap3D.Math.EPSILON10 : Number

0.0000000001

staticconstantSuperMap3D.Math.EPSILON11 : Number

0.00000000001

staticconstantSuperMap3D.Math.EPSILON12 : Number

0.000000000001

staticconstantSuperMap3D.Math.EPSILON13 : Number

0.0000000000001

staticconstantSuperMap3D.Math.EPSILON14 : Number

0.00000000000001

staticconstantSuperMap3D.Math.EPSILON15 : Number

0.000000000000001

staticconstantSuperMap3D.Math.EPSILON16 : Number

0.0000000000000001

staticconstantSuperMap3D.Math.EPSILON17 : Number

0.00000000000000001

staticconstantSuperMap3D.Math.EPSILON18 : Number

0.000000000000000001

staticconstantSuperMap3D.Math.EPSILON19 : Number

0.0000000000000000001

staticconstantSuperMap3D.Math.EPSILON20 : Number

0.00000000000000000001

staticconstantSuperMap3D.Math.GRAVITATIONALPARAMETER : Number

3.986004418e14

staticconstantSuperMap3D.Math.LUNAR_RADIUS : Number

根据 "国际天文学联合会/国际大地测量学协会行星和卫星投影坐标和旋转要素工作组报告:2000年 "得出的月球平均半径,《天体力学》82: 83-110, 2002年。

staticconstantSuperMap3D.Math.ONE_OVER_PI : Number

1/pi

staticconstantSuperMap3D.Math.ONE_OVER_TWO_PI : Number

1/2pi

staticconstantSuperMap3D.Math.PI : Number

pi

staticconstantSuperMap3D.Math.PI_OVER_FOUR : Number

pi/4

staticconstantSuperMap3D.Math.PI_OVER_SIX : Number

pi/6

staticconstantSuperMap3D.Math.PI_OVER_THREE : Number

pi/3

staticconstantSuperMap3D.Math.PI_OVER_TWO : Number

pi/2

staticconstantSuperMap3D.Math.RADIANS_PER_ARCSECOND : Number

一弧度秒内的弧度数。
Default Value: Math.RADIANS_PER_DEGREE / 3600.0

staticconstantSuperMap3D.Math.RADIANS_PER_DEGREE : Number

度数中的弧度数。
Default Value: Math.PI / 180.0

staticconstantSuperMap3D.Math.SIXTY_FOUR_KILOBYTES : Number

64 * 1024

staticconstantSuperMap3D.Math.SOLAR_RADIUS : Number

太阳半径(米):6.955e8

staticconstantSuperMap3D.Math.THREE_PI_OVER_TWO : Number

3pi/2

staticconstantSuperMap3D.Math.TWO_PI : Number

2pi

Methods

staticSuperMap3D.Math.acosClamped(value)Number

计算Math.acos(value),但首先将value限制在[-1.0,1.0]范围内 这样函数就永远不会返回NaN。
Name Type Description
value Number 要计算acos的值。
Returns:
如果值在[-1.0,1.0]范围内,则为值的acos,或者-1.0或1.0的acos,如果值在范围之外,则取较近的值。

staticSuperMap3D.Math.asinClamped(value)Number

计算Math.asin(value),但首先将value限制在[-1.0,1.0]范围内这样函数就永远不会返回NaN。
Name Type Description
value Number 要计算的值。
Returns:
如果值在[-1.0,1.0]范围内,则为值的asin,或者-1.0或1.0的asin;如果值在范围之外,则取较近的值。

staticSuperMap3D.Math.chordLength(angle, radius)Number

给定圆的半径和两点之间的夹角,求两点之间的弦长。
Name Type Description
angle Number 两点之间的夹角。
radius Number 圆的半径。
Returns:
和弦长度。

staticSuperMap3D.Math.clamp(value, min, max)Number

将一个值约束在两个值之间。
Name Type Description
value Number 要约束的值。
min Number 最小值。
max Number 最大值。
Returns:
数值被箝位,使 min <= value <= max。

staticSuperMap3D.Math.clampToLatitudeRange(angle)Number

Convenience 函数,将纬度值(以弧度为单位)固定到范围[-Math.PI/2, Math.PI/2) 。 用于在需要正确范围的对象中使用前对数据进行消毒。
Name Type Description
angle Number 纬度值(以弧度为单位),用于箝位到 [-Math.PI/2, Math.PI/2)范围内。
Returns:
纬度值被箝制在[-Math.PI/2, Math.PI/2)范围内。
Example:
// Clamp 108 degrees latitude to 90 degrees latitude
var latitude = SuperMap3D.Math.clampToLatitudeRange(SuperMap3D.Math.toRadians(108.0));

staticSuperMap3D.Math.convertLongitudeRange(angle)Number

将经度值(单位为弧度)转换为 [-Math.PI, Math.PI)范围。
Name Type Description
angle Number 以弧度为单位的经度值,用于转换为量程在[-Math.PI, Math.PI)范围内。
Returns:
等效经度值的 [-Math.PI, Math.PI)范围。
Example:
// Convert 270 degrees to -90 degrees longitude
var longitude = SuperMap3D.Math.convertLongitudeRange(SuperMap3D.Math.toRadians(270.0));

staticSuperMap3D.Math.cosh(value)Number

返回一个数字的双曲余弦值。双曲余弦定义为 (ex + e-x)/2.0 其中e为欧拉数,近似为2.71828183。

Special cases:

  • 如果参数是NaN,那么结果就是NaN。
  • 如果参数是无限的,那么结果是正无穷。
  • 如果参数为0,则结果为1.0。

Name Type Description
value Number 要返回其双曲余弦值的数。
Returns:
双曲余弦的值。

staticSuperMap3D.Math.equalsEpsilon(left, right, relativeEpsilon, absoluteEpsilon)Boolean

使用绝对或相对公差测试确定两个值是否相等。 避免在直接比较浮点值时由于舍入误差而导致的问题。这些值是首先采用绝对耐受性试验进行比较。 如果失败,则执行相对容差测试。如果您不确定左和右的大小,请使用此测试。
Name Type Default Description
left Number 要比较的第一个值。
right Number 要比较的第二个值。
relativeEpsilon Number 相对公差测试中leftright之间的最大包容性增量。
absoluteEpsilon Number relativeEpsilon optional 绝对公差测试left和right之间的最大包容性增量。
Returns:
true 如果值在内相等为 true,否则为false。
Example:
var a = SuperMap3D.Math.equalsEpsilon(0.0, 0.01, SuperMap3D.Math.EPSILON2); // true
var b = SuperMap3D.Math.equalsEpsilon(0.0, 0.1, SuperMap3D.Math.EPSILON2);  // false
var c = SuperMap3D.Math.equalsEpsilon(3699175.1634344, 3699175.2, SuperMap3D.Math.EPSILON7); // true
var d = SuperMap3D.Math.equalsEpsilon(3699175.1634344, 3699175.2, SuperMap3D.Math.EPSILON9); // false

staticSuperMap3D.Math.factorial(n)Number

计算所提供数字的阶乘。
Name Type Description
n Number 要计算其阶乘的数。
Returns:
所提供数字的阶乘,如果数字小于0则为未定义。
Throws:
Example:
//Compute 7!, which is equal to 5040
var computedFactorial = SuperMap3D.Math.factorial(7);
See:

staticSuperMap3D.Math.fromSNorm(value, rangeMax)Number

将范围 [0, rangeMax] 内的 SNORM 值转换为范围 [-1.0, 1.0] 内的标量。
Name Type Default Description
value Number SNORM值在[0,255]范围内。
rangeMax Number 255 optional SNORM范围内的最大值,默认为255。
Returns:
范围为[-1.0,1.0]的标量。
See:

staticSuperMap3D.Math.incrementWrap(n, maximumValue, minimumValue)Number

如果数字超过最大值,则将带有换行符的数字递增到最小值。
Name Type Default Description
n Number optional 要递增的数。
maximumValue Number optional 在滚动到最小值之前的最大增量值。
minimumValue Number 0.0 optional 超过最大值后重置的数字。
Returns:
递增的数字。
Throws:
Example:
var n = SuperMap3D.Math.incrementWrap(5, 10, 0); // returns 6
var n = SuperMap3D.Math.incrementWrap(10, 10, 0); // returns 0

staticSuperMap3D.Math.isPowerOfTwo(n)Boolean

确定一个正整数是否是2的幂。
Name Type Description
n Number 要测试的正整数。
Returns:
如果数是2的幂为true ;否则为false。
Throws:
Example:
var t = SuperMap3D.Math.isPowerOfTwo(16); // true
var f = SuperMap3D.Math.isPowerOfTwo(20); // false

staticSuperMap3D.Math.lerp(p, q, time)Number

计算两个值的线性插值。
Name Type Description
p Number 插值的起始值。
q Number 插值的终值。
time Number 插值时间一般在 [0.0, 1.0]范围内。
Returns:
线性插值。
Example:
var n = SuperMap3D.Math.lerp(0.0, 2.0, 0.5); // returns 1.0

staticSuperMap3D.Math.logBase(number, base)Number

求一个数对一个底的对数。
Name Type Description
number Number 数。
base Number 对数。
Returns:
结果。

staticSuperMap3D.Math.mod(m, n)Number

同样适用于负红利的调制运算。
Name Type Description
m Number 红利。
n Number 整除数。
Returns:
剩下的。

staticSuperMap3D.Math.negativePiToPi(angle)Number

产生一个范围为-Pi <= angle <= Pi的角度,与提供的角度相等。
Name Type Description
angle Number 弧度。
Returns:
角度在[-Math.PI, Math.PI]范围内。

staticSuperMap3D.Math.nextPowerOfTwo(n)Number

计算下一个大于或等于所提供的正整数的2次幂整数。
Name Type Description
n Number 要测试的正整数。
Returns:
下一个2的幂整数。
Throws:
Example:
var n = SuperMap3D.Math.nextPowerOfTwo(29); // 32
var m = SuperMap3D.Math.nextPowerOfTwo(32); // 32

staticSuperMap3D.Math.nextRandomNumber()Number

使用梅森扭转器生成范围为 [0.0, 1.0) 的随机浮点数。
Returns:
在[0.0,1.0]范围内的随机数。
See:

staticSuperMap3D.Math.randomBetween(min, max)Number

在两个数字之间生成一个随机数。
Name Type Description
min Number 最小值。
max Number 最大值。
Returns:
最小值和最大值之间的随机数。

staticSuperMap3D.Math.setRandomNumberSeed(seed)

设置 Math#nextRandomNumber 中随机数生成器使用的种子。
Name Type Description
seed Number 用作种子的整数。

staticSuperMap3D.Math.sign(value)Number

返回数值的符号;如果数值为正,则返回 1;如果数值为负,则返回-1;如果数值为 0,则返回 0。
Name Type Description
value Number The value to return the sign of.
Returns:
The sign of value.

staticSuperMap3D.Math.signNotZero(value)Number

如果给定值为正或零,则返回 1.0;如果为负,则返回-1.0。这与 Math#sign 类似,只是当输入值为 0.0 时,返回 1.0 而不是 0.0。
Name Type Description
value Number 要返回符号的值。
Returns:
价值的标志。

staticSuperMap3D.Math.sinh(value)Number

返回数字的双曲正弦值。双余弦的 value 定义为 (ex - e-x)/2.0其中e 为欧拉数,近似为2.71828183。

Special cases:

  • 如果参数是NaN,那么结果就是NaN。
  • 如果参数是无穷大,那么结果是无穷大和参数相同的符号。
  • 如果参数为0,则结果为0和实参的符号一样。

Name Type Description
value Number 要返回双曲正弦值的数字。
Returns:
双曲正弦值。

staticSuperMap3D.Math.toDegrees(radians)Number

将弧度转换为度。
Name Type Description
radians Number 要转换的角度,单位为弧度。
Returns:
相应的角度(度)。

staticSuperMap3D.Math.toRadians(degrees)Number

将度转换为弧度。
Name Type Description
degrees Number 要转换的角度,单位为度。
Returns:
相应的角度(以弧度为单位)。

staticSuperMap3D.Math.toSNorm(value, rangeMax)Number

将范围 [-1.0, 1.0] 内的标量值转换为范围 [0, rangeMax] 内的 SNORM 值。
Name Type Default Description
value Number 范围 [-1.0, 1.0] 内的标量值。
rangeMax Number 255 optional 映射范围内的最大值,默认为 255。
Returns:
SNORM 值,其中0映射到 -1.0,rangeMax 映射到 1.0。
See:

staticSuperMap3D.Math.zeroToTwoPi(angle)Number

产生一个范围为0 <= angle <= 2Pi的角度,该角度与所提供的角度相等。
Name Type Description
angle Number 弧度。
Returns:
[0,Math.TWO_PI]范围内的角度。