妖怪在关卡中来回巡逻——它的轨迹是一条正弦曲线 🌊 这就是三角函数 y = Asin(ωx+φ)
妖怪在关卡中沿正弦曲线巡逻。观察:振幅 A决定巡逻范围,角频率 ω决定巡逻快慢。
先点「▶ 开始巡逻」,再切换振幅。⚠️ 注意看妖怪的活动范围如何变化!
| x | y | 相位 |
|---|
刚才的妖怪巡逻游戏中,我们观察了周期性运动。你发现了什么?
人教版必修第一册(P178):
函数 y = Asin(ωx + φ)(A > 0, ω > 0)叫做正弦型函数。其中:
• A 叫做振幅:决定波峰到波谷的距离
• ω 叫做角频率:决定周期 T = 2π/ω
• φ 叫做初相:决定图象的左右平移
正弦函数就是「圆周运动在一条直线上的投影」。妖怪的巡逻轨迹,就是匀速圆周运动的投影。
在炸弹人游戏中,妖怪的巡逻就是周期函数的典型例子—— 它的位置随时间周期性变化,永远不会停止,永远不会超出范围。
在正弦函数 y = Asin(ωx + φ) 中,三个参数分别控制图象的形状。 拖动滑块,观察图象如何变化。
把 ω 调到 2,周期缩短为 π≈3.14,妖怪巡逻速度翻倍!把 φ 调到 π/2,图象左移,妖怪从最高点开始巡逻。
import math def sine_wave(x, A=1, omega=1, phi=0): """正弦型函数 y = Asin(ωx + φ)""" return A * math.sin(omega * x + phi) # 计算特殊点的值 print(sine_wave(0)) # 0.0 print(sine_wave(math.pi/2)) # 1.0 print(sine_wave(math.pi)) # 0.0 # 不同振幅 print(sine_wave(math.pi/2, A=3)) # 3.0 # 周期 T = 2π/ω omega = 2 T = 2 * math.pi / omega print(f'周期 T = {T:.2f}') # 周期 T = 3.14
0.0 1.0 0.0 3.0 周期 T = 3.14
import numpy as np import matplotlib.pyplot as pt x = np.linspace(0, 4*np.pi, 300) for A, w in [(1,1), (2,1), (1,2)]: y = A * np.sin(w * x) pt.plot(x, y, label=f'A={A},ω={w}') pt.axhline(0, color='k', lw=0.5) pt.legend() pt.savefig('sine_waves.png')