程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python的turtle繪制科赫曲線

編輯:Python

科赫曲線是一種像雪花的幾何曲線


科赫曲線是一種分形。其形態似雪花,又稱科赫雪花、雪花曲線。

  1.給定線段AB,科赫曲線可以由以下步驟生成:
  2.將線段分成三等份(AC,CD,DB)
  3.以CD為底,向外(內外隨意)畫一個等邊三角形DMC
  4.將線段CD移去,   分別對AC,CM,MD,DB重復1~3。

import turtle
#科赫曲線(size 科赫曲線的每一個直線的長度,n 繪制的階數)
def koch(size,n):
if n==0:#遞歸出口畫一條一階直線
turtle.fd(size)
else:
#每一層遞歸都遍歷這四個角度
for angle in [0,60,-120,60]:
#逆時針旋轉角度
turtle.left(angle)
#遞歸調用自己
koch(size/3,n-1)
def snow(a):
#turtle.color("green","yellow")
turtle.begin_fill()
#輸入寬和高為整數時, 表示像素
turtle.screensize(600,600,"green")
#填充邊框和中間的顏色
turtle.color("gold","white")
#畫筆抬起
turtle.penup()
#畫筆的寬度
turtle.pensize(2)
#到達指定位置
turtle.goto(-200,100)
#畫筆放下,起筆
turtle.pendown()
#a=1 #1階koch曲線
#第一跳線 0度開始,順時針120度結束 畫
koch(400,a)
#第二跳線 120度開始,順時針240度結束
turtle.right(120)
#第二跳線 畫
koch(400,a)
#第三跳線 240度開始,順時針360度結束
turtle.right(120)
#第三跳線 畫
koch(400,a)
#填充完成
turtle.end_fill()
#隱藏畫筆
turtle.hideturtle()
#輸入科赫曲線的層數
n=input('請輸入koch曲線的層數(1):\n') #n階koch曲線
if n=='': #未輸入的情況下,1階koch曲線
n=1
#主函數執行
snow(int(n))

運行結果

請輸入koch曲線的層數(1):1

請輸入koch曲線的層數(1):2 

python的turtle支持的顏色

 

 

 

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved