PI2 (TWO_PI)
PI2 (TWO_PI)
一个代表数学常数 2π (约 6.283) 的高精度浮点数常量,在弧度制中等同于一个完整的圆周 (360°),常用于周期性计算。
核心优势
核心优势在于提升了代码的可读性和意图的明确性。当代码中出现 `PI2` 时,开发者能立即理解其代表“一个完整的周期”或“360度旋转”,比 `PI * 2` 更具语义。同时,它也提供了便利性并避免了运行时的乘法操作。
常见用途
完整周期映射:将 [0, 1] 范围的输入(如 UV 坐标)映射到一个完整的波形周期,例如 `sin(uv.x * PI2)`。
极坐标转换:在从极坐标(角度,距离)转换到笛卡尔坐标时,将归一化的角度乘以 `PI2` 得到完整的旋转弧度。
角度归一化:使用 `mod(angle, PI2)` 将任意角度约束在 [0, 2π) 的范围内,以进行循环处理。
程序化旋转与图案:用于创建围绕一个点的完整旋转动画或生成完整的圆形、环形图案。
如何调整
PI2 是一个由 PI 派生出的数学常数,其值是固定的,不应也无法被调整。它精确地代表了弧度制下的一个完整圆周。
代码示例
1// 将 UV.x 从 [0, 1] 范围映射到一个完整的正弦波周期
2const wave = TSL.sin( uv.x.mul( TSL.PI2 ) );