python科赫曲线绘制正方形_利用python画图(科赫曲线等)(第二弹)-Python 实用宝典...

昨天我们写了怎么利用python画出弧线或是圆形,今天我们就在昨天的基础上画出各种花来。

首先我们尝试在弧线的基础上加一道转角度的递归 :

import turtle

import math

bob = turtle.Turtle()

#创造一个turtle object名为bob

print(bob)

#绘制这个object

def arc(t,r,angle):

arc_length = 2 *math.pi * r *angle /360

# 求出弧长

n = 50

# 要绘画直线的的次数

# n的数值越大越好看,但运行时间会增加 (也可直接用弧长)

step_length = arc_length/n

# 每一次画线的长度

step_angle = angle/n

# 每一次画线所变化的角度

for i in range(n):

t.fd(step_length)

# 向前画直线

t.lt(step_angle)

# 转角度

t.lt(120)

# 画完一道弧形后转120度

arc(bob,200,120)

# 递归语句

turtle.mainloop()

# 保留图形

arc(bob,200,60)

# 调用函数实现实时绘制

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

这就是通过递归实现的三叶草。

实际上我们只要改一个小参数,就能变成这样一朵很漂亮的花朵。大家猜到是哪一步了吗?

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

其实就是t.lt(120)变成 t.lt(90),角度一变它就自动画下去了哦。

再小小地变动两个参数,它就带把了。嘿嘿。

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

如果你注意观察,你会发现花朵的中间都是圆,请问这是哪段代码造成的呢?

python的turtle库的魅力可不至于此,你还可以用它来画商标:

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

还有美丽的雪花!(科赫曲线,明天我们就具体实现这个吧)

0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

本文由 Python 实用宝典 作者:Python实用宝典 发表,其版权均为 Python 实用宝典 所有,文章内容系作者个人观点,不代表 Python 实用宝典 对观点赞同或支持。如需转载,请注明文章来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值