当前位置: 首页 > news >正文

利萨如图形详解:原理与Python动态绘制

一、利萨如图形简介

利萨如图形(Lissajous curve) 是一种由两个正弦波在垂直方向叠加产生的二维曲线,常用于信号处理、振动分析、视觉艺术等领域。

数学表达式:

\left\{\begin{matrix} x(t)=Asin(at+\delta)\\ y(t)=Bsin(bt) \end{matrix}\right.

其中:

  • A,B:振幅(控制图形在 x 和 y 方向的大小)

  • a,b:频率(控制图形的重复次数与形状)

  • δ:相位差(控制图形的旋转或对称性)

二、图形特性分析

  • 当 a:b为简单整数比时,利萨如图形为闭合图案

  • δ=0:图形通常关于 x=y 或 x=-y 对称;

  • 不同的频率比 a:b 会产生不同形状的“花瓣”、“∞”型、椭圆等图形;

  • 改变相位差 δ 会让图形“旋转”或发生对称变化。

三、Python 动态绘制源码

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation# 设置基本参数
A = 1         # x方向振幅
B = 1         # y方向振幅
a = 5         # x方向频率
b = 4         # y方向频率# 时间序列:生成足够平滑的曲线
t = np.linspace(0, 2 * np.pi, 1000)# 创建图形窗口和坐标轴
fig, ax = plt.subplots()
ax.set_aspect('equal')        # 保持 x/y 比例一致
ax.set_xlim(-1.2, 1.2)
ax.set_ylim(-1.2, 1.2)
ax.set_title("Lissajous Curve Animation")
ax.grid(True)# 初始化一条曲线(动态更新的数据)
line, = ax.plot([], [], lw=2, color='blue')# 初始化函数:清空线条
def init():line.set_data([], [])return line,# 动画函数:每一帧更新图像
def animate(i):# i: 帧编号,从 0 到 frames-1# 将相位差 delta 作为动态变化的量delta = 2 * np.pi * i / 100# 计算当前帧的曲线x = A * np.sin(a * t + delta)y = B * np.sin(b * t)# 更新曲线数据line.set_data(x, y)return line,# 创建动画对象
ani = animation.FuncAnimation(fig,             # 图形窗口animate,         # 动画更新函数frames=100,      # 动画帧数init_func=init,  # 初始化函数interval=50,     # 每帧间隔(ms)blit=True        # 启用 blitting 优化
)plt.show()

四 、效果图

http://www.dtcms.com/a/272869.html

相关文章:

  • 数据库常见元数据表
  • .NET Framework 安装失败及异常情况 常用处理方法
  • 【前端】【Echarts】【Liquidfill 水球图】深入理解 ECharts Liquidfill 水球图:从入门到进阶
  • 解决飞牛 NAS 安装 OpenResty时的端口被占用问题!(如何解决飞牛Nas 80 443 端口被占用的问题)
  • C++ 模板参数展开
  • AI测试革命:从智能缺陷检测到自愈式测试框架的工业实践
  • 谷粒商城高级篇
  • 用GNU Radio生成Frank信号
  • Redisson 的分布式锁
  • 动态物体滤除算法
  • 全连接神经网络
  • AI教学设计助手:生成好教案的Prompt技术实战(二)
  • Java中实现线程安全的几种方式
  • 我做了一个在线工具导航网站!
  • Apache
  • 一招解决Win11桌面右键刷新BUG问题!
  • 高通跃龙IoT-IQ系列芯片深度解析:定位、特性与应用全景
  • 智能音视频-搭建可视化智能体
  • 机器学10——集成学习
  • 北京-4年功能测试2年空窗-报培训班学测开-第四十七天
  • 汽车功能安全-软件集成和验证(Software Integration Verification)【目的、验证输入、集成验证要求】9
  • Synopsys 逻辑综合之 MultiBit Flip-Flop 与 ICG
  • 【TCP/IP】9. 域名系统(DNS)
  • Agent自动化与代码智能
  • 【更新至2023年】1998-2023年各地级市第一产业占GDP比重数据(全市)
  • 防爬虫君子协定 Robots.txt 文件
  • jetson agx orin 刷机、cuda、pytorch配置指南【亲测有效】
  • 【AI】人工智能领域关键术语全解析
  • [C#] 使用TextBox换行失败的原因与解决方案:换用RichTextBox的实战经验
  • AI 智能体:开启自动化协作新时代