本文主要是介绍Python知道cos值求角度_Python笔下那些神奇的树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
turtle是一只神奇的小海龟,可以画出大千世界。而turtle加入了python大家族,像是如龟得水,变得更加受欢迎。
古人有诗云“庭中有奇树,绿叶发华滋”,树之美,或婀娜、或繁茂、或苍劲、或青翠。python-turtle笔下的树更是别有一番风味。
小园新种红樱树,闲绕花行便当游。
# coding=gbkimport turtle as Timport randomimport time# 画樱花的躯干(60,t)def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: if random.randint(0, 2) == 0: t.color('snow') # 白 else: t.color('lightcoral') # 淡珊瑚色 t.pensize(branch / 3) elif branch
江南有丹橘,经冬犹绿林
# coding=gbkfrom turtle import *from random import *from math import *class Tree: def __init__(self): setup(1000, 500) bgcolor(1, 1, 1) # 背景色 # ht() # 隐藏turtle speed(10) # 速度 1-10渐进,0 最快 # tracer(1, 100) # 设置绘图屏幕刷新频率,参数1设置在正常刷新频次的第参数1次刷新,参数2设置每次刷新的时延 tracer(0, 0) pu() # 抬笔 backward(100) # 保证笔触箭头方向始终不向下,此处使其左转90度,而不是右转 left(90) # 左转90度 backward(300) # 后退300 def tree(self, n, l): pd() # 下笔 # 阴影效果 t = cos(radians(heading() + 45)) / 8 + 0.25 pencolor(t, t, t) pensize(n / 1.2) forward(l) # 画树枝 if n > 0: b = random() * 15 + 10 # 右分支偏转角度 c = random() * 15 + 10 # 左分支偏转角度 d = l * (random() * 0.25 + 0.7) # 下一个分支的长度 # 右转一定角度,画右分支 right(b) self.tree(n - 1, d) # 左转一定角度,画左分支 left(b + c) self.tree(n - 1, d) # 转回来 right(c) else: # 画叶子 right(90) n = cos(radians(heading() - 45)) / 4 + 0.5 pencolor(n, n * 0.8, n * 0.8) fillcolor(n, n * 0.8, n * 0.8) begin_fill() circle(3) left(90) end_fill() # 添加0.3倍的飘落叶子 if random() > 0.7: pu() # 飘落 t = heading() an = -40 + random() * 40 setheading(an) dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2) forward(dis) setheading(t) # 画叶子 pd() right(90) n = cos(radians(heading() - 45)) / 4 + 0.5 pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4) fillcolor(n, n * 0.8, n * 0.8) begin_fill() circle(2) left(90) end_fill() pu() # 返回 t = heading() setheading(an) backward(dis) setheading(t) # pass pu() backward(l) # 退回def main(): tree = Tree() tree.tree(12, 100) # 递归7层 done()if __name__ == '__main__': main()
落红不是无情物,化作春泥更护花
# coding=gbkfrom turtle import *from random import *# 画树方法def drawTree(n, l): pendown() pencolor('#5d3c3c') pensize( n / 1.5) forward(l) if n > 0: dr = randint(30, 40) dl = randint(30, 40) move = l * (random() * 0.4 + 0.5) right(dr) drawTree(n - 1, move) left(dr + dl) drawTree(n - 1, move) right(dl) else: drawPetal(3) penup() backward(l)# 花瓣位置生成def petalPlace(m, x, y): penup() goto(x, y) pendown() setheading(0) tracer(False) for i in range(m): if i == 0: drawPetal(5) else: penup() goto(x, y) a = randint(20, 400) b = randint(-50, 50) forward(a) left(90) forward(b) right(90) pendown() drawPetal(5)# 花朵绘画方法def drawPetal(n): colormode(255) r = randint(200, 255) g = randint(8, 158) b = randint(8, 158) begin_fill() fillcolor(r, g, b) pencolor(r, g, b) circle(n) end_fill()# 启动方法def run(): setup(1.0, 1.0) penup() goto(-50, -150) left(90) pendown() hideturtle() tracer(False) drawTree(13, 150) petalPlace(160, -100, -150)run()done()
川原秋色静,芦苇晚风鸣
import turtleimport randomstack = []def createWord(max_it, word, proc_rules, x, y, turn): turtle.up() turtle.home() turtle.goto(x, y) turtle.right(turn) turtle.down() t = 0 while t
这篇关于Python知道cos值求角度_Python笔下那些神奇的树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!