返回用弧度指定的角度的正弦。          

float sin(float number)        

number是需要其正弦的角度(以弧度为单位)。        

对于任何直角三角形,角度的正弦为以下比率:          

正弦比率仅取决于角度的大小,而不取决于三角形的大小。该固定比率称为角度测量的正弦。        

正弦比率是-1和1之间的值。        

在稳定增大或减小参数时,sin函数将返回在-1和1之间稳定增大或减小的值。这用于在属性值中创建有节奏的摆动更改。          

例如,可以使用sin函数来操纵:        

  • 对象的平移属性以创建蛇形运动

  • 身体的比例属性以创建呼吸周期

  • 粒子对象的不透明度或颜色属性以循环颜色或不透明图案

示例 1

float $pi = 3.1415927;
sin($pi/2)

返回1,即π/2弧度的正弦。

示例 2

Ball.translateY = sin(Ball.translateX);

该语句将球的translateY属性设定为其translateX属性的正弦。如果沿X轴拖动球,则球的translateY位置将在循环图案中上下移动:

         

示例 3

若要按上例的路径为球设置动画,请使用以下表达式:

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 形循环。

示例 4

该表达式为球设置具有较大上下摆动的动画:

Ball.translateX = time;
Ball.translateY = sin(Ball.translateX) * 2;

通过使 sin (Ball.translateX) 乘以大于 1 的数,可以增加正弦波形图案的振幅。振幅是波形的最小值和最大值之间的距离的一半。

可以通过乘以小于 1 的数(例如,0.5)来减少正弦波形的振幅。

示例 5

该表达式增加正弦波形完成循环的频率:

Ball.translateX = time;
Ball.translateY = sin(Ball.translateX * 2);

通过使 Ball.translateX 乘以大于 1 的数,可以增加正弦波形图案的频率。频率是波形进行一个完整的循环所需的时间。

可以通过乘以一个小于 1 的数(例如,0.5)来降低正弦波形的频率。该数称为频率倍增,因为将以该倍增提高(或降低)正弦图案的频率。

示例 6

该表达式使波形图案沿 Y 轴向上偏移:

Ball.translateX = time;
Ball.translateY = sin(Ball.translateX) + 2;

通过使sin(Ball.translateX) 加上2,波形图案从Y轴上较高位置开始。当然,也可以减去一个数来使波形图案向 Y 轴上较低位置偏移。

         

示例 7

以下表达式在单个语句中设定正弦图案的频率倍增、振幅和偏移:

Ball.translateX = time;
Ball.translateY = (sin(Ball.translateX * 2) * 2) + 2;

下图显示了哪些值设定频率倍增、振幅和偏移。

显示可用于创建正弦波形图案的系数的常规等式如下所示:

         
,