正弦波公式:
ƒ(x) = a * sin(x + x0) + b
公式中:
a: 决定正弦函数振动幅度的大小;
x0:表示x开始比0拖后的弧度值;
b:表示函数偏离X轴的距离;
对于难以理解的学生来说,可以用动画把这个公式直观的展现出来。
在kimi中输入提示词:
你是一个Python编程专家,完成如下Python脚本的编写:
用GIF、numpy和matplotlib这三个库生成一个关于正弦波函数的gif动画;
GIF图片保存到F盘;
注意:每一步都要输出相关信息到屏幕上
Kimi生成的源代码:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
from PIL import Image
import os
设置GIF保存路径
save_path = 'F:\\sin_wave.gif'
检查路径是否存在,如果不存在则创建
if not os.path.exists(os.path.dirname(save_path)):
os.makedirs(os.path.dirname(save_path))
print(f'目录 {os.path.dirname(save_path)} 已创建。')
初始化绘图
fig, ax = plt.subplots()
x = np.linspace(0, 2 * np.pi, 1000)
y = np.sin(x)
ln, = plt.plot(x, y, 'r-') # 'r-' 表示红色线条
def update(frame):
y = np.sin(2 * np.pi * frame * 0.5 + x)
ln.set_ydata(y)
return ln,
创建动画
ani = FuncAnimation(fig, update, frames=np.linspace(0, 2, 60),
blit=True, interval=50)
保存动画为GIF
ani.save(save_path, writer='imagemagick', fps=10)
print(f'GIF 动画已保存到 {save_path}')
关闭绘图
plt.close()