返回用弧度指定的角度的正弦。
float sin(float number)
number 是需要其正弦的角度(以弧度为单位)。
对于任何直角三角形,角度的正弦为以下比率:
正弦比率仅取决于角度的大小,而不取决于三角形的大小。该固定比率称为角度测量的正弦。
正弦比率是 -1 和 1 之间的值。
在稳定增大或减小参数时,sin 函数将返回在 -1 和 1 之间稳定增大或减小的值。这用于在属性值中创建有节奏的摆动更改。
例如,可以使用 sin 函数来操纵:
float $pi = 3.1415927; sin($pi/2)
返回 1,即 π/2 弧度的正弦。
Ball.translateY = sin(Ball.translateX);
该语句将球的 translateY 属性设定为其 translateX 属性的正弦。如果沿 X 轴拖动球,则球的 translateY 位置将在循环图案中上下移动:
若要按上例的路径为球设置动画,请使用以下表达式:
Ball.translateX = time; Ball.translateY = sin(Ball.translateX);
球从原点开始,并按递增的动画时间设定的速率在 X 方向上移动。其 Y 平移按 sin 函数的返回值循环地上下移动。sin 函数使用 translateX 并因而间接使用时间作为其参数。
随着时间从 0 增加到 6.283 秒,sin 函数返回的值以细小增量从 0 更改为 1,又更改为 -1,最后更改为 0。值 6.283 是 π 值的 2 倍。生成的运动类似于水平的 S 形:
随着时间增加超过 6.283 秒,将为每个 6.283 秒跨度重复相同的 S 形循环。
该表达式为球设置具有较大上下摆动的动画:
Ball.translateX = time; Ball.translateY = sin(Ball.translateX) * 2;
通过使 sin (Ball.translateX) 乘以大于 1 的数,可以增加正弦波形图案的振幅。振幅是波形的最小值和最大值之间的距离的一半。
可以通过乘以小于 1 的数(例如,0.5)来减少正弦波形的振幅。
该表达式增加正弦波形完成循环的频率:
Ball.translateX = time; Ball.translateY = sin(Ball.translateX * 2);
通过使 Ball.translateX 乘以大于 1 的数,可以增加正弦波形图案的频率。频率是波形进行一个完整的循环所需的时间。
可以通过乘以一个小于 1 的数(例如,0.5)来降低正弦波形的频率。该数称为频率倍增,因为将以该倍增提高(或降低)正弦图案的频率。
该表达式使波形图案沿 Y 轴向上偏移:
Ball.translateX = time; Ball.translateY = sin(Ball.translateX) + 2;
通过使 sin (Ball.translateX) 加上 2,波形图案从 Y 轴上较高位置开始。当然,也可以减去一个数来使波形图案向 Y 轴上较低位置偏移。
以下表达式在单个语句中设定正弦图案的频率倍增、振幅和偏移:
Ball.translateX = time; Ball.translateY = (sin(Ball.translateX * 2) * 2) + 2;
下图显示了哪些值设定频率倍增、振幅和偏移。
显示可用于创建正弦波形图案的系数的常规等式如下所示: