基于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设计】。

相关文章

Pycharm创建项目时如何自动添加头部信息

Pycharm创建项目时如何自动添加头部信息

1.打开PyCharm,选择File--Settings 2.依次选择Editor---Code Style-- File and Code Templates---Python Sc...

Python continue继续循环用法总结

Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。 假设我们已经写好了利用for循环计算平均...

Python unittest 简单实现参数化的方法

Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确。 引用Stack Overflow的一个答案, “单元测试应该是独立的,...

Python中矩阵库Numpy基本操作详解

NumPy是一个关于矩阵运算的库,熟悉Matlab的都应该清楚,这个库就是让python能够进行矩阵话的操作,而不用去写循环操作。 下面对numpy中的操作进行总结。 numpy包含...

Python基于ThreadingTCPServer创建多线程代理的方法示例

本文实例讲述了Python基于ThreadingTCPServer创建多线程代理的方法。分享给大家供大家参考,具体如下: #coding=utf8 from BaseHTTPServ...