Python教程之绘制Mandelbrot集合

栏目: Python · 发布时间: 5年前

内容简介:一. 分形与混沌自然界的很多事物,如树木、云彩、山脉、雪花、海岸线等,都呈现出传统几何学所不能描述的形状,这些形状都有如下的特性:二. Mandelbrot集合

一. 分形与混沌

自然界的很多事物,如树木、云彩、山脉、雪花、海岸线等,都呈现出传统几何学所不能描述的形状,这些形状都有如下的特性:

  • 有着十分精细的不规则结构
  • 整体与局部相似
分形与混沌的关系密切,多是以自组织系统为其研究对象,而含义又各不相同。自组织现象常常是时空有序的结构,是复杂的系统,用传统的简化方法无法解决。分形几何学就是用来研究这样一类几何形状的科学,混沌中有时包容着分形,而分形有时又孕育着混沌。分形更注重形态或几何特性、图形的描述;混沌更偏重数理的动力学及动力学与图形结合的多方位的描述和研究。分形更看重有自相似性的系统,而混沌涉及面似乎更广,对所有的有序与无序、有序与有序现象都感兴趣。

二. Mandelbrot集合

Mandelbrot(曼德布洛特)集合是在复平面上组成分形的点的集合。Mandelbrot集合可以用下面的复二次多项式定义:

Python教程之绘制Mandelbrot集合 其中c是一个复数。对于每一个c,从z=0开始对函数 Python教程之绘制Mandelbrot集合 进行迭代。序列 Python教程之绘制Mandelbrot集合 的值或者延伸到无限大,或者只停留在有限半径的圆盘内。Mandelbrot集合就是使以上序列不发散的所有c点的集合。用程序绘制Mandelbrot集合时不能进行无限次迭代,最简单的方法是使用逃逸时间(迭代次数)进行绘制,具体算法如下:

  • 判断每次调用函数 Python教程之绘制Mandelbrot集合 得到的结果是否在半径R之内,即复数的模小于R
  • 记录下模大于R时的迭代次数
  • 迭代最多进行N次
  • 不同的迭代次数的点使用不同的颜色绘制

三. Mandelbrot程序

import numpy as np
import pylab as pl
import time
from matplotlib import cm
def iter_point(c):
    z=c
    for i in range(1,100):
        if abs(z)>3: break
        z=z*z+c
    return i
def draw_mandelbrot(cx,cy,d):
    x0,x1,y0,y1=cx-d,cx+d,cy-d,cy+d
    y,x=np.ogrid[y0:y1:200j,x0:x1:200j]
    c=x+y*1j
    start=time.clock()
    mandelbrot=np.frompyfunc(iter_point,1,1)(c).astype(np.float)
    print ("time="),time.clock()-start
    pl.imshow(mandelbrot,cmap=cm.Blues_r,extent=[x0,x1,y0,y1])
    pl.gca().set_axis_off() 
x,y=0.27322626,0.595153338 
pl.subplot(231)
draw_mandelbrot(-0.6,0,1.5)
for i in range(2,7):
    pl.subplot(230+i)
    draw_mandelbrot(x,y,0.2**(i-1))
pl.subplots_adjust(0.02,0,0.88,1,0.01,0)
pl.show()

运行效果如下图:

Python教程之绘制Mandelbrot集合

更多 Python 相关信息见 Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158412.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创新公司

创新公司

[美]艾德·卡特姆、埃米·华莱士 / 靳婷婷 / 中信出版社 / 2015-2 / 49.00元

●《玩具总动员》《海底总动员》《机器人瓦力》《飞屋环游记》等14部脍炙人口的动画长片, 近30次奥斯卡奖, 7部奥斯卡最佳动画长片,7次金球奖; ●几乎每一部电影一上映都位居票房榜首,所有电影都曾进入影史票房总榜前50,每一部电影都是商业与艺术的双赢。 ●即便新兴动画公司不断涌现,皮克斯始终保持动画界的王者之位,这一切背后的秘密就在于:不断推动创新的创意管理方式。 你可以从本书......一起来看看 《创新公司》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具