龙空技术网

圆:circle-sin-cos动画的matplotlib

易三一世 175

前言:

眼前大家对“计算机画圆程序”大致比较着重,各位老铁们都需要分析一些“计算机画圆程序”的相关内容。那么小编在网摘上收集了一些关于“计算机画圆程序””的相关资讯,希望小伙伴们能喜欢,咱们一起来了解一下吧!

1 说明:

======

1.1 环境:python3.8+matplotlib3.2+微软编辑器vscode。

1.2 圆、sin和cos的关系:属于基础性知识,在数学可视化教学和计算机编程中广泛被使用。

1.3 看起来简单,但是提高思维,很重要。

1.4 熟悉matplotlib作图和python编程基础性知识,讲解清楚,小白秒懂,适合普通人、数学爱好者和编程爱好者。

2 效果:

3 代码讲解:

========

3.1 第1步:导入模块

import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animation

3.2 第2步:初始化画布和参数

#整体风格设置:深黑色背景颜色,这种设置比较方便#注意应该放在最前面plt.style.use('dark_background')#画布定义和大小设置:8,4=800和400fig, ax= plt.subplots(1,1,figsize=(8,4))plt.axis('equal')  # 保证长宽相等#x和y坐标刻度范围ax.set_xlim([0, 2*np.pi])ax.set_ylim([-2.5, 2.5])#sin和cos的x和y点坐标x = np.linspace(0, 2*np.pi, 100)ys = np.sin(x)yc = np.cos(x)

3.3 第3步:圆和sin、cos的线条与圆点设置

#3-1 直线#过圆心的水平x线ax.plot(3*x - 3, 0*ys, linewidth=1, color='pink')#圆心垂直y线ax.plot(0*x, 2.5*ys, linewidth=1, color='pink')#运动三个点的起始垂直y线ax.plot(0*x+1, 2.5*ys, linewidth=1, color='blue')#右侧终点垂直y线ax.plot(0*x+7.3, 2.5*ys, linewidth=1, color='blue')#3-2 圆#初始化圆的线条ax.plot(np.cos(x), np.sin(x), linewidth=1,color='white')#运动后的圆的再次覆盖的圆线circleLine, = ax.plot([], [],linewidth=4,color='green',label='circle')#运动的圆的圆点circleDot, = ax.plot([], [], 'o', color='yellow')#3-3 sin#初始化sin的线条ax.plot(x + 1, np.sin(x), linewidth=1,color='yellow')#sin运动后再次覆盖的线条sineLine, = ax.plot([], [], linewidth=4,color='red', label='sin')#sin的运动的圆点sineDot, = ax.plot([], [], 'o', color='blue')#3-4 cos#初始化cos的线条ax.plot(x + 1, np.cos(x)-1, linewidth=1,color='green')#cos运动后再次覆盖的线条cosLine, = ax.plot([], [], linewidth=4,color='pink',label='cos')#cos的运动的圆点cosDot, = ax.plot([], [], 'o', color='red')

3.4 第4步:动画anim设置

def moveAnim(i):    # sin anim    sineLine.set_data(x[:i] + 1,ys[:i])    sineDot.set_data(x[i] + 1, ys[i])    # cos anim    cosLine.set_data(x[:i] + 1,yc[:i]-1)    cosDot.set_data(x[i] + 1, yc[i]-1)    # circle anim    circleLine.set_data(np.cos(x[:i]), np.sin(x[:i]))    circleDot.set_data(np.cos(x[i]), np.sin(x[i]))

3.5 第5步:动画挂起和plt基本设置

#动画挂起anim = animation.FuncAnimation(fig, moveAnim, frames=len(x), interval=50)#标题名plt.title('circle-sin-cos-moving')#plt.grid()  #显示网格#保存#HTML(anim.to_html5_video())#anim.save('sine-py-effect.mp4', writer='ffmpeg')plt.legend() #图例默认展示plt.show() #展示

4 附注:matplotlib版本查询

====================

4.1 代码:

import matplotliba=matplotlib.__version__print(a)

4.2 效果图:

5 画圆的意义:

==========

5.1 钟表的设置。

5.2 傅里叶级数变换。

5.3 数学教学的可视化。

5.4 等等。

满满的干货,请收藏。

标签: #计算机画圆程序