Python培训
400-996-5531
今天为大家带来的是一个小型易上手的Python实战项目,用Python编程来一场人工造雪,再也不用看着朋友圈里雪景羡慕不已了,你的雪景你自己创造的,更时尚前卫、更具科技感,更有成就感,怎么做?快来瞧吧:
具体介绍
先给大家介绍科赫曲线,科赫曲线在众多经典数学曲线中非常著名,由瑞典数学家冯科赫于1904年提出,由于其形态类似雪花,也被成为雪花曲线。
下面对科赫曲线基本概念和绘制方法做个简单的介绍:正整数n代表科赫曲线的阶数,表示生成科赫曲线过程的操作次数。科赫曲线初始化阶数为0,表示一个长度为L的直线。对于直线L将其等分为3段,中间一段用边长为L/3的等边三角形的两个边替代,得到1阶科赫曲线,它包含4条线段。进一步对每条线段重复同样的操作后得到的2阶科赫曲线。重复操作N次可以得到N阶科赫曲线。
当然如果要绘制科赫曲线还要使用Python提供的Turtle。
代码实现
1阶科赫曲线
1import turtle 2from turtle import * 3def koch(size,n): 4 if n == 0: 5 turtle.fd(size) 6 else: 7 for angle in [0,60,-120,60]: 8 turtle.left(angle) 9 koch(size/3,n-1) 10def main(): 11 turtle.setup(600,600) 12 turtle.penup() 13 turtle.goto(-200,100) 14 turtle.pendown() 15 turtle.pensize(2) 16 level = 1 17 koch(400,level) 18 turtle.hideturtle() 19 done() 20main()
5阶科赫曲线如下图,有一点雪花的感觉了,但是还不是完整的雪花。
那么该如何画出一个完整的雪花呢?科赫曲线是从一条直线绘制开始的,如果想画一个完整的雪花可以将初始图形调整成倒置的三角形。完整代码如下:
1import turtle 2from turtle import * 3def koch(size, n): 4 if n == 0: 5 turtle.fd(size) 6 else: 7 for angle in [0, 60, -120, 60]: 8 turtle.left(angle) 9 koch(size / 3, n - 1) 10def main(): 11 turtle.setup(600,600) 12 turtle.pen(speed = 0, pencolor = 'blue') 13 turtle.penup() 14 turtle.goto(-200,100) 15 turtle.pendown() 16 turtle.pensize(1) 17 level = 5 18 koch(400,level) 19 turtle.right(120) 20 koch(400, level) 21 turtle.right(120) 22 koch(400, level) 23 turtle.hideturtle() 24 done() 25main()
效果图:
如果想绘制其他有趣的图形,只需要调整初始图形就行。科赫曲线属于分形几何分支,它的绘制过程体现了递归思想。
最后请大家欣赏一下雪景。
感谢您的阅读,以上就是今天达内Python培训分享给大家的Python实战项目,你学会了吗?以后再也不用去借别人的雪了,再也不用找麦香、纯生、勇闯天涯来替代,哈哈!更多Python相关的内容尽在达内Python培训机构,敬请关注!
达内Python人工智能课程,从夯实Python基础开始,贯穿大数据、人工智能等前沿项目,帮你快读达到企业用人标准。在毕业前,我们都会有工作推荐,只要在5个月内好好学习,找到一份好工作不是问题。
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved