python分形曲线代码_Python 绘制分形图(曼德勃罗集、分形树叶、科赫曲线、分形龙、谢尔宾斯基三角等)附代码...

本文介绍了使用Python绘制分形图像的方法,包括曼德勃罗集的绘制和分形树叶的生成。通过迭代函数系统IFS实现分形树叶的构造,并展示了其他如科赫曲线、分形龙、谢尔宾斯基三角等经典分形图的绘制代码。
摘要由CSDN通过智能技术生成

1. 曼德勃罗集

import numpy as np

import pylab as pl

import time

from matplotlib import cm

def iter_point(c):

z = c

for i in xrange(1, 100): # 最多迭代100次

if abs(z)>2: break # 半径大于2则认为逃逸

z = z*z+c

return i # 返回迭代次数

def draw_mandelbrot(cx, cy, d):

"""

绘制点(cx, cy)附近正负d的范围的Mandelbrot

"""

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.jet, extent=[x0,x1,y0,y1])

pl.gca().set_axis_off()

x,y = 0.27322626, 0.595153338

pl.subplot(231)

draw_mandelbrot(-0.5,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.98, 1, 0.02, 0)

pl.show()

2. 分形树叶

import numpy as np

import matplotlib.pyplot as pl

import time

# 蕨类植物叶子的迭代函数和其概率值

eq1 = np.array([[0,0,0],[0,0.16,0]])

p1 = 0.01

eq2 = np.array([[0.2,-0.26,0],[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值