第17章 科赫雪花小包裹

科赫雪花小包裹问题分析:

科赫曲线,也叫雪花曲线。

用python绘制科赫曲线

一条直线取1/3长的线段,把中间的1/3段去掉,然后在搭建成60°的三角状,emmm,如下图所示:

科赫雪花的绘制

递归思想:函数+分支

递归链条:线段的组合

递归基例:初识线段

 1 #KochDrawV1.py
 2 import turtle
 3 def 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)
10 def main():
11     turtle.setup(800,400)
12     turtle.penup()
13     turtle.goto(-300, -50)
14     turtle.pendown()
15     turtle.pensize(2)
16     koch(600,3)     # 0阶科赫曲线长度,阶数
17     turtle.hideturtle()
18 main()

效果如下图所示:

完整的科赫雪花的绘制代码:

 1 #KochDrawV2.py
 2 import turtle
 3 def 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)
10 def main():
11     turtle.setup(600,600)
12     turtle.penup()
13     turtle.goto(-200, 100)
14     turtle.pendown()
15     turtle.pensize(2)
16     level = 3      # 3阶科赫雪花,阶数
17     koch(400,level)
18     turtle.right(120)
19     koch(400,level)
20     turtle.right(120)
21     koch(400,level)
22     turtle.hideturtle()
23 main()

绘制结果如下图:

原文地址:https://www.cnblogs.com/chy8/p/9457413.html

时间: 2024-08-28 00:18:59

第17章 科赫雪花小包裹的相关文章

python第五周,Pylnstaller库的使用,科赫雪花小包裹

PyInstaller库可以将.py源代码转换成无需源代码的可执行文件: PyInstall库是第三方库,试用前需安装,需在windows的cmd命令行模式输入 pip install pyinstall 参数 描述 -h 查看帮助 --clean 清理打包过程中的临时文件 -D,--onedir 默认值,生成dist文件夹 -F,--onefile 在dist文件夹中之生成独立的打包文件 -i<图标文件名>.ico> 指定打包程序使用的图标文件     实例:科赫雪花小包裹 #Koch

python学习 第八个程序 科赫雪花

# KochDraw.pyimport turtle # koch: 绘制n阶科赫曲线# main: 绘制科赫雪花'''安装第三方库: 命令行下输入pip install pyinstaller打包KochDraw.py为可执行文件 命令行下输入pyinstaller -F KochDraw.py''' def koch(size, n): if n == 0: turtle.fd(size) else: koch(size / 3, n-1) turtle.left(60) koch(size

python(12)---科赫特雪花

科赫特雪花属于分形几何中的一种,本程序利用递归的思想,进行绘制, 递归,难点在于寻找基例和递归链条. 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 #koch.py 4 import turtle 5 def koch(size,n): 6 if n==0: 7 turtle.fd(size) 8 else: 9 for angle in[0,60,-120,60]: 10 turtle.left(angle) 11 koch(size

第17章 CSS边框与背景(上)

第 17章 CSS边框和背景[上]学习要点:1.声明边框2.边框样式3.圆角边框 本章主要探讨 HTML5中 CSS边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观.一.声明边框边框的声明有三个属性设置,样式表如下:属性 值 说明 CSS版本border-width 长度值 设置边框的宽度,可选 1border-style 样式名称 设置边框的样式,必选 1border-color 颜色值 设置边框的颜色,可选 1 这三个属性值,只有 border-style是必须声明,才可以出现边

4.13日第12次作业,16章外包,17章需求,19章组织级与大型项目

29-高项-田哲琦 16章.外包管理 1.外包的形式有哪五种?什么是利益关系?P346-348 答:企业现行采用的主要外包形式如下: 1).活动外包 2).服务外包 3).内包 4).合包 5).利益关系. 利益关系(benfit-based relationship),这是一种长期合作关系,双方先为此关系进行投资,再根据预先拟定的协议分享利益,共同承担风险,同时共享利益. 2.外包管理的目标是什么?要实现这个目标,对外包管理提出哪四个方面的要求?P348 答:软件外包管理总的目标是用强有力的手

CSS3秘笈第三版涵盖HTML5学习笔记13~17章

第13章,构建基于浮动的布局 使用的是float(浮动)属性 注:float:none值将取消所有浮动,通常只用来取消元素中已经应用的浮动. 切记:不需要给正文的div设计宽度,即使设计成固定宽度也不用 用浮动进行布局 LayoutGala网站(http://blog.html.it/layoutgala/)上提供了40种不同的CSS设计,但大多只是基本框架,里面只有<div>标签及其定位用的CSS代码 布局生成器,Cridinator(http://gridinator.com)提供了简单的

《构建之法》13,14,15,16,17章读后感

1.13章说的是软件测试,怎么样去测试是最有效率的? 2.14章说到质量保障,具体的花费是多少? 3.15章说到ZBB,如果一个软件遇到了不可修复的bug,还算是一个稳定的软件么? 4.16章说到创新,有实际例子吗? 5.17章的职业道德指的是什么?

C++ Primer Plus 第17章 输入,输出和文件

第17章 输入.输出和文件 1.当到达输入语句时,他将刷新输出缓冲区中当前所有的输出 2.streambuf类 提供了对缓冲区的各种操作 ios_base类表示流的一般特征 ios类基于ios_base,包含了一个指向streambuf对象的指针 ostream类从ios派生,提供可输出方法 istream类从ios派生,提供可输入方法 iostream类基于ostream和istream,继承了输入和输出方法 3.包含iostream则自动创建了8个流对象 cin 标准输入 wcin 宽字符流

《Cracking the Coding Interview》——第17章:普通题——题目13

2014-04-29 00:15 题目:将二叉搜索树展开成一个双向链表,要求这个链表仍是有序的,而且不能另外分配对象,就地完成. 解法:Leetcode上也有,递归解法. 代码: 1 // 17.13 Flatten a binary search tree into a doubly linked list by inorder traversal order. 2 // Use postorder traversal to do the flattening job. 3 #include