成员变量
The number of degrees in a radian.
-
Default Value:
180.0 / Math.PI
0.1
0.01
0.001
0.0001
0.00001
0.000001
0.0000001
0.00000001
0.000000001
0.0000000001
0.00000000001
0.000000000001
0.0000000000001
0.00000000000001
0.000000000000001
0.0000000000000001
0.00000000000000001
0.000000000000000001
0.0000000000000000001
0.00000000000000000001
0.000000000000000000001
4 * 1024 * 1024 * 1024
The gravitational parameter of the Earth in meters cubed
per second squared as defined by the WGS84 model: 3.986004418e14
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.
1/pi
1/2pi
pi
pi/4
pi/6
pi/3
pi/2
The number of radians in an arc second.
-
Default Value:
CesiumMath.RADIANS_PER_DEGREE / 3600.0
The number of radians in a degree.
-
Default Value:
Math.PI / 180.0
64 * 1024
以米为单位的太阳半径: 6.955e8
3pi/2
2pi
内置方法
Computes
Math.acos(value)
, but first clamps value
to the range [-1.0, 1.0]
so that the function will never return NaN.
Name | Type | Description |
---|---|---|
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.
Computes
Math.asin(value)
, but first clamps value
to the range [-1.0, 1.0]
so that the function will never return NaN.
Name | Type | Description |
---|---|---|
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.
Finds the cube root of a number.
Returns NaN if
number
is not provided.
Name | Type | Description |
---|---|---|
number |
Number | optional The number. |
返回值:
The result.
Finds the chord length between two points given the circle's radius and the angle between the points.
Name | Type | Description |
---|---|---|
angle |
Number | The angle between the two points. |
radius |
Number | The radius of the circle. |
返回值:
The chord length.
将一个值限制在两个值之间。
Name | Type | Description |
---|---|---|
value |
Number | 要限制的值。 |
min |
Number | 最小值。 |
max |
Number | 最大值。 |
返回值:
value被夹住,使得min <= value <= max。
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.
Name | Type | Description |
---|---|---|
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
var latitude = Cesium.Math.clampToLatitudeRange(Cesium.Math.toRadians(108.0));
Converts a longitude value, in radians, to the range [
-Math.PI
, Math.PI
).
Name | Type | Description |
---|---|---|
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
var longitude = Cesium.Math.convertLongitudeRange(Cesium.Math.toRadians(270.0));
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.
Name | Type | Description |
---|---|---|
value |
Number | The number whose hyperbolic cosine is to be returned. |
返回值:
The hyperbolic cosine of
value
.
staticCesium.Math.equalsEpsilon(left, right, relativeEpsilon, absoluteEpsilon) → Boolean
使用绝对或相对容差测试确定两个值是否相等。在直接比较浮点值时,这有助于避免由于舍入错误造成的问题。这些值首先使用绝对容差测试进行比较。
如果失败,则执行相对容错测试。如果你不确定左右的大小,可以使用这个测试。
Name | Type | Default | Description |
---|---|---|---|
left |
Number | 要比较的第一个值。 | |
right |
Number | 要比较的另一个值。 | |
relativeEpsilon |
Number |
相对容差测试用的left 和 right |
|
absoluteEpsilon |
Number |
relativeEpsilon
|
optional
绝对容差测试用的left 和 right
|
返回值:
true
,如果值在epsilon内相等;否则,false
。
示例:
var a = Cesium.Math.equalsEpsilon(0.0, 0.01, Cesium.Math.EPSILON2); // true
var b = Cesium.Math.equalsEpsilon(0.0, 0.1, Cesium.Math.EPSILON2); // false
var c = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON7); // true
var d = Cesium.Math.equalsEpsilon(3699175.1634344, 3699175.2, Cesium.Math.EPSILON9); // false
计算所提供数字的阶乘。
Name | Type | Description |
---|---|---|
n |
Number | 要计算其阶乘的数。 |
返回值:
给定数的阶乘,如果该数小于0,则未定义。
异常情况:
-
DeveloperError : 需要一个大于或等于0的数字。
示例:
//Compute 7!, which is equal to 5040
var computedFactorial = Cesium.Math.factorial(7);
参考:
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.
Name | Type | Description |
---|---|---|
x |
Number | An input number in the range [-1, 1] |
返回值:
An approximation of atan(x)
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
Name | Type | Description |
---|---|---|
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)
Converts a SNORM value in the range [0, rangeMaximum] to a scalar in the range [-1.0, 1.0].
Name | Type | Default | Description |
---|---|---|---|
value |
Number | SNORM value in the range [0, rangeMaximum] | |
rangeMaximum |
Number |
255
|
optional The maximum value in the SNORM range, 255 by default. |
返回值:
Scalar in the range [-1.0, 1.0].
- CesiumMath.toSNorm
参考:
确定左值是否大于右值。如果这两个值在
absoluteEpsilon
内,则认为它们相等,此函数返回false。
Name | Type | Description |
---|---|---|
left |
Number | 第一个要比较的数字。 |
right |
Number | 第二个要比较的数字。 |
absoluteEpsilon |
Number | 用于比较的绝对值。 |
返回值:
true
如果left
大于right
超过absoluteEpsilon。
false
如果left
小于或如果两个值接近相等。
确定左值是否大于或等于右值。如果这两个值在absoluteEpsilon
内,则认为它们相等,此函数返回true。
Name
Type
Description
left
Number
第一个要比较的数字。
right
Number
第二个要比较的数字。
absoluteEpsilon
Number
用于比较的绝对值。
返回值:
true
如果left
大于right
或者如果值接近相等。
Increments a number with a wrapping to a minimum value if the number exceeds the maximum value.
如果一个数字超过了最大值,则使用包装将其递增到最小值。
Name
Type
Default
Description
n
Number
optional
要增加的数。
maximumValue
Number
optional
在转到最小值之前增加的最大值。
minimumValue
Number
0.0
optional
超过最大值后重置的数字。
返回值:
增加的数。
异常情况:
-
DeveloperError
: 最大值必须大于最小值。
示例:
var n = Cesium.Math.incrementWrap(5, 10, 0); // returns 6
var n = Cesium.Math.incrementWrap(10, 10, 0); // returns 0
确定一个正整数是否是2的幂。
Name
Type
Description
n
Number
要测试的正整数。
返回值:
true
如果数是2的幂;否则,false
。
异常情况:
-
DeveloperError
: 需要一个大于或等于0的数字。
示例:
var t = Cesium.Math.isPowerOfTwo(16); // true
var f = Cesium.Math.isPowerOfTwo(20); // false
Computes the linear interpolation of two values.
Name
Type
Description
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.
示例:
var n = Cesium.Math.lerp(0.0, 2.0, 0.5); // returns 1.0
确定左值是否小于右值。如果这两个值在absoluteEpsilon
内,则认为它们相等,此函数返回false。
Name
Type
Description
left
Number
第一个要比较的数字。
right
Number
第二个要比较的数字。
absoluteEpsilon
Number
用于比较的绝对值。
返回值:
true
如果left
小于right
超过absoluteEpsilon。
false
如果left
大于或如果两个值接近相等。
确定左值是否小于或等于右值。如果这两个值在absoluteEpsilon
内,则认为它们相等,此函数返回true。
Name
Type
Description
left
Number
第一个要比较的数字。
right
Number
第二个要比较的数字。
absoluteEpsilon
Number
用于比较的绝对值。
返回值:
true
如果left
小于right
或者如果值接近相等。
Finds the base 2 logarithm of a number.
Name
Type
Description
number
Number
The number.
返回值:
The result.
Finds the logarithm of a number to a base.
Name
Type
Description
number
Number
The number.
base
Number
The base.
返回值:
The result.
The modulo operation that also works for negative dividends.
Name
Type
Description
m
Number
The dividend.
n
Number
The divisor.
返回值:
The remainder.
Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
Name
Type
Description
angle
Number
in radians
返回值:
The angle in the range [-CesiumMath.PI
, CesiumMath.PI
].
计算下一个大于或等于给定正整数的2次幂。
Name
Type
Description
n
Number
要测试的正整数。
返回值:
下一个2的幂数。
异常情况:
-
DeveloperError
: 需要一个大于或等于0的数字。
示例:
var n = Cesium.Math.nextPowerOfTwo(29); // 32
var m = Cesium.Math.nextPowerOfTwo(32); // 32
使用梅森扭距(Mersenne twister)生成一个范围为[0.0,1.0)的随机浮点数。
返回值:
一个在[0.0,1.0)范围内的随机数。
参考:
- CesiumMath.setRandomNumberSeed
- Mersenne twister on Wikipedia
Converts a scalar value in the range [rangeMinimum, rangeMaximum] to a scalar in the range [0.0, 1.0]
Name
Type
Description
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.
在两个数字之间生成一个随机数。
Name
Type
Description
min
Number
最小值。
max
Number
最大值。
返回值:
最小值和最大值之间的一个随机数。
在CesiumMath#nextRandomNumber
中设置随机数生成器使用的种子。
Name
Type
Description
seed
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.
Name
Type
Description
value
Number
The value to return the sign of.
返回值:
The sign of value.
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.
Name
Type
Description
value
Number
The value to return the sign of.
返回值:
The sign of value.
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.
Name
Type
Description
value
Number
The number whose hyperbolic sine is to be returned.
返回值:
The hyperbolic sine of value
.
Converts radians to degrees.
Name
Type
Description
radians
Number
The angle to convert in radians.
返回值:
The corresponding angle in degrees.
Converts degrees to radians.
Name
Type
Description
degrees
Number
The angle to convert in degrees.
返回值:
The corresponding angle in radians.
Converts a scalar value in the range [-1.0, 1.0] to a SNORM in the range [0, rangeMaximum]
Name
Type
Default
Description
value
Number
The scalar value in the range [-1.0, 1.0]
rangeMaximum
Number
255
optional
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
在0 <=角度<= 2PI范围内产生一个角度,该角度与提供的角度相等。
Name
Type
Description
angle
Number
以弧度表示
返回值:
角度在[0, CesiumMath.TWO_PI
]范围内。