python matplotlib 画心形线
来源:互联网 发布:nga芙妹淘宝店 编辑:程序博客网 时间:2024/04/29 03:21
心形线的数学表达式
极坐标方程
水平方向: r=a(1-cosθ) 或 r=a(1+cosθ) (a>0)
垂直方向: r=a(1-sinθ) 或 r=a(1+sinθ) (a>0)
直角坐标方程
心形线的平面直角坐标系方程表达式分别为 x^2+y^2+a*x=a*sqrt(x^2+y^2) 和 x^2+y^2-a*x=a*sqrt(x^2+y^2)
参数方程
x=a*(2*cos(t)-cos(2*t))
y=a*(2*sin(t)-sin(2*t))
所围面积为3/2*PI*a^2,形成的弧长为8a
直接生成心形线的python代码:
# coding:utf-8__author__ = 'taohao'import matplotlib.pyplot as pltfrom matplotlib import animationimport numpy as npimport mathdef drawHeart(): t = np.linspace(0, math.pi, 1000) x = np.sin(t) y = np.cos(t) + np.power(x, 2.0/3) plt.plot(x, y, color='red', linewidth=2, label='h') plt.plot(-x, y, color='red', linewidth=2, label='-h') plt.xlabel('t') plt.ylabel('h') plt.ylim(-2, 2) plt.xlim(-2, 2) plt.legend() plt.show()drawHeart()
主要用到了matplotlib库来进行图像的绘制
用到的心形线方程是上图所示的方程,使用参数方程的形式来表示
动态生成心形线的python代码
# coding:utf-8__author__ = 'taohao'import matplotlib.pyplot as pltfrom matplotlib import animationimport numpy as npimport mathfigure = plt.figure()axes = plt.axes(xlim=(-2, 2), ylim=(-2, 2))line1, = axes.plot([], [], color='red', linewidth=2, label='1')line2, = axes.plot([], [], color='red', linewidth=2, label='2')def init(): line1.set_data([], []) line2.set_data([], []) return line1, line2def animate(i): print i t = np.linspace(0, i/math.pi, 100) x = np.sin(t) y = np.cos(t) + np.power(x, 2.0/3) line1.set_data(x, y) line2.set_data(-x, y) return line1, line2ani = animation.FuncAnimation(figure, animate, init_func=init, frames=14, interval=200)# ani.save('Heart.mp4') save as mp4 but need to install video-encoder. i did not install it, so this line makes execeptionplt.show()
动态生成,需要制作动画,主要用到了matplotlib中的animation库
0 0
- python matplotlib 画心形线
- python matplotlib
- Python-Matplotlib
- Python matplotlib
- python-matplotlib
- python-matplotlib
- Python matplotlib
- python-matplotlib
- 备忘:python matplotlib
- 绘图: Python matplotlib简介
- python matplotlib相关 dateutil
- 使用Matplotlib与Python
- python之matplotlib学习
- 安装python Matplotlib 库
- python+numpy+matplotlib安装
- python numpy+matplotlib安装
- 使用 python Matplotlib
- python matplotlib.pyplot importerror
- j2me版本的俄罗斯方块写法要点
- FlatUi的简单介绍
- 雍正杀“舅”:握着领导把柄,隆科多必须死?
- JAVA 上加密算法的实现用例
- 简明 Python 编程规范
- python matplotlib 画心形线
- hdu 1269 迷宫城堡(tarjan判连通)
- LintCode-最长公共子串
- HttpServletRequest类的getAttribute()方法与getParameter()方法的区别
- 好东西大家一起分享
- getDimension和getDimensionPixelSize的区别
- Swift字典
- Python——条件分支
- hdu 4324 Triangle LOVE (targan判连通)