吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 680|回复: 26
上一主题 下一主题
收起左侧

[Python 原创] 使用python绘制蝴蝶函数

[复制链接]
跳转到指定楼层
楼主
矢岛舞美 发表于 2024-11-14 13:03 回帖奖励

[Python] 纯文本查看 复制代码
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.animation import FuncAnimation
import tkinter as tk

# 定义函数
def r(theta):
    return (np.exp(np.sin(theta))
            - 2 * np.cos(4 * theta)
            + np.sin((2 * theta - np.pi) / 24) ** 5)

# 创建 Tkinter 窗口
root = tk.Tk()
root.title("动态绘制极坐标图")

# 创建 Matplotlib 图形
fig, ax = plt.subplots(subplot_kw={'projection': 'polar'}, figsize=(6, 6))
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().pack()

# 初始化图形
line, = ax.plot([], [], color='red')
ax.set_facecolor('white')
ax.set_title(r'$r = e^{\sin\theta} - 2\cos4\theta + \sin^5\left(\frac{2\theta - \pi}{24}\right)$', va='bottom')

# 创建 theta 的值
theta = np.linspace(0, 24 * np.pi, 5000)

# 初始化函数
def init():
    line.set_data([], [])
    return line,

# 更新函数
def update(frame):
    current_theta = theta[:frame]
    current_r = r(current_theta)
    line.set_data(current_theta, current_r)
    ax.set_ylim(0, np.max(current_r) + 1)  # 动态调整 y 轴范围
    return line,

# 创建动画
ani = FuncAnimation(fig, update, frames=np.arange(1, len(theta)), init_func=init, blit=True, interval=1)

# 运行 Tkinter 主循环
root.mainloop()

免费评分

参与人数 7吾爱币 +9 热心值 +6 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
squner + 1 + 1 用心讨论,共获提升!
Malachite + 1 用心讨论,共获提升!
jiash + 1 谢谢@Thanks!
Jfg1988 + 1 谢谢@Thanks!
PromiseWM + 1 谢谢@Thanks!
matatron + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
ZnOSpin 发表于 2024-11-17 12:24
本帖最后由 ZnOSpin 于 2024-11-17 12:27 编辑

用MATLAB试验了一下:
a=linspace(0,24*pi,5000);
b=exp(sin(a))-2*cos(4*a)+sin((2*a-pi)/24).^5;
b(b<0)=0;
polarplot(a,b,'r')
title('$r=e^{sin(a)}-2cos(4a)+sin^5\left(\frac{2a-\pi}{24}\right)$','Interpreter','latex')
若允许矢径r为负则得左图,若不允许矢径为负则通过b(b<0)=0得右图
(好久没碰高数了,玩得我想一探究竟该函数有没有周期或极限)

蝶形函数.png (87.49 KB, 下载次数: 0)

蝶形函数.png
推荐
晓渡寒沙 发表于 2024-11-14 14:33
https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl
https://files.pythonhosted.org/packages/c0/1e/b24a07a849c8d458f1b3724f49029f0dedf748bdedb4d5f69491314838b6/matplotlib-3.7.5-cp38-cp38-win32.whl
我又装了两个
沙发
zxhy85 发表于 2024-11-14 13:13
3#
woshidai 发表于 2024-11-14 13:25
厉害学习学习
4#
you1202 发表于 2024-11-14 13:45
学习中 感谢
5#
nitian0963 发表于 2024-11-14 13:56
厉害了学习了
6#
March0308 发表于 2024-11-14 14:08
厉害厉害
7#
aahong 发表于 2024-11-14 14:11
厉害了学习了,感谢分享
8#
enze999 发表于 2024-11-14 14:15
学习了!!!
9#
Mocun 发表于 2024-11-14 14:17
哇塞,很厉害哦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 14:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表