python绘制科赫雪花

本文介绍了科赫雪花这一分形概念,包括其生成步骤和特性,如无限长但有限面积的特点。通过Python实现科赫雪花的绘制,展示了分形几何的魅力。

1.简介

科赫曲线是一种分形。其形态似雪花,又称科赫雪花、雪花曲线。其豪斯多夫维

。它最早《关于一条连续而无切线,可由初等几何构作的曲线》(1904年,法语原题:Sur une courbe continue sans tangente, obtenue par une construction géométrique élémentaire)。 [1] 

科赫曲线是de Rham曲线的特例。

1.给定线段AB,科赫曲线可以由以下步骤生成:

2.将线段分成三等份(AC,CD,DB

3.CD为底,向外(内外随意)画一个等边三角形DMC

4.将线段CD移去

分别对AC,CM,MD,DB重复1~3

科赫雪花是以等边三角形三边生成的科赫曲线组成的。科赫雪花的面积是

,其中S是原来三角形的边长。每条科赫曲线的长度是无限大,它是连续而无处可微的曲线。

1、任意画一个正三角形,并把每一边三等分;

2、取三等分后的一边中间一段为边向外作正三角形,并把这中间一段擦掉;

3、重复上述两步,画出更小的三角形。

4、一直重复,直到无穷,所画出的曲线叫做科赫曲线。

和皮亚诺类似:

1、曲线任何处不可导,即任何地点都是不平滑的

2、总长度趋向无穷大

3、曲线上任意两点沿边界路程无穷大

4、面积是有限的

5、产生一个匪夷所思的悖论"无穷大"的边界,包围着有限的面积。(保守派数学大师们晕倒撞墙去吧)

Kohn曲线是比较典型的分形图形,它具有严格的自相似特性。

2.程序实现:

import turtle
def koch(size,n): %定义雪花子函数  输入参数:雪花尺寸size和迭代次数n
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]:
            turtle.left(angle)
            koch(size/3,n-1)
def main():
    turtle.setup(600,600) %画面大小
    turtle.penup()             %画笔抬起
    turtle.goto(-200,100) %画笔位置
    turtle.pendown()        %画笔落下
    turtle.pensize(2)         %线条粗细
    level = 3                     %迭代次数
    koch(400,level)
    turtle.right(120)          %右转120度
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()
main()

 

 

作者:ChenBD

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值