zoukankan      html  css  js  c++  java
  • python 利用turtle库绘制五角星


    # -*- coding: utf-8 –*-
    import turtle
    import math

    def draw_polygon(aTurtle, size=50, n=3):
    for i in range(n):
    aTurtle.forward(size)
    aTurtle.left(360.0/n)

    def draw_n_angle(aTurtle, size=50, num=5, color=None):
    if color:
    aTurtle.begin_fill()
    aTurtle.fillcolor(color)
    for i in range(num):
    aTurtle.forward(size)
    aTurtle.left(360.0/num)
    aTurtle.forward(size)
    aTurtle.right(2*360.0/num)
    if color:
    aTurtle.end_fill()

    def draw_5_angle(aTurtle=None, start_pos=(0,0), end_pos=(0,10), radius=100, color=None):
    aTurtle = aTurtle or turtle.Turtle()
    size = radius * math.sin(math.pi/5)/math.sin(math.pi*2/5)
    aTurtle.pencolor('yellow')
    aTurtle.left(math.degrees(math.atan2(end_pos[1]-start_pos[1], end_pos[0]-start_pos[0])))
    aTurtle.penup()
    aTurtle.goto(start_pos)
    aTurtle.fd(radius)
    aTurtle.pendown()
    aTurtle.right(math.degrees(math.pi*9/10))
    draw_n_angle(aTurtle, size, 5, color)

    def draw_5_star_flag(times=20.0):
    width, height = 30*times, 20*times
    window = turtle.Screen()
    aTurtle = turtle.Turtle()
    aTurtle.hideturtle()
    aTurtle.speed(10)

    # 画五星
    draw_5_angle(aTurtle, start_pos=(-10*times, 5*times), end_pos=(-10*times, 8*times), radius=3*times, color='red')

    # 点击关闭窗口
    window.exitonclick()

    if __name__ == '__main__':
    draw_5_star_flag()

    如有不懂,请加群讨论

  • 相关阅读:
    史上最简洁的handler原理解释
    handler解惑
    Http中get和post的区别
    使用软引用缓存Bitmap
    Request头和Response头
    DNS编程实验--域名与IP的相互转换
    CString与string
    C++ string占多少个字节测试
    java中类的继承性和多态性实例
    java寻找html文件中的标签
  • 原文地址:https://www.cnblogs.com/chaihy/p/10118839.html
Copyright © 2011-2022 走看看