SAdefault

数学 Math

数学 / 随机 / 位运算

sa · 扩展 default · SCM 原生命令

共 38 条。写法见 Lua / Redux

全局整型绝对值

ABS_VAR_INT · 0094
Math.Abs

全局整型取绝对值(就地)。

0094 ABS_VAR_INT
out: number

局部整型绝对值

ABS_LVAR_INT · 0095
Math.Abs

局部整型取绝对值(就地)。

0095 ABS_LVAR_INT
out: number

全局浮点绝对值

ABS_VAR_FLOAT · 0096
Math.Abs

全局浮点取绝对值(就地)。

0096 ABS_VAR_FLOAT
out: number

局部浮点绝对值

ABS_LVAR_FLOAT · 0097
Math.Abs

局部浮点取绝对值(就地)。

0097 ABS_LVAR_FLOAT
out: number

随机浮点

GENERATE_RANDOM_FLOAT · 0098
Math.Random

随机浮点 [0.0, 1.0)

0098 GENERATE_RANDOM_FLOAT
out: float

随机整型

GENERATE_RANDOM_INT · 0099
Math.Random

随机整型 0..32767

0099 GENERATE_RANDOM_INT
out: int

平方根

SQRT · 01FB
Math.Sqrt

平方根。

01FB SQRT
in: num
out: result

区间随机浮点

GENERATE_RANDOM_FLOAT_IN_RANGE · 0208
Math.RandomFloatInRange

区间内随机浮点,含 min/max。

0208 GENERATE_RANDOM_FLOAT_IN_RANGE
in: min, max
out: result

区间随机整型

GENERATE_RANDOM_INT_IN_RANGE · 0209
Math.RandomIntInRange

区间内随机整型,含 min、不含 max。

0209 GENERATE_RANDOM_INT_IN_RANGE
in: min, max
out: result

正弦

SIN · 02F6
Math.Sin

正弦(角)。

02F6 SIN
in: angle
out: result

余弦

COS · 02F7
Math.Cos

余弦(角)。

02F7 COS
in: angle
out: result

米转英尺

CONVERT_METRES_TO_FEET · 0425
Math.ConvertMetersToFeet

米 → 英尺(浮点)。

0425 CONVERT_METRES_TO_FEET
in: meters
out: feet

米转英尺整型

CONVERT_METRES_TO_FEET_INT · 042D
Math.ConvertMetersToFeet

米 → 英尺(整型)。

042D CONVERT_METRES_TO_FEET_INT
in: meters
out: feet

2D 距离

GET_DISTANCE_BETWEEN_COORDS_2D · 0509
Math.GetDistanceBetweenCoords2D

两点 2D 距离。

0509 GET_DISTANCE_BETWEEN_COORDS_2D
in: fromX, fromY, toX, toZ
out: distance

3D 距离

GET_DISTANCE_BETWEEN_COORDS_3D · 050A
Math.GetDistanceBetweenCoords3D

两点 3D 距离。

050A GET_DISTANCE_BETWEEN_COORDS_3D
in: fromX, fromY, fromZ, toX, toY, toZ
out: distance

2D 向量夹角

GET_ANGLE_BETWEEN_2D_VECTORS · 05A4
Math.GetAngleBetween2DVectors

两 2D 向量夹角。

05A4 GET_ANGLE_BETWEEN_2D_VECTORS
in: x1, y1, x2, y2
out: angle

2D 矩形相交

DO_2D_RECTANGLES_COLLIDE · 05A5
Math.Do2DRectanglesCollide

用在 if:两 2D 矩形是否相交/包含。

05A5 DO_2D_RECTANGLES_COLLIDE
in: rectangle1PositionX, rectangle1PositionY, rectangle1SizeX, rectangle1SizeY, rectangle2PositionX, rectangle2PositionY, rectangle2SizeX, rectangle2SizeY

2D 线段交点

GET_2D_LINES_INTERSECT_POINT · 05B0
Math.Get2DLinesIntersectPoint

两线段交点;不相交时返回 -1000000.0 且条件假。

05B0 GET_2D_LINES_INTERSECT_POINT
in: line1StartX, line1StartY, line1EndX, line1EndY, line2StartX, line2StartY, line2EndX, line2EndY
out: intersectPointX, intersectPointY

向量朝向角

GET_HEADING_FROM_VECTOR_2D · 0604
Math.GetHeadingFromVector2D

XY 偏移换朝向角。

0604 GET_HEADING_FROM_VECTOR_2D
in: x, y
out: heading

角度归一

LIMIT_ANGLE · 0656
Math.LimitAngle

角度归一到有效范围。

0656 LIMIT_ANGLE
in: value
out: result

位是否置位 全局·常量

IS_GLOBAL_VAR_BIT_SET_CONST · 08B4
Math.IsBitSet

用在 if:数的第 n 位是否置位(全局·常量位)。

08B4 IS_GLOBAL_VAR_BIT_SET_CONST
in: number, bitIndex

位是否置位 全局·变量

IS_GLOBAL_VAR_BIT_SET_VAR · 08B5
Math.IsBitSet

用在 if:数的第 n 位是否置位(全局·变量位)。

08B5 IS_GLOBAL_VAR_BIT_SET_VAR
in: number, bitIndex

位是否置位 全局·局部

IS_GLOBAL_VAR_BIT_SET_LVAR · 08B6
Math.IsBitSet

用在 if:数的第 n 位是否置位(全局·局部位)。

08B6 IS_GLOBAL_VAR_BIT_SET_LVAR
in: number, bitIndex

位是否置位 局部·常量

IS_LOCAL_VAR_BIT_SET_CONST · 08B7
Math.IsBitSet

用在 if:数的第 n 位是否置位(局部·常量位)。

08B7 IS_LOCAL_VAR_BIT_SET_CONST
in: number, bitIndex

位是否置位 局部·变量

IS_LOCAL_VAR_BIT_SET_VAR · 08B8
Math.IsBitSet

用在 if:数的第 n 位是否置位(局部·变量位)。

08B8 IS_LOCAL_VAR_BIT_SET_VAR
in: number, bitIndex

位是否置位 局部·局部

IS_LOCAL_VAR_BIT_SET_LVAR · 08B9
Math.IsBitSet

用在 if:数的第 n 位是否置位(局部·局部位)。

08B9 IS_LOCAL_VAR_BIT_SET_LVAR
in: number, bitIndex

置位 全局·常量

SET_GLOBAL_VAR_BIT_CONST · 08BA
Math.SetBit

置第 n 位(全局·常量位)。

08BA SET_GLOBAL_VAR_BIT_CONST
in: number, bitIndex

置位 全局·变量

SET_GLOBAL_VAR_BIT_VAR · 08BB
Math.SetBit

置第 n 位(全局·变量位)。

08BB SET_GLOBAL_VAR_BIT_VAR
in: number, bitIndex

置位 全局·局部

SET_GLOBAL_VAR_BIT_LVAR · 08BC
Math.SetBit

置第 n 位(全局·局部位)。

08BC SET_GLOBAL_VAR_BIT_LVAR
in: number, bitIndex

置位 局部·常量

SET_LOCAL_VAR_BIT_CONST · 08BD
Math.SetBit

置第 n 位(局部·常量位)。

08BD SET_LOCAL_VAR_BIT_CONST
in: number, bitIndex

置位 局部·变量

SET_LOCAL_VAR_BIT_VAR · 08BE
Math.SetBit

置第 n 位(局部·变量位)。

08BE SET_LOCAL_VAR_BIT_VAR
in: number, bitIndex

置位 局部·局部

SET_LOCAL_VAR_BIT_LVAR · 08BF
Math.SetBit

置第 n 位(局部·局部位)。

08BF SET_LOCAL_VAR_BIT_LVAR
in: number, bitIndex

清位 全局·常量

CLEAR_GLOBAL_VAR_BIT_CONST · 08C0
Math.ClearBit

清第 n 位(全局·常量位)。

08C0 CLEAR_GLOBAL_VAR_BIT_CONST
in: number, bitIndex

清位 全局·变量

CLEAR_GLOBAL_VAR_BIT_VAR · 08C1
Math.ClearBit

清第 n 位(全局·变量位)。

08C1 CLEAR_GLOBAL_VAR_BIT_VAR
in: number, bitIndex

清位 全局·局部

CLEAR_GLOBAL_VAR_BIT_LVAR · 08C2
Math.ClearBit

清第 n 位(全局·局部位)。

08C2 CLEAR_GLOBAL_VAR_BIT_LVAR
in: number, bitIndex

清位 局部·常量

CLEAR_LOCAL_VAR_BIT_CONST · 08C3
Math.ClearBit

清第 n 位(局部·常量位)。

08C3 CLEAR_LOCAL_VAR_BIT_CONST
in: number, bitIndex

清位 局部·变量

CLEAR_LOCAL_VAR_BIT_VAR · 08C4
Math.ClearBit

清第 n 位(局部·变量位)。

08C4 CLEAR_LOCAL_VAR_BIT_VAR
in: number, bitIndex

清位 局部·局部

CLEAR_LOCAL_VAR_BIT_LVAR · 08C5
Math.ClearBit

清第 n 位(局部·局部位)。

08C5 CLEAR_LOCAL_VAR_BIT_LVAR
in: number, bitIndex

On this page