数学工具子模块,包含各种数学计算和坐标转换函数
Methods
-
<static> CaluateMatrix(localPosition, sourceCoordinate, targetCoordinate)
-
获取三维坐标转换矩阵
Parameters:
Name Type Description localPositionObject 项目原点坐标|局部坐标原点;例:{x, y, z}; sourceCoordinateString 原始坐标系; 'local':局部坐标系; 'EPSG:4978':三维地理坐标系; targetCoordinateString 目标坐标系; 'local':局部坐标系; 'EPSG:4978':三维地理坐标系; Returns:
变换矩阵Matrix4- Type
- Glodon.CIMCube.Cesium.Matrix4
-
<static> cartesianArrayToCoordinatesArray(cartesianArray)
-
笛卡尔坐标转数组格式经纬度[数组集] 笛卡尔坐标数组转坐标串
Parameters:
Name Type Description cartesianArrayArray.<Glodon.CIMCube.Cesium.Cartesian3> 笛卡尔坐标数组 Returns:
坐标串[[lon,lat,height]]- Type
- Array.<Object>
-
<static> cartesianToCartographic(cartesian)
-
笛卡尔坐标转地理坐标
Parameters:
Name Type Description cartesianGlodon.CIMCube.Cesium.Cartesian3 笛卡尔坐标转地理坐标 Returns:
地理坐标- Type
- Glodon.CIMCube.Cesium.Cartographic
-
<static> cartesianToCoordinates(cartesian)
-
笛卡尔坐标转经纬度坐标
Parameters:
Name Type Description cartesianCesium.Cartesian3 笛卡尔坐标 Returns:
坐标数组[lon,lat,height]- Type
- Array
-
<static> cartesianToLlh(p)
-
世界笛卡尔坐标系转换经纬度坐标
Parameters:
Name Type Description pObject 世界笛卡尔坐标{x,y,z} Returns:
经纬度{lon, lat, height}- Type
- Object
-
<static> cartographicToCartesian(cartographic)
-
地理坐标转笛卡尔坐标
Parameters:
Name Type Description cartographicGlodon.CIMCube.Cesium.Cartographic 地理坐标 Returns:
笛卡尔坐标- Type
- Glodon.CIMCube.Cesium.Cartesian3
-
<static> computeSVDMatrix(sourcePoints, targetPoints)
-
三维拟合算法
Parameters:
Name Type Description sourcePointsArray.<Object> 原始点坐标数组 targetPointsArray.<Object> 目标点坐标数组 Returns:
矩阵Matrix4- Type
- Glodon.CIMCube.Cesium.Matrix4
-
<static> coordinatesArrayToCartesianArray(coordinatesArray)
-
坐标串转笛卡尔坐标数组
Parameters:
Name Type Description coordinatesArrayArray 坐标串[[lon,lat,height]] Returns:
笛卡尔坐标数组- Type
- Array.<Glodon.CIMCube.Cesium.Cartesian3>
-
<static> coordinatesToCartesian(coordinate)
-
经纬度坐标转笛卡尔坐标
Parameters:
Name Type Description coordinateArray 坐标数组[lon,lat,height] Returns:
笛卡尔坐标- Type
- Glodon.CIMCube.Cesium.Cartesian3
-
<static> coordinateTranslate(position, transformationMatrix)
-
坐标转换
Parameters:
Name Type Description positionGlodon.CIMCube.Cesium.Cartesian3 源坐标 transformationMatrixGlodon.CIMCube.Cesium.Matrix4 变换矩阵Matrix4 Returns:
目标坐标- Type
- Glodon.CIMCube.Cesium.Cartesian3
-
<static> equals()
-
判断a、b两个参数是否相等,支持所有基本类型
-
<static> getDistance(p1, p2)
-
取得两个经纬度之间距离(有误差)
Parameters:
Name Type Description p1Object 点坐标 p2Object 点坐标 -
<static> getRayIntersectionToPlane()
-
计算射线与平面的交点, dir 与 normal都必须是归一化的; 没有交点的话,返回false,result保持不变; 有的话返回true,result会被新值覆盖; 点在平面上也算相交;
-
<static> getTransformationFromSRT()
-
局部旋转,然后缩放,最后平移; 旋转按照zyx顺序,且为静态轴(后面旋转的轴不受前面转动的影响); s,r,t 皆为Cartesian3,旋转用弧度表示;
-
<static> getWorldPositionByLocalPosition(projectPosition, localPosition, tiles3DLayerPosition)
-
局部坐标转换世界坐标,原点为指定图层
Parameters:
Name Type Description projectPositionGlodon.CIMCube.Cesium.Cartesian3 项目原点坐标|局部坐标原点;例:{x, y, z}; localPositionGlodon.CIMCube.Cesium.Cartesian3 以projectPosition为原点的投影局部坐标;例:{x, y, z}; tiles3DLayerPositionGlodon.CIMCube.Cesium.Cartesian3 图层原点世界坐标;例:{x, y, z}; Returns:
目标坐标- Type
- Glodon.CIMCube.Cesium.Cartesian3
-
<static> insidePolygon(list, point)
-
判断一个点是否在指定多边形区域内(2D经纬度版本)
Parameters:
Name Type Description listArray 2D经纬度点数组 代表多边形区域 pointObject 2D经纬度点坐标 Returns:
Boolean -
<static> linePolygonIntersection(lineStartX, lineStartY, lineEndX, lineEndY, polygon)
-
计算线段和多边形交点(2D, 只返回第一个交点, 认为线段和多边形边重合时没有交点)
Parameters:
Name Type Description lineStartXNumber 线段起点X lineStartYNumber 线段起点Y lineEndXNumber 线段终点X lineEndYNumber 线段终点Y polygonArray 多边形点集 -
<static> llhToCartesian(lon, lat, height)
-
经纬度坐标转换世界笛卡尔坐标系
Parameters:
Name Type Description lonNumber 经度 latNumber 纬度 heightNumber 高度(米) Returns:
世界笛卡尔坐标{x,y,z}- Type
- Object
-
<static> modelToWorldCoordinates(coordinates, transform)
-
模型坐标转WGS84经纬度坐标
Parameters:
Name Type Description coordinatesArray.<Object> 局部坐标 transformGlodon.CIMCube.Cesium.Matrix4 变换矩阵 Returns:
WGS84经纬度坐标- Type
- Array.<Object>
-
<static> offsetToLongLat(llh, offset)
-
二维坐标下,经纬度偏移(有误差)
Parameters:
Name Type Description llhObject 经纬度;{lon,lat} offsetObject 偏移;{x,y} Returns:
经纬度;{lon,lat}- Type
- Object
-
<static> packedDepth()
-
depth范围为[0, 1)
-
<static> pointInPolygon(point, polygon)
-
判断一个点是否在指定多边形区域内(2D)
Parameters:
Name Type Description pointObject 2D点坐标 polygonArray.<Object> 多边形点数组 - [{x,y},{x,y}] -
<static> reverseBezierCurveFn(begin, curveRet, end)
-
贝塞尔反算(仅限二阶)
Parameters:
Name Type Description beginNumber curveRetNumber endNumber Returns:
- Type
- Number
-
<static> roundingByBezier(list, interpolationCount, approximation)
-
二三维坐标下,可通过贝塞尔曲线差值
Parameters:
Name Type Description listArray 数组 interpolationCountNumber 差值个数,不宜过多; approximationNumber 近似值;0的场合做为贝塞尔的支点,1的场合贝塞尔曲线穿过支点;默认为0;范围:0~1; Returns:
数组;{lon,lat}- Type
- Array.<Object>
-
<static> toCesiumColor(color)
-
转换为Cesium颜色
Parameters:
Name Type Description colorString 颜色;#FFFFFF|rgab(255,255,255,1.0)|red|Cesium.Color Returns:
Cesium颜色- Type
- Glodon.CIMCube.Cesium.Color
-
<static> toDegrees(radians)
-
弧度转度数
Parameters:
Name Type Description radiansNumber 弧度 Returns:
度数- Type
- Number
-
<static> toRadians(degrees)
-
度数转弧度
Parameters:
Name Type Description degreesNumber 度数 Returns:
弧度- Type
- Number
-
<static> unpackDepth()
-
rgba默认范围为[0, 255]