用Python绘制动态小猪佩奇

文摘   2024-10-07 20:06   北京  

在现代编程语言中,Python因其简洁的语法和强大的库支持而备受青睐。特别是在数据可视化和图形绘制领域,Matplotlib库以其丰富的功能和灵活性成为了开发者们的首选工具。本文将通过一个实际的编程示例,展示如何使用Python和Matplotlib库绘制一个经典动画形象——小猪佩奇。

通过Ellipse 和 Circle 对象,我们可以轻松地绘制出小猪佩奇的基本特征,如头部、耳朵、眼睛、鼻子和嘴巴。

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Arc, Circle, Ellipse
# 创建图形和坐标轴fig, ax = plt.subplots()ax.set_xlim(-2, 2)ax.set_ylim(-2, 2)ax.set_aspect('equal')ax.axis('off')
# 绘制头部head = Ellipse((0, 0), 2, 1.5, color='pink', ec='black', lw=2)ax.add_patch(head)
# 绘制两个耳朵left_ear = Ellipse((-0.7, 0.6), 0.3, 0.5, angle=45, color='pink', ec='black', lw=2)right_ear = Ellipse((0.7, 0.6), 0.3, 0.5, angle=-45, color='pink', ec='black', lw=2)ax.add_patch(left_ear)ax.add_patch(right_ear)
# 绘制眼睛left_eye = Circle((-0.35, 0.2), 0.1, color='white', ec='black', lw=2)right_eye = Circle((0.35, 0.2), 0.1, color='white', ec='black', lw=2)ax.add_patch(left_eye)ax.add_patch(right_eye)
# 瞳孔left_pupil = Circle((-0.35, 0.2), 0.05, color='black')right_pupil = Circle((0.35, 0.2), 0.05, color='black')ax.add_patch(left_pupil)ax.add_patch(right_pupil)
# 绘制鼻子nose = Ellipse((0, -0.2), 0.6, 0.4, color='pink', ec='black', lw=2)ax.add_patch(nose)
# 鼻孔left_nostril = Circle((-0.1, -0.2), 0.05, color='black')right_nostril = Circle((0.1, -0.2), 0.05, color='black')ax.add_patch(left_nostril)ax.add_patch(right_nostril)
# 定义嘴巴mouth_arc = Arc((0, -0.35), 0.5, 0.3, theta1=0, theta2=180, color='black', lw=2)ax.add_patch(mouth_arc)
plt.show()

我们利用 FuncAnimation 函数来创建动画。通过在每一帧中更新眼睛的位置或鼻子的角度,我们可以模拟小猪佩奇不同的表情或动作。

from matplotlib.animation import FuncAnimation
def update(frame): # 示例:让眼睛眨动 if frame % 10 < 5: left_eye.set_radius(0.05) right_eye.set_radius(0.05) else: left_eye.set_radius(0.1) right_eye.set_radius(0.1) return left_eye, right_eye,
# 创建动画ani = FuncAnimation(fig, update, frames=np.arange(0, 100), interval=50, blit=True)
# 展示动画plt.show()

通过这个简单的示例,我们展示了如何使用Python和Matplotlib库实现一个基本的动画效果。

如果喜欢这篇文章,请点下方在看,

后续推荐更多类似文章

日常运维文档
多做实验,少做自己!分享一些日常运维和学习文档,欢迎大家一起交流。
 最新文章