python科赫雪花代码的意思_python函数和代码复用——迭代练习:科赫雪花绘制

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/PigeonKiing/article/details/102523569

科赫雪花

科赫雪花是一个分形几何图形,分形几何是一种迭代的几何图形,广泛存在于自然界。

科赫雪花是由正三角形的三条科赫曲线构成的。

科赫曲线

20191012164906714.png

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1BpZ2VvbktpaW5n,size_16,color_FFFFFF,t_70

问题解析

要绘制一个这样的科赫雪花,首先我们要绘制一条符合要求的科赫曲线。

因此问题就拆分成:

绘制一条科赫曲线

将三条科赫曲线组成正三角形

完成上述两个步骤即可完成科赫雪花的绘制。

绘制科赫曲线

20191012164906714.png

我们看一下科赫曲线,它是一个很明显的迭代过程,

函数:定义一个函数,实现绘制科赫曲线的功能;

条件:判断是几阶的科赫曲线;

基例:如果是0阶曲线,那么直接绘制一条直线即可;

链条:如果是n阶科赫曲线,那么需要绘制4段(n-1)阶的科赫曲线

科赫曲线代码

def Kole(lenth,n):

if n==0: #基例

t.fd(lenth)

else: #链条

for i in [0,60,-120,60]:

t.left(i)

Kole(1/3*lenth,n-1)

科赫雪花代码

# 5_snowflower.py

import turtle as t #绘制科赫曲线

def Kole(lenth,n):

if n==0:

t.fd(lenth)

else:

for i in [0,60,-120,60]:

t.left(i)

Kole(1/3*lenth,n-1)

def main(): #绘制科赫雪花

t.setup(800,600)

t.hideturtle()

t.pensize(5)

t.pencolor("green")

t.pu()

t.goto(-300,0)

t.pd()

lenth=200

n=3

for i in range(3):

Kole(lenth,n)

t.left(-120)

main()

t.done()

总结

这道题其实不是很难,只需要掌握好迭代的方法,按照基本的迭代思路对问题求解,去实现功能即可。

有兴趣的朋友可以看看我的其他博文的练习题哦。如果对文章有疑问请留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值