绘制图形,挑战上色分形树-python
2019-01-18 11:05
671 查看
python绘制图形
最近太懈怠啦~没有好好学习,赶紧把课程补一补!小乌龟库比较特别,大部分的语句都是 <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()
教程:小象学院,梁斌老师,讲的贼好~
最后表扬下认真学习的自己
相关文章推荐
- Python123 测验2: Python基本图形绘制 (第2周)
- Python图形绘制操作之正弦曲线实现方法分析
- Python调用graphviz绘制结构化图形网络
- opencv for python 之 创建图片绘制简单几何图形
- 【Python】绘制各种图形08
- 【计算机图形学】用python的turtle进行简单的图形绘制
- Life is short,Use Python!-----Python双杀!-----Python基本图形绘制
- python内置库turtle绘制有趣图形
- python数字图像处理(12):基本图形的绘制
- P2 Python基本图形绘制
- Python3使用turtle绘制超立方体图形示例
- java分形图形的绘制
- Python使用matplotlib绘制三维图形示例
- opencv3 for python 之 创建图片绘制简单几何图形
- python数字图像处理(12):基本图形的绘制
- Python使用matplotlib绘制多个图形单独显示的方法示例
- Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)
- python绘制ws小世界网络图形
- 第二章 Python基本图形绘制
- python数字图像处理(12):基本图形的绘制