tan
tan
一个周期性的非线性数学函数,其值在趋于无穷时会发生剧烈突变。非常适合用于生成具有锐利边缘的重复性图案或“跳跃式”的动画效果。
核心优势
能够高效地在 GPU 上程序化生成无限分辨率的视觉内容,尤其擅长利用其函数特性创造出平滑函数难以模拟的、带有锐利边缘或突变效果的图案(如故障艺术、木纹),而无需使用任何纹理贴图。
常见用途
生成锐利的条纹、木纹或故障艺术图案
创建非线性的“跳跃式”顶点位移动画
为 UV 坐标添加奇特的扰动或扭曲效果
如何调整
通过对 `tan` 的输入进行数学运算来调整。乘以一个常数会改变图案的重复频率(疏密);加上一个随时间变化的值(如 `timer()`)则会使图案产生滚动的动画效果。
代码示例
1// 生成一个会重复并剧烈跳变的值。
2// 基于 UV 坐标创建滚动的水平条纹。
3const pattern = tan( uv().y.mul(10).add( timer() ) );