原标题:Python教程之绘制Mandelbrot集合

一. 分形与混沌

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

有着十分精细的不规则结构

整体与局部相似

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

二. Mandelbrot集合

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

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

判断每次调用函数得到的结果是否在半径R之内,即复数的模小于R

记录下模大于R时的迭代次数

迭代最多进行N次

不同的迭代次数的点使用不同的颜色绘制

三. Mandelbrot程序

importnumpy asnp

importpylab aspl

importtime

frommatplotlib importcm

defiter_point(c):

z=c

fori inrange( 1, 100):

ifabs(z)> 3: break

z=z*z+c

returni

defdraw_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)

fori inrange( 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

运行效果如下图:

本文永久更新链接地址:https://www.linuxidc.com/返回搜狐,查看更多

责任编辑:

python绘制分形图形教程_Python教程之绘制Mandelbrot集合相关推荐

  1. Matlab:数学之美--绘制分形图形

    Matlab:数学之美–绘制分形图形 学习最好的动力是兴趣,所以我们先看看效果: 这一篇与Java学习日记:数学之美-分形图形绘制有共同之处,只是所用的工具不同. clear; %不同的参数有不同的图 ...

  2. python绘制分形图形_Python绘制L-System的分形图

    Python绘制L-System的分形图代码及解析. 完整代码如下 # -*- coding: utf-8 -*- #L-System(Lindenmayer system)是一种用字符串替代产生分形 ...

  3. python绘制折线图保存_Python利用matplotlib绘制折线图的新手教程

    前言 matplotlib是Python中的一个第三方库.主要用于开发2D图表,以渐进式.交互式的方式实现数据可视化,可以更直观的呈现数据,使数据更具说服力. 一.安装matplotlib pip i ...

  4. python绘制分形图基础_python绘制分形图

    用Delphi 实现分形图形的绘制 [日期:2006-05-27] 来源: 作者... 基于 VB 的分形图形绘制 尹舸;胡小芳;许华忠 [期刊名称]<网络新媒体技术> [年(卷),期]2 ...

  5. python绘制三维图散点图_python matplotlib模块——绘制三维图形、三维数据散点图...

    分类: 计算机视觉 python matplotlib模块,是扩展的MATLAB的一个绘图工具库.他可以绘制各种图形,可是最近最的一个小程序,得到一些三维的数据点图,就学习了下python中的matp ...

  6. python制作3d相册代码_Python使用matplotlib绘制3D图形(代码示例)

    本篇文章给大家带来的内容是关于Python使用matplotlib绘制3D图形(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 3D图形在数据分析.数据建模.图形和图像处理 ...

  7. python分形几何_使用 Python 绘制分形: Koch 曲线、Julia 集、Mandelbrot 集

    目录 1. Koch曲线 瑞典数学家Helge von Koch,在1904年发表的"从初等几何构造的一条没有切线的连续曲线"的论文中提出Korch曲线.它的描述如下:指定一条线段 ...

  8. python用turtle画彩虹_Python基础实例——绘制彩虹(turtle库的应用)

    turtle模块简介: Python中有一个简单的绘图工具,叫做海龟绘图(Turtle Graphics) 1.使用海龟绘图首先我们需要导入turtle,如下所示: 1 from turtle imp ...

  9. python画k线图_Python使用matplotlib绘制k线图(去掉空白日期)

    原标题:Python使用matplotlib绘制k线图(去掉空白日期) 之前研究过使用 matplotlib.finance 中的 candlestick_ohlc() 方法绘制k线图,但是有个很无语 ...

最新文章

  1. [ Luogu 3924 ] 康纳的线段树
  2. Xamarin开发Android笔记:使用ZXing进行连续扫描
  3. SEO算法:如何通过PageRank算法判断SEO排序结果
  4. Win7系统网页视频无法播放怎么办
  5. Struts2之异常机制
  6. gnu grub修复_如何修复grub异常
  7. oracle 自动化脚本,分享一些非常有用的oracle脚本
  8. Git 分支 - 分支的新建
  9. Unix/Linux环境C编程入门教程(20) 搭建基于Mac的 Xcode 与 QT 开发环境
  10. 新手入门makefile教程
  11. snmpwalk 安装与使用详解
  12. unity urp raytrace体积光god ray效果
  13. SpringBoot使用Ehcache
  14. 液晶屏LED背光板可以分为几类?
  15. Threejs实现3d地球记录(5)
  16. 加密流量分析-2.研究背景
  17. R语言实战应用精讲50篇(十二)-正态分布与方差齐性的检验方法与SPSS操作
  18. [USACO17DEC]Greedy Gift Takers
  19. 关于正手拉前冲弧圈球和加转弧圈球的几点领悟
  20. 热门项目披露:成都双流板桥轨道城市发展有限公司100%股权转让

热门文章

  1. phpstorm 整理
  2. [Android6.0][MTK6737] MTK 编译环境搭建
  3. 保密计算机三员分立 配置,涉密应用系统 “三员” 管理的配置方法
  4. 解决pycharm汉化后无法打开设置
  5. 企企通:新医改政策下,解锁医药行业供应链管理密码
  6. Python读excel去重
  7. swift 高清截图 ScrollView截图
  8. 如何查看你的硬盘使用时间。
  9. gear s3刷android wear,【干货】三星Gear S3/Gear S3 classic 智能手表刷机教程
  10. 计算机专业上哈工大还是华中科技,中国工科第二的高校到底是哪所?浙大、上交、哈工大还是华科?...