python绘制图形
最近太懈怠啦~没有好好学习,赶紧把课程补一补!

今天要学小乌龟库——turtle库
小乌龟库比较特别,大部分的语句都是 <a>.<b>()的形式:表示使用<a> 中的方法<b>(),或者调用函数库<a>中的函数<b>()
形状绘制函数
- turtle.forward(distance) -画笔向前(右)移动distance距离
- turtle.backward(distance) -画笔向后(左)移动distance距离
- turtle.right(degree) -绘制方向向右旋转degree度
- turtle.left(degree) -绘制方向向左旋转degree度
- turtle.exitonclick() -点击关闭图形窗口

先小小的试验下
"""
作者:xxj
功能:bulingbuling_pentagram
版本:1.0
时间:2019.1.17
"""
import turtle
def main():
"""
主函数
"""
count = 1
while count <= 5:
turtle.forward(250)
turtle.right(144)
count = count+1
turtle.exitonclick()
if __name__ == '__main__':
main()
画笔控制函数
- turtle.penup() -抬起画笔,之后移动画笔不绘制形状(画虚线)
- turtle.pendown() -落下画笔,之后移动画笔绘制形状
- turtle.pensize() -设置画笔宽度
- turtle.pencolor() -设置画笔颜色,常用的颜色:white、black、grey、darkgreen、gold、violet、purple
先小小的试验下,顺便把代码改成迭代
"""
author:xxj
function:recursive_pentagram
version:2.0
time:2019.1.17
"""
import turtle
def draw_recursive_pentagram(size):
"""
迭代绘制五角星
"""
# 绘制五角星功能
count = 1
while count <= 5:
turtle.forward(size)
turtle.right(144)
count += 1
#五角星绘制完成,更新参数
size += 10
if size <= 100:
draw_recursive_pentagram(size)
def main():
"""
主函数
"""
turtle.penup()
turtle.bk(400)
turtle.pendown()
turtle.pensize(2)
turtle.pencolor('red')
turtle.speed(0.1)
size = 50
draw_recursive_pentagram(size)
turtle.exitonclick()
if __name__ == '__main__':
main()
大BOSS:利用递归绘制分形树
思路分析:

角度转换:先向右转M°,一直绘制到枝丫长度小于0,再回到节点,再向左转两个M°,即2M°,一直绘制,最后再向右转M°回到正中间。
"""
author:xxj
function:recursive_fractal_tree
version:1.0
time:2019.1.18
"""
import turtle
def draw_branch(branch_length):
"""
绘制分形树
"""
if branch_length <= 5:
turtle.color('green')
if branch_length > 5:
# 绘制右侧树枝
turtle.forward(branch_length)
print('向前',branch_length)
turtle.right(20)
print('右转 20')
draw_branch(branch_length - 15)
# 绘制左侧树枝
turtle.left(40)
print('左转 40')
draw_branch(branch_length - 15)
# 返回之前的树枝
turtle.right(20)
print('右转 20')
turtle.backward(branch_length)
print('向后', branch_length)
turtle.color('brown')
def main():
"""
主函数
"""
turtle.left(90)
turtle.penup()
turtle.backward(180)
turtle.pendown()
turtle.screensize(800, 600, 'black')
turtle.pensize(2)
turtle.color('brown')
draw_branch(100)
turtle.penup()
turtle.goto(0, -180)
turtle.write("居居老师和颖宝冲鸭", font=("Arial", 20, "normal"))
turtle.exitonclick()
if __name__ == '__main__':
main()
教程:小象学院,梁斌老师,讲的贼好~
最后表扬下认真学习的自己
