Math

Math functions.

成员(属性)

static constant Cesium.Math.DEGREES_PER_RADIAN : number

The number of degrees in a radian.

static constant Cesium.Math.EPSILON1 : number

0.1

static constant Cesium.Math.EPSILON2 : number

0.01

static constant Cesium.Math.EPSILON3 : number

0.001

static constant Cesium.Math.EPSILON4 : number

0.0001

static constant Cesium.Math.EPSILON5 : number

0.00001

static constant Cesium.Math.EPSILON6 : number

0.000001

static constant Cesium.Math.EPSILON7 : number

0.0000001

static constant Cesium.Math.EPSILON8 : number

0.00000001

static constant Cesium.Math.EPSILON9 : number

0.000000001

static constant Cesium.Math.EPSILON10 : number

0.0000000001

static constant Cesium.Math.EPSILON11 : number

0.00000000001

static constant Cesium.Math.EPSILON12 : number

0.000000000001

static constant Cesium.Math.EPSILON13 : number

0.0000000000001

static constant Cesium.Math.EPSILON14 : number

0.00000000000001

static constant Cesium.Math.EPSILON15 : number

0.000000000000001

static constant Cesium.Math.EPSILON16 : number

0.0000000000000001

static constant Cesium.Math.EPSILON17 : number

0.00000000000000001

static constant Cesium.Math.EPSILON18 : number

0.000000000000000001

static constant Cesium.Math.EPSILON19 : number

0.0000000000000000001

static constant Cesium.Math.EPSILON20 : number

0.00000000000000000001

static constant Cesium.Math.EPSILON21 : number

0.000000000000000000001

static constant Cesium.Math.FOUR_GIGABYTES : number

4 * 1024 * 1024 * 1024

static constant Cesium.Math.GRAVITATIONALPARAMETER : number

The gravitational parameter of the Earth in meters cubed per second squared as defined by the WGS84 model: 3.986004418e14

static constant Cesium.Math.LUNAR_RADIUS : number

The mean radius of the moon, according to the "Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements of the Planets and satellites: 2000", Celestial Mechanics 82: 83-110, 2002.

static constant Cesium.Math.ONE_OVER_PI : number

1/pi

static constant Cesium.Math.ONE_OVER_TWO_PI : number

1/2pi

static constant Cesium.Math.PI : number

pi

static constant Cesium.Math.PI_OVER_FOUR : number

pi/4

static constant Cesium.Math.PI_OVER_SIX : number

pi/6

static constant Cesium.Math.PI_OVER_THREE : number

pi/3

static constant Cesium.Math.PI_OVER_TWO : number

pi/2

static constant Cesium.Math.RADIANS_PER_ARCSECOND : number

The number of radians in an arc second.

static constant Cesium.Math.RADIANS_PER_DEGREE : number

The number of radians in a degree.

static constant Cesium.Math.SIXTY_FOUR_KILOBYTES : number

64 * 1024

static constant Cesium.Math.SOLAR_RADIUS : number

Radius of the sun in meters: 6.955e8

static constant Cesium.Math.THREE_PI_OVER_TWO : number

3pi/2

static constant Cesium.Math.TWO_PI : number

2pi

方法

static Cesium.Math.acosClamped(value)number

Computes Math.acos(value), but first clamps value to the range [-1.0, 1.0] so that the function will never return NaN.
参数名称 类型 描述信息
value number The value for which to compute acos.
返回值:
The acos of the value if the value is in the range [-1.0, 1.0], or the acos of -1.0 or 1.0, whichever is closer, if the value is outside the range.

static Cesium.Math.asinClamped(value)number

Computes Math.asin(value), but first clamps value to the range [-1.0, 1.0] so that the function will never return NaN.
参数名称 类型 描述信息
value number The value for which to compute asin.
返回值:
The asin of the value if the value is in the range [-1.0, 1.0], or the asin of -1.0 or 1.0, whichever is closer, if the value is outside the range.

static Cesium.Math.cbrt(number)number

Finds the cube root of a number. Returns NaN if number is not provided.
参数名称 类型 描述信息
number number 可选 The number.
返回值:
The result.

static Cesium.Math.chordLength(angle, radius)number

Finds the chord length between two points given the circle's radius and the angle between the points.
参数名称 类型 描述信息
angle number The angle between the two points.
radius number The radius of the circle.
返回值:
The chord length.

static Cesium.Math.clamp(value, min, max)number

Constraint a value to lie between two values.
参数名称 类型 描述信息
value number The value to clamp.
min number The minimum value.
max number The maximum value.
返回值:
The clamped value such that min <= result <= max.

static Cesium.Math.clampToLatitudeRange(angle)number

Convenience function that clamps a latitude value, in radians, to the range [-Math.PI/2, Math.PI/2). Useful for sanitizing data before use in objects requiring correct range.
参数名称 类型 描述信息
angle number The latitude value, in radians, to clamp to the range [-Math.PI/2, Math.PI/2).
返回值:
The latitude value clamped to the range [-Math.PI/2, Math.PI/2).
使用示例:
// Clamp 108 degrees latitude to 90 degrees latitude
const latitude = Cesium.Math.clampToLatitudeRange(Cesium.Math.toRadians(108.0));

static Cesium.Math.convertLongitudeRange(angle)number

Converts a longitude value, in radians, to the range [-Math.PI, Math.PI).
参数名称 类型 描述信息
angle number The longitude value, in radians, to convert to the range [-Math.PI, Math.PI).
返回值:
The equivalent longitude value in the range [-Math.PI, Math.PI).
使用示例:
// Convert 270 degrees to -90 degrees longitude
const longitude = Cesium.Math.convertLongitudeRange(Cesium.Math.toRadians(270.0));

static Cesium.Math.cosh(value)number

Returns the hyperbolic cosine of a number. The hyperbolic cosine of value is defined to be (ex + e-x)/2.0 where e is Euler's number, approximately 2.71828183.

Special cases:

  • If the argument is NaN, then the result is NaN.
  • If the argument is infinite, then the result is positive infinity.
  • If the argument is zero, then the result is 1.0.

参数名称 类型 描述信息
value number The number whose hyperbolic cosine is to be returned.
返回值:
The hyperbolic cosine of value.

static Cesium.Math.equalsEpsilon(left, right, relativeEpsilon, absoluteEpsilon)boolean

Determines if two values are equal using an absolute or relative tolerance test. This is useful to avoid problems due to roundoff error when comparing floating-point values directly. The values are first compared using an absolute tolerance test. If that fails, a relative tolerance test is performed. Use this test if you are unsure of the magnitudes of left and right.
参数名称 类型 默认值 描述信息
left number The first value to compare.
right number The other value to compare.
relativeEpsilon number 0 可选 The maximum inclusive delta between left and right for the relative tolerance test.
absoluteEpsilon number relativeEpsilon 可选 The maximum inclusive delta between left and right for the absolute tolerance test.
返回值:
true if the values are equal within the epsilon; otherwise, false.
使用示例:
const a = Cesium.Math.equalsEpsilon(0.0, 0.01, Cesium.Math.EPSILON2); // true
const b = Cesium.Math.equalsEpsilon(0.0, 0.1, Cesium.Math.EPSILON2);  // false
const c = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON7); // true
const d = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON9); // false

static Cesium.Math.factorial(n)number

Computes the factorial of the provided number.
参数名称 类型 描述信息
n number The number whose factorial is to be computed.
返回值:
The factorial of the provided number or undefined if the number is less than 0.
Throws:
使用示例:
//Compute 7!, which is equal to 5040
const computedFactorial = Cesium.Math.factorial(7);
参考:

static Cesium.Math.fastApproximateAtan(x)number

Computes a fast approximation of Atan for input in the range [-1, 1]. Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on "Efficient approximations for the arctangent function," Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006. Adapted from ShaderFastLibs under MIT License.
参数名称 类型 描述信息
x number An input number in the range [-1, 1]
返回值:
An approximation of atan(x)

static Cesium.Math.fastApproximateAtan2(x, y)number

Computes a fast approximation of Atan2(x, y) for arbitrary input scalars. Range reduction math based on nvidia's cg reference implementation: http://developer.download.nvidia.com/cg/atan2.html
参数名称 类型 描述信息
x number An input number that isn't zero if y is zero.
y number An input number that isn't zero if x is zero.
返回值:
An approximation of atan2(x, y)

static Cesium.Math.fromSNorm(value, rangeMaximum)number

Converts a SNORM value in the range [0, rangeMaximum] to a scalar in the range [-1.0, 1.0].
参数名称 类型 默认值 描述信息
value number SNORM value in the range [0, rangeMaximum]
rangeMaximum number 255 可选 The maximum value in the SNORM range, 255 by default.
返回值:
Scalar in the range [-1.0, 1.0].
参考:
  • CesiumMath.toSNorm

static Cesium.Math.greaterThan(left, right, absoluteEpsilon)boolean

Determines if the left value is greater the right value. If the two values are within absoluteEpsilon of each other, they are considered equal and this function returns false.
参数名称 类型 描述信息
left number The first number to compare.
right number The second number to compare.
absoluteEpsilon number The absolute epsilon to use in comparison.
返回值:
true if left is greater than right by more than absoluteEpsilon. false if left is less or if the two values are nearly equal.

static Cesium.Math.greaterThanOrEquals(left, right, absoluteEpsilon)boolean

Determines if the left value is greater than or equal to the right value. If the two values are within absoluteEpsilon of each other, they are considered equal and this function returns true.
参数名称 类型 描述信息
left number The first number to compare.
right number The second number to compare.
absoluteEpsilon number The absolute epsilon to use in comparison.
返回值:
true if left is greater than right or if the the values are nearly equal.

static Cesium.Math.incrementWrap(n, maximumValue, minimumValue)number

Increments a number with a wrapping to a minimum value if the number exceeds the maximum value.
参数名称 类型 默认值 描述信息
n number 可选 The number to be incremented.
maximumValue number 可选 The maximum incremented value before rolling over to the minimum value.
minimumValue number 0.0 可选 The number reset to after the maximum value has been exceeded.
返回值:
The incremented number.
Throws:
使用示例:
const n = Cesium.Math.incrementWrap(5, 10, 0); // returns 6
const m = Cesium.Math.incrementWrap(10, 10, 0); // returns 0

static Cesium.Math.isPowerOfTwo(n)boolean

Determines if a non-negative integer is a power of two. The maximum allowed input is (2^32)-1 due to 32-bit bitwise operator limitation in Javascript.
参数名称 类型 描述信息
n number The integer to test in the range [0, (2^32)-1].
返回值:
true if the number if a power of two; otherwise, false.
Throws:
使用示例:
const t = Cesium.Math.isPowerOfTwo(16); // true
const f = Cesium.Math.isPowerOfTwo(20); // false

static Cesium.Math.lerp(p, q, time)number

Computes the linear interpolation of two values.
参数名称 类型 描述信息
p number The start value to interpolate.
q number The end value to interpolate.
time number The time of interpolation generally in the range [0.0, 1.0].
返回值:
The linearly interpolated value.
使用示例:
const n = Cesium.Math.lerp(0.0, 2.0, 0.5); // returns 1.0

static Cesium.Math.lessThan(left, right, absoluteEpsilon)boolean

Determines if the left value is less than the right value. If the two values are within absoluteEpsilon of each other, they are considered equal and this function returns false.
参数名称 类型 描述信息
left number The first number to compare.
right number The second number to compare.
absoluteEpsilon number The absolute epsilon to use in comparison.
返回值:
true if left is less than right by more than absoluteEpsilon. false if left is greater or if the two values are nearly equal.

static Cesium.Math.lessThanOrEquals(left, right, absoluteEpsilon)boolean

Determines if the left value is less than or equal to the right value. If the two values are within absoluteEpsilon of each other, they are considered equal and this function returns true.
参数名称 类型 描述信息
left number The first number to compare.
right number The second number to compare.
absoluteEpsilon number The absolute epsilon to use in comparison.
返回值:
true if left is less than right or if the the values are nearly equal.

static Cesium.Math.log2(number)number

Finds the base 2 logarithm of a number.
参数名称 类型 描述信息
number number The number.
返回值:
The result.

static Cesium.Math.logBase(number, base)number

Finds the logarithm of a number to a base.
参数名称 类型 描述信息
number number The number.
base number The base.
返回值:
The result.

static Cesium.Math.mod(m, n)number

The modulo operation that also works for negative dividends.
参数名称 类型 描述信息
m number The dividend.
n number The divisor.
返回值:
The remainder.

static Cesium.Math.negativePiToPi(angle)number

Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
参数名称 类型 描述信息
angle number in radians
返回值:
The angle in the range [-CesiumMath.PI, CesiumMath.PI].

static Cesium.Math.nextPowerOfTwo(n)number

Computes the next power-of-two integer greater than or equal to the provided non-negative integer. The maximum allowed input is 2^31 due to 32-bit bitwise operator limitation in Javascript.
参数名称 类型 描述信息
n number The integer to test in the range [0, 2^31].
返回值:
The next power-of-two integer.
Throws:
使用示例:
const n = Cesium.Math.nextPowerOfTwo(29); // 32
const m = Cesium.Math.nextPowerOfTwo(32); // 32

static Cesium.Math.nextRandomNumber()number

Generates a random floating point number in the range of [0.0, 1.0) using a Mersenne twister.
返回值:
A random number in the range of [0.0, 1.0).
参考:

static Cesium.Math.normalize(value, rangeMinimum, rangeMaximum)number

Converts a scalar value in the range [rangeMinimum, rangeMaximum] to a scalar in the range [0.0, 1.0]
参数名称 类型 描述信息
value number The scalar value in the range [rangeMinimum, rangeMaximum]
rangeMinimum number The minimum value in the mapped range.
rangeMaximum number The maximum value in the mapped range.
返回值:
A scalar value, where rangeMinimum maps to 0.0 and rangeMaximum maps to 1.0.

static Cesium.Math.previousPowerOfTwo(n)number

Computes the previous power-of-two integer less than or equal to the provided non-negative integer. The maximum allowed input is (2^32)-1 due to 32-bit bitwise operator limitation in Javascript.
参数名称 类型 描述信息
n number The integer to test in the range [0, (2^32)-1].
返回值:
The previous power-of-two integer.
Throws:
使用示例:
const n = Cesium.Math.previousPowerOfTwo(29); // 16
const m = Cesium.Math.previousPowerOfTwo(32); // 32

static Cesium.Math.randomBetween(min, max)number

Generates a random number between two numbers.
参数名称 类型 描述信息
min number The minimum value.
max number The maximum value.
返回值:
A random number between the min and max.

static Cesium.Math.setRandomNumberSeed(seed)

Sets the seed used by the random number generator in CesiumMath#nextRandomNumber.
参数名称 类型 描述信息
seed number An integer used as the seed.

static Cesium.Math.sign(value)number

Returns the sign of the value; 1 if the value is positive, -1 if the value is negative, or 0 if the value is 0.
参数名称 类型 描述信息
value number The value to return the sign of.
返回值:
The sign of value.

static Cesium.Math.signNotZero(value)number

Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to CesiumMath#sign except that returns 1.0 instead of 0.0 when the input value is 0.0.
参数名称 类型 描述信息
value number The value to return the sign of.
返回值:
The sign of value.

static Cesium.Math.sinh(value)number

Returns the hyperbolic sine of a number. The hyperbolic sine of value is defined to be (ex - e-x)/2.0 where e is Euler's number, approximately 2.71828183.

Special cases:

  • If the argument is NaN, then the result is NaN.
  • If the argument is infinite, then the result is an infinity with the same sign as the argument.
  • If the argument is zero, then the result is a zero with the same sign as the argument.

参数名称 类型 描述信息
value number The number whose hyperbolic sine is to be returned.
返回值:
The hyperbolic sine of value.

static Cesium.Math.toDegrees(radians)number

Converts radians to degrees.
参数名称 类型 描述信息
radians number The angle to convert in radians.
返回值:
The corresponding angle in degrees.

static Cesium.Math.toRadians(degrees)number

Converts degrees to radians.
参数名称 类型 描述信息
degrees number The angle to convert in degrees.
返回值:
The corresponding angle in radians.

static Cesium.Math.toSNorm(value, rangeMaximum)number

Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMaximum]
参数名称 类型 默认值 描述信息
value number The scalar value in the range [-1.0, 1.0]
rangeMaximum number 255 可选 The maximum value in the mapped range, 255 by default.
返回值:
A SNORM value, where 0 maps to -1.0 and rangeMaximum maps to 1.0.
参考:
  • CesiumMath.fromSNorm

static Cesium.Math.zeroToTwoPi(angle)number

Produces an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.
参数名称 类型 描述信息
angle number in radians
返回值:
The angle in the range [0, CesiumMath.TWO_PI].