科赫雪花曲线设计

提要:基于MOOC的“Python语言程序设计基础”,主讲人:嵩天。基本算是课本笔记。

科赫雪花曲线设计思路

实例运用计算思维

在程序设计范涛,计算思维主要反映在如下几个方面:理解问题的计算特性、将计算特性抽象为计算问题、通过程序设计语言实现问题的自动求解等。

实例:科赫雪花曲线

看图:(分别是0阶、1阶、2阶和3阶科赫雪花曲线)


总体思路:

首先,分析科赫雪花曲线,发现可分解为基本&可重复的单元;其次,将这些单元设计为程序设计语言;最后,通过计算机自动求解。

1st:理解问题的计算特性 

通过分析,科赫雪花曲线的“基本&可重复“单元为两个层次:

- 从0阶科赫雪花曲线看出,可将三条边分解为一个基本单元——不妨叫它“边”,的3次重复性问题;

- 从大于0阶的科赫雪花曲线可以看出,可将每个边分为4个基本单元——不妨叫它“尖”,的4次重复性问题;

2nd:将计算特性抽象为计算问题:

首先,定计算问题的对象:要计算的问题是“边”和“尖”,

其次,定计算问题的顺序:由“尖”组成“边”,再由“边”组成我们需要的“科赫雪花曲线”,

最后,定计算问题的参数:见第三步。

3rd:将计算问题转化为成雪设计语言:

首先,定需要的工具(程序包):我们选择turtle,

其次,定需要设定的程序框架:我们选择“函数”,利用其“复用”和“递归”的特性,实现计算的”基本&可重复性“单元,

最后,定程序需要的接口参数:一个是科赫雪花曲线的“阶数”,另一个是科赫雪花曲线的“长度”后者称作“大小”。

四、解决方法

整体代码如下:

[html]  view plain   copy
  1. import turtle                          # 引入决解问题需要的工具——turtle作图包  
  2.   
  3. # 定义turtle画笔和画布的参数  
  4. def huabi():                             
  5.     turtle.speed(0)                    # speed()参数有[0,10]:“0”特殊、代表最快速度,其余[1,10]值越大、速度越快  
  6.     turtle.pensize(2)                  # 设置画笔宽度为2  
  7.     turtle.setup(800,800, 100, 10)     # setup()参数有4个:前两个代表画布的“宽”和“高”,当数值为整数时、表示绝对像素大小,当小数时、表示站屏幕的比例。后两个可以省略,默认为屏幕中心位置,代表距离“屏幕左上角”的距离,单位是像素密度,  
  8.     turtle.penup()                     # 抬起画笔,之后的画笔动作、就不会产生图线  
  9.     turtle.goto(-300, 100)             # 以画布中心点为坐标原点(0,0),将画笔移动到坐标(-300,100)处  
  10.     turtle.pendown()                   # 落下画笔,以便画图  
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值