基于python绘制科赫雪花

yipeiwu_com6年前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设计】。

相关文章

浅谈flask截获所有访问及before/after_request修饰器

本文主要研究的是flask如何截获所有访问,以及before_request、after_request修饰器的相关内容,具体如下。 在学习着用flask开发安卓后天接口时,遇到一个需求...

Python ValueError: invalid literal for int() with base 10 实用解决方法

今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了 复制代码 代码如下: totalCount = '100' totalPage = int(totalCount)/20 Va...

基于Python List的赋值方法

Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。 一、赋值 在python中,对象的赋值就是简单的对象引用,...

Python线程同步的实现代码

本文介绍Python中的线程同步对象,主要涉及 thread 和 threading 模块。 threading 模块提供的线程同步原语包括:Lock、RLock、Condition、...

对python3中pathlib库的Path类的使用详解

对python3中pathlib库的Path类的使用详解

用了很久的os.path,今天发现竟然还有这么好用的库,记录下来以便使用。 1.调用库 from pathlib import 2.创建Path对象 p = Path('D:...