SACLEO+

数学 Math

噪声、缓动、随机与夹值

sa · 扩展 CLEO+ · 需 CLEO + CLEO+

写法见 Lua / Redux

1D Perlin

PERLIN_NOISE · 0E03
Math.PerlinNoise

1D Perlin simplex 噪声。

0E03 PERLIN_NOISE
in: x
out: result

缓动

EASE · 0E1F
Math.Ease

k(0–1)按 mode / way 做缓动,适合动画。

0E1F EASE
in: k, mode, way
out: result

两点夹角

GET_ANGLE_FROM_TWO_COORDS · 0E27
Math.GetAngleFromTwoCoords

两点平面角。

0E27 GET_ANGLE_FROM_TWO_COORDS
in: x1, y1, x2, y2
out: angle

Perlin fBm

PERLIN_NOISE_FRACTAL · 0E29
Math.PerlinNoiseFractal

1D Perlin 的 fBm 叠加。

0E29 PERLIN_NOISE_FRACTAL
in: x, octaves, frequency, amplitude, lacunarity, persistence
out: result

百分比随机

RANDOM_PERCENT · 0E4D
Math.RandomPercent

percent% 概率为真。用在 if 里。

0E4D RANDOM_PERCENT
in: percent

带种子整数随机

GENERATE_RANDOM_INT_IN_RANGE_WITH_SEED · 0EBC
Math.GenerateRandomIntInRangeWithSeed

[min, max)

0EBC GENERATE_RANDOM_INT_IN_RANGE_WITH_SEED
in: seed, min, max
out: randomInteger

带种子浮点随机

GENERATE_RANDOM_FLOAT_IN_RANGE_WITH_SEED · 0EBD
Math.GenerateRandomFloatInRangeWithSeed

[min, max)

0EBD GENERATE_RANDOM_FLOAT_IN_RANGE_WITH_SEED
in: seed, min, max
out: randomFloat

2D Perlin fBm

PERLIN_NOISE_FRACTAL_2D · 0EF1
Math.PerlinNoiseFractal2D
0EF1 PERLIN_NOISE_FRACTAL_2D
in: x, y, octaves, frequency, amplitude, lacunarity, persistence
out: result

3D Perlin fBm

PERLIN_NOISE_FRACTAL_3D · 0EF2
Math.PerlinNoiseFractal3D
0EF2 PERLIN_NOISE_FRACTAL_3D
in: x, y, z, octaves, frequency, amplitude, lacunarity, persistence
out: result

线性插值

LERP · 0EF3

a + (b-a)*t

0EF3 LERP
in: a, b, t
out: result

浮点夹值

CLAMP_FLOAT · 0EF4
Math.ClampFloat

浮点夹到 [min, max]

0EF4 CLAMP_FLOAT
in: float, min, max
out: clamped

整数夹值

CLAMP_INT · 0EF7
Math.ClampInt

整数夹到 [min, max]

0EF7 CLAMP_INT
in: integer, min, max
out: clamped

On this page