lozi混沌映射吸引子,使用python的matplotlib绘制,可以放大和缩小
来源:互联网 发布:淘宝pc转换无线连接 编辑:程序博客网 时间:2024/06/11 18:50
废话不多,需要安装python,和matplotlib、numpy等库,安装不全的,自行安装一下
在windows下测试通过
# -*- coding: utf-8 -*-#需要安装matplotlib、numpy等库才能运行import numpy as npimport pylab as plimport timefrom matplotlib import cmdef iter_point2(x,y): #初始化公式的参数,需要改的话,可以改参数 a = 1 b = 1.75 iter = 0 #初始化迭代次数 for i in xrange(1, 10): iter = i dist = (x*x + y*y) #计算摸长,看是否超过最大限度 dist *= dist #print "dist:" + str(dist) if dist > 200: #如果超出了最大长度,就跳出循环,返回这个迭代次数 break #临时保存一下x和y tempx = x tempy = y #这里是公式 X = a-b|x| + y ; Y = 0.3x; x = a - b*abs(tempx) + tempy y = 0.3*tempx return iter #绘制图形时,以cx,xy为中心,距离为ddef draw_lozi(cx, cy, d): size = 400 x0, x1, y0, y1 = cx-d, cx+d, cy-d, cy+d y, x = np.ogrid[y1:y0:size*1j, x0:x1:size*1j] #使用范围生成数组,后面用这个进行迭代 c = x + y*1j x.shape = -1 #转化成线性数组 y.shape = -1 start = time.clock() lozi = np.ones(c.shape) #遍历每一个点,计算迭代次数,赋值给数组lozi for j in range(0,size): for i in range(0,size): lozi[j][i] = iter_point2(x[i],y[j]) pass print "time=",time.clock() - start #使用数组lozi,绘图, 使用蓝色调色板,显示到图上的坐标范围是x0,x1,y0,y1 pl.imshow(lozi, cmap=cm.Blues_r, extent=[x0,x1,y0,y1]) #不显示横纵坐标 pl.gca().set_axis_off() #刷新画布 pl.show() #鼠标点击触发执行的函数def on_press(event): global g_size print event print dir(event) newx = event.xdata newy = event.ydata print newx print newy #不合理的鼠标点击,直接返回,不绘制 if newx == None or newy == None or event.dblclick == True: return None #不合理的鼠标点击,直接返回,不绘制 if event.button == 1: #button ==1 代表鼠标左键按下, 是放大图像 g_size /= 2 elif event.button == 3: #button == 3 代表鼠标右键按下, 是缩小图像 g_size *= 2 else: return None print g_size draw_lozi(newx,newy,g_size)fig, ax = pl.subplots(1)g_size = 4.5#注册鼠标事件fig.canvas.mpl_connect('button_press_event', on_press)#初始绘制一个图draw_lozi(0,0,g_size)
0 0
- lozi混沌映射吸引子,使用python的matplotlib绘制,可以放大和缩小
- 广义mandelbrot集,使用python的matplotlib绘制,支持放大缩小
- 使用Matplotlib画洛伦兹吸引子
- 混沌图像---陈氏吸引子的飞蛾
- 自定义图可以放大和缩小
- android 实现可以放大缩小的TextView
- 超酷!可以缩小放大的 Viewpager
- 数字图像的放大和缩小
- Bitmap的放大和缩小
- 圆的放大和缩小
- 图片的放大和缩小
- 图片的放大和缩小
- 图片的放大和缩小
- 图片的放大和缩小
- textarea可以放大缩小
- Python:使用matplotlib绘制图表
- Python:使用matplotlib绘制图表
- Python:使用matplotlib绘制图表
- 创建型模式1:单例模式(Singleton Pattern)
- 移动搜索的未来一定不是搜索框
- 动态IP或无公网IP时外网访问内网MYSQL数据库
- Arduino 串口通讯
- 可穿戴设备未来十大趋势
- lozi混沌映射吸引子,使用python的matplotlib绘制,可以放大和缩小
- 基于xmpp openfire smack开发之smack类库介绍和使用
- UITableView告别蛋疼的上拉更新,自动刷新数据。
- 基于xmpp openfire smack开发之Android客户端开发
- 创建型模式2:抽象工厂模式(Abstract Factory)
- 一次搞懂WCF 配置文件
- 基于xmpp openfire smack开发之Android消息推送技术原理分析和实践
- 基于xmpp openfire smack开发之openfire介绍和部署
- c++ 模拟浮点数运算