Python入门案例(二):分形树的绘制

栏目: Python · 发布时间: 5年前

一、分形树的绘制V1.0

主要知识点:

  • turtle库绘制简单图形
  • while循环
# -*- coding:utf-8 -*-

"""

@author:Angel

@file:pentagram_V1.0.py

@time:2018/11/13 21:39

@1.0功能:五角星的绘制

"""

import turtle





def main():



    # 计数器

    count = 1



    while count <= 5:

        turtle.forward(200)

        turtle.right(144)

        count = count + 1

    turtle.exitonclick()





if __name__ == '__main__':

    main()

绘制的图形:

Python入门案例(二):分形树的绘制

二、分形树的绘制V2.0

主要知识点:自定义函数+while循环

# -*- coding:utf-8 -*-

"""

@author:Angel

@file:pentagram_V2.0.py

@time:2018/11/13 21:39

@1.0功能:五角星的绘制

@2.0新增功能:重复不同大小五角星的绘制

"""

import turtle





def draw_pentagram(size):

    # 五角星绘制函数

    # 计数器

    count = 1

    # 五角星的绘制

    while count <= 5:

        turtle.forward(size)

        turtle.right(144)

        count = count + 1





def main():



    # 图形设置

    turtle.penup()

    turtle.backward(100)

    turtle.pendown()

    turtle.pensize(2)

    turtle.pencolor('red')



    # 初始大小

    size = 100



    while size <= 200:

        draw_pentagram(size)

        size = size + 25



    turtle.exitonclick()





if __name__ == '__main__':

    main()

绘制的图形:

Python入门案例(二):分形树的绘制

三、分形树的绘制V3.0

主要知识点:递归函数

# -*- coding:utf-8 -*-

"""

@author:Angel

@file:pentagram_V3.0.py

@time:2018/11/13 21:39

@1.0功能:五角星的绘制

@2.0新增功能:重复不同大小五角星的绘制

@3.0新增功能:函数与循环结合(递归函数)绘制2.0的图形

"""

import turtle





def draw_recursive_pentagram(size):

    # 迭代绘制五角星



    # 计数器

    count = 1

    # 五角星的绘制

    while count <= 5:

        turtle.forward(size)

        turtle.right(144)

        count = count + 1



    # 五角星绘制完成,更新参数

    size += 25

    if size <= 200:

        draw_recursive_pentagram(size)





def main():



    # 图形设置

    turtle.penup()

    turtle.backward(100)

    turtle.pendown()

    turtle.pensize(2)

    turtle.pencolor('red')



    # 初始大小

    size = 100

    # 调用递归函数

    draw_recursive_pentagram(size)

    turtle.exitonclick()





if __name__ == '__main__':

    main()

绘制的图形:

Python入门案例(二):分形树的绘制

四、分形树的绘制V4.0

主要知识点:递归函数的实际运用

# -*- coding:utf-8 -*-

"""

@author:Angel

@file:pentagram_V4.0.py

@time:2018/11/13 21:39

@1.0功能:五角星的绘制

@2.0新增功能:重复不同大小五角星的绘制

@3.0新增功能:函数与循环结合(递归函数)绘制2.0的图形

@4.0新增功能:利用递归函数绘制分形树

"""

import turtle





def draw_branch(branch_length):

    # 绘制分形树

    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)





def main():



    # 图形设置

    turtle.left(90)

    turtle.penup()

    turtle.backward(260)

    turtle.pendown()

    turtle.pensize(1)

    turtle.pencolor('red')



    # 调用递归函数

    draw_branch(120)

    turtle.exitonclick()





if __name__ == '__main__':

    main()

绘制的图形:

Python入门案例(二):分形树的绘制

Python入门案例(二):分形树的绘制

本文由花花_Angel 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。

转载、引用前需联系作者,并署名作者且注明文章出处。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。


以上所述就是小编给大家介绍的《Python入门案例(二):分形树的绘制》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Tales from Facebook

Tales from Facebook

Daniel Miller / Polity Press / 2011-4-1 / GBP 55.00

Facebook is now used by nearly 500 million people throughout the world, many of whom spend several hours a day on this site. Once the preserve of youth, the largest increase in usage today is amongst ......一起来看看 《Tales from Facebook》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试