基于python绘制科赫雪花

yipeiwu_com7年前Python基础

什么是科赫曲线

科赫曲线是de Rham曲线的特例。给定线段AB,科赫曲线可以由以下步骤生成:
将线段分成三等份(AC,CD,DB)
以CD为底,向外(内外随意)画一个等边三角形DMC
将线段CD移去
分别对AC,CM,MD,DB重复1~3。

什么是科赫雪花

三段科赫曲线组成的图形

实现的效果 <

这里写图片描述

#KocheDraw1
import turtle
def koch(size,n):
  if n==1:
    turtle.fd(size)
  else:
    for i in [0,60,-120,60]:
      turtle.left(i)
      koch(size/3,n-1)
def main():
  turtle.setup(600,600)
  turtle.penup()
  turtle.speed(10)
  turtle.hideturtle()
  turtle.pensize(2)
  turtle.goto(-200,100)
  turtle.pendown()
  level=4
  koch(400,level)
  turtle.right(120)
  koch(400, level)
  turtle.right(120)
  koch(400, level)
  turtle.penup()
  turtle.done()
main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中的异常处理学习笔记

Python 是面向对象的语言,所以程序抛出的异常也是类。 常见的异常类 1.NameError:尝试访问一个没有申明的变量 2.ZeroDivisionError:除数为 0 3.Sy...

在类Unix系统上开始Python3编程入门

假设有个python脚本script.py,不管哪种Unix平台,都可以在命令行上通过解释器执行: $ python script.py Unix平台还可以在不明确指定pyth...

详解python列表(list)的使用技巧及高级操作

1、合并列表(extend) 跟元组一样,用加号(+)将两个列表加起来即可实现合并: In [1]: x=list(range(1, 13, 2)) In [2]: x + ['b'...

Python中声明只包含一个元素的元组数据方法

调试程序的时候,就吃过这个亏,不知道为何Python使用括号做元组声明边界符,估计是找不到合适的符号了。中括号用来声明列表,花括号用来声明字典,元组号只能用括号来声明了。有其他语言编程经...

python中黄金分割法实现方法

本文实例讲述了python中黄金分割法实现方法。分享给大家供大家参考。具体实现方法如下: ''' a,b = bracket(f,xStart,h) Finds the brac...