Class: FdMath

FdMisc. FdMath

纯数学类


new FdMath()

Methods


<static> addOffset(pts点组, offset)

给一组点添加高度偏移量

Parameters:
Name Type Description
pts点组 Array.<Cartesian3>
offset Number

高度偏移量


<static> boxInSphere(sphere, box)

判断包围盒是否在球内

Parameters:
Name Type Description
sphere BoundingSphere

含有中心点及半径的包围球

box Array.<Array.<Cartesian3>>

包含最大和最小包围盒的世界坐标集合

Returns:

判断包围盒与球的关系

Type
Number

<static> clockwise(points)

判断多边形是否为顺时针

Parameters:
Name Type Description
points Array.<Array.<Number>>

点串,至少三个点构成多边形,每个点只有第一个元素和第二个元素参与运算

Returns:

true为顺时针, false为逆时针

Type
Boolean

<static> createClippingPlanes(points, modelMatrix)

创建剖切面

Parameters:
Name Type Description
points Array.<Array.<Number>>

经纬高的点串,至少三个点构成多边形

modelMatrix Freedo.Matrix4

模型世界变换矩阵,裁剪面会根据其逆矩阵进行变换

Returns:

ClippingPlane数组

Type
Array.<ClippingPlane>

<static> getDistanceOfCamera(camera, pos)

获取指定的点在相机正前方的投影距离。

Parameters:
Name Type Description
camera Freedo.Camera

场景相机对象

pos Array.<Number>

存放目标点经纬高的数组,单位是角度,米


<static> getScreenPos(scene, pos)

获取指定的点在客户区的做标

Parameters:
Name Type Description
scene Freedo.Scene

场景对象

pos Array.<Number>

存放目标点经纬高的数组,单位是角度,米


<static> getViewPosInfo(viewPos, targetPos)

获取观察点的信息

Parameters:
Name Type Description
viewPos Array.<Number>

存放观察点经纬高的数组,单位是角度,米

targetPos Array.<Number>

存放目标点经纬高的数组,单位是角度,米


<static> isBackOfEarth(camera, pos)

判断指定的点是否在地球背面。

Parameters:
Name Type Description
camera Freedo.Camera

场景相机对象

pos Array.<Number>

存放目标点经纬高的数组,单位是角度,米


<static> isInCameraView(camera, pos)

判断指定的点是否在相机视野范围内。

Parameters:
Name Type Description
camera Freedo.Camera

场景相机对象

pos Array.<Number>

存放目标点经纬高的数组,单位是角度,米


<static> isNumber(v)

判断是否是数字

Parameters:
Name Type Description
v Object

输入值

Returns:

true表示是数字

Type
Boolean

<static> isPosInPoly(postion, positons)

判断点是否在多边形内部

Parameters:
Name Type Description
postion Array.<Number>

判断的点

positons Array.<Array.<Number>>

多边形坐标


<static> isPosInPolyByWC(pt, pts)

判断点是否在多边形内部

Parameters:
Name Type Description
pt Cartesian3

判断点,类型为世界坐标

pts Array.<Cartesian3>

多边形的点组,类型为世界坐标


<static> LongLat2Mercator(x, y)

经纬度坐标转墨卡托坐标

Parameters:
Name Type Description
x number

经度值

y number

纬度值


<static> Mercator2LongLat(x, y)

墨卡托坐标转经纬度坐标

Parameters:
Name Type Description
x numner

x轴坐标

y number

y轴坐标


<static> round(numberRound, roundDigit)

保留小数点后多少位数字

Parameters:
Name Type Description
numberRound Number

输入值

roundDigit Number

保留到多少位

Returns:

处理后的值

Type
Number

<static> senseOfRotationByPos(pos1, pos2, pos3)

根据三点判断旋转方向

Parameters:
Name Type Description
pos1 Array.<Number>

第一个点,类型为经纬度数组

pos2 Array.<Number>

第二点,类型为经纬度数组

pos3 Array.<Number>

第三点,类型为经纬度数组

Returns:

orin 旋转方向,1为逆时针,-1为顺时针,0代表平行

Type
Number

<static> tile2rect(minrow, maxrow, mincol, maxcol, d, isMercator, revertRC)

瓦片范围转经纬度范围

Parameters:
Name Type Description
minrow number

最小行号

maxrow number

最大行号

mincol number

最小列号

maxcol number

最大列号

d number

级别

isMercator Boolean

是否墨卡托投影坐标系

revertRC Boolean

是否颠倒行列号


<static> washPts(aPt)

把重复的点删除掉

Parameters:
Name Type Description
aPt Cartesian3

点组