画动态爱心(Python-matplotlib)

 介绍

氵而已

由于用的是 AI,注释得非常清楚,自己改改也可以用

代码

# -*- coding: utf-8 -*-
# Environment    PyCharm
# File_name   尝试1 |User    Pfolg
# 2024/11/05 22:45
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation# 定义心形的参数方程
color = "#F9A6FF"
t = np.linspace(0, 2 * np.pi, 1000)
x = 16 * np.sin(t) ** 3
y = 13 * np.cos(t) - 5 * np.cos(2 * t) - 2 * np.cos(3 * t) - np.cos(4 * t)
# 设置轴的标签
fig, ax = plt.subplots()
ax.set_aspect('equal')  # 设置x和y轴的比例相同
ax.set_xlabel('埃克斯', fontproperties="SimHei", fontsize=16)
ax.set_ylabel('歪', fontproperties="SimHei", fontsize=16)
ax.set_title('', fontproperties='SimHei', fontsize=16)
# # 关闭坐标轴
ax.axis('off')
# 绘制初始心形
line, = ax.plot(x, y, color=color)
# 设置轴的范围
ax.set_xlim(min(x) - 5, max(x) + 5)
ax.set_ylim(min(y) - 5, max(y) + 5)
# 设置爱心中间文本
ax.text(0, 0, 'heart'.upper(), fontsize=20, ha='center', va='center', color=color)# 定义一个缓动函数
def ease_in_out(t):return (np.sin(np.pi * t - np.pi / 2) + 1) / 2# 初始化函数
def init():line.set_data([], [])return line,# 动画函数
# def animate(i):
#     # 模拟跳动效果,通过改变心形的大小
#     scale = 1 + 0.3 * np.sin(2 * np.pi * i / 20)
#     line.set_data(x * scale, y * scale)
#     return line,
def animate(i):# 使用缓动函数来模拟更自然的跳动scale = 1 + 0.3 * ease_in_out(i / 20)line.set_data(x * scale, y * scale)return line,# 设置视频的时长和帧率
T = 10  # 视频时长为2秒
fps = 30  # 帧率为30帧每秒# 计算总帧数
frames = int(T * fps)
# 创建动画
ani = animation.FuncAnimation(fig, animate, init_func=init, frames=frames, interval=50, blit=True
)# 显示动画
plt.show()# 保存动画为GIF文件
# ani.save('sine_wave.gif', writer='imagemagick')# 如果你安装了FFmpeg,也可以保存为MP4文件
ani.save('sine_wave.mp4', writer='ffmpeg', fps=20)

FFmpegicon-default.png?t=O83Ahttps://ffmpeg.org/

效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/4476.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

理解 WordPress | 第五篇:页面构建器选择指南

WordPress 专题致力于从 0 到 1 搞懂、用熟这种可视化建站工具。 第一阶段主要是理解。 第二阶段开始实践个人博客、企业官网、独立站的建设。 如果感兴趣,点个关注吧,防止迷路。 什么是 WordPress 构建器 WordPress 构建器(Page Builder&am…

硬件基础07 功率放大器

一、功放理论 在多级放大电路中,输出信号往往要送去驱动—定的装置。例如,这类装置包括收音机中扬声器的音圈、电动机的控制绕组等。多级放大电路除了应有电压放大级外,还要求有一个能输出一定信号功率的输出级。这类主要用于向负载提供功率的…

敬业签适配鸿蒙:开启多端协同新篇章

纯血鸿蒙,即华为推出的原生鸿蒙操作系统(HarmonyOS Next),是一款面向全场景的分布式操作系统,它以其独特的微内核设计和多设备协同能力,引领着智能终端的新潮流。鸿蒙系统的推出,不仅标志着中国…

Matlab车牌识别课程设计报告模板(附源代码)

目 录 一.课程设计目的……………………………………………3 二.设计原理…………………………………………………3 三.详细设计步骤……………………………………………3 四. 设计结果及分析…………………………………………18 五. …

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 上传一个1.php,被拦截 在1.p…

用qrcode和pyzbar分别生成和解码二维码

我用的是anaconda环境,在anaconda命令行下,用pip分别安装以下库文件: pip install opencv-python pip install numpy pip install pillow pip install myqr pip install qrcode pip install zxing 生成二维码 打开pycharm&#xff0c…

软件测试学习笔记丨Vue学习笔记-基本介绍

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/23458 编译器使用:VScode 推荐插件 JavaScript (ES6) code snippets:包含 ES6 语法中的 JS 代码段Vetur:VSCode 支持 VUE 的工具Auto Close Tag&#xff…

【简历】25届江西某一本大学JAVA简历:不能把大厂的技能写到中厂上

注:为保证用户信息安全,姓名和学校等信息已经进行同层次变更,内容部分细节也进行了部分隐藏 校招的第一法则就是必须要确定校招层次。 开发岗分为大中小厂,不同的层次对学校背景、时间点、项目和考点的要求都不太一样&#xff0c…

微信订阅消息

一、订阅消息模板 进入微信小程序平台,开通订阅消息后进行模板申请 1.申请后得到模板id 2.直接在数据库中插入模板 二、创建订阅消息模板参数类 1.进入相关目录,创建订阅消息发送参数模板类,类属性根据模板的详细类容进行设置 2.在相应…

Vue3 + Element Plus简单使用案例及【eslint】报错处理

本电脑Vue环境已安装正常使用 博主使用npm 包管理器安装 Element Plus.有问题评论区帮忙指正,感谢阅读. 在完成的过程中如果遇到eslint报错 Parsing error :Unexpected token { eslint 这个报错,也可以尝试第7部分报错处理解决。 目录 1.新建项目 2…

MySQL索引、B+树相关知识总结

MySQL索引、B树相关知识汇总 一、有一个查询需求,MySQL中有两个表,一个表1000W数据,另一个表只有几千数据,要做一个关联查询,如何优化?1、为关联字段建立索引2、小表驱动大表 二、b树和b树的区别1、更高的查…

AI绘画凉了吗?都快2025年了你还没搭上AI这一便车吗?

在科技飞速发展的今天,AI 绘画如同一场绚丽的艺术风暴,席卷了整个创意领域。它以其独特的魅力和强大的功能,为艺术家、设计师以及普通爱好者们带来了前所未有的创作体验。 在数字化时代的浪潮下,人工智能(AI)技术正以前所未有的速…

常见 CSS 选择器用法

"Be Your Own Hero" CSS选择器是一种模式&#xff0c;用于选择需要应用CSS样式的HTML元素。以下是一些基本的CSS选择器类型&#xff1a; 1.标签选择器 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8">&…

AIDD - 分子药物发现的计算方法现状总结

分子药物发现的计算方法现状总结 01 引言 药物发现的流程近年来因计算技术的飞速进步而发生了深刻变革。**计算辅助药物设计&#xff08;CADD, Computer-Aided Drug Design&#xff09;和人工智能驱动药物发现&#xff08;AIDD, Artificial Intelligence-Driven Drug Discover…

机器学习—代码中的推理

TensorFlow是实现深度学习算法的领先框架之一&#xff0c;另一个流行的工具是圆周率火炬&#xff0c;在这篇文章中&#xff0c;我们专注于张量流&#xff0c;那么如何在代码中实现推理&#xff1f; 让我们深入了解神经网络的一个非凡之处&#xff0c;同样的算法可以应用于这么…

Java基于微信小程序的私家车位共享系统(附源码,文档)

博主介绍&#xff1a;✌stormjun、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&…

java 基础常用知识点

Object 1、getClass()返回对象的运行时类的 Class 对象,可以用于反射操作。 //native修饰的方法&#xff0c;调用系统方法&#xff0c;通常由C或C语言实现 public final native Class<?> getClass();2、hashCode()返回对象的哈希码&#xff0c;用于在哈希表中定位对象 …

基于长短期记忆网络(LSTM)的时间序列数据预测,15个输入1个输出,可以更改数据集,MATLAB代码

1. 数据收集与预处理 数据清洗&#xff1a;处理缺失值、异常值等。特征工程&#xff1a;提取有助于预测的特征。数据标准化&#xff1a;将时间序列数据标准化&#xff0c;使其具有零均值和单位方差&#xff0c;有助于模型训练。滑动窗口划分&#xff1a;将时间序列数据划分为多…

【Java Web】搭建Web环境以及初识JSP Tomcat

文章目录 程序架构Web服务器TomcatJSP概述主要特点基本语法综合示例程序调试和排错 代码示例 程序架构 C/S&#xff08;Client/Server&#xff0c;客户端/服务器&#xff09;和 B/S&#xff08;Browser/Server&#xff0c;浏览器/服务器&#xff09;是两种常见的软件系统架构模…

Qt多边形填充/不填充绘制

1 填充多边形绘制形式 void GraphicsPolygonItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {Q_UNUSED(option);Q_UNUSED(widget);//painter->setPen(pen()); // 设置默认画笔//painter->setBrush(brush()); // 设置默…