zoukankan      html  css  js  c++  java
  • 在Python中用turtle函数画同心圆

    用turtle函数画空心圆
    turtle.circle是从下方开始画圆的,所以要画同心圆的话,每一次都要将画笔移动到下一个圆的底部位置。

    画笔的坐标默认在0,0,就以它为圆心。
    因为turtle画圆的时候是从圆的底部开始画的,所以需要找到四个圆底部的坐标

    四个空心圆的代码

    import turtle
    for i in range(4):
        turtle.penup()
        turtle.goto(0,-50*(i+1))#从里面最小的一个圆的底部,慢慢变大
        turtle.pendown()
        turtle.circle(50*(i+1))

    抬起画笔:turtle.penup()
    移动到相应坐标:turtle.goto(坐标)
    放下画笔:turtle.pendown()
    画圆:turtle.circle(半径)
    效果如图示,可以加画笔的粗细颜色。

     
    image.png

    import turtle
    for i in range(4):
    turtle.pencolor("black")
    turtle.pensize(20)
    turtle.penup()
    turtle.goto(0,-50(i+1))
    turtle.pendown()
    turtle.circle(50
    (i+1))
    效果如图

     
    image.png

    将其封装为函数

    import turtle
    def target (size,color):
    for i in range(4):
    turtle.pencolor(color)
    turtle.pensize(size)
    turtle.penup()
    turtle.goto(0,-50(i+1))
    turtle.pendown()
    turtle.circle(50
    (i+1))
    target(20,"pink")

    效果如图,像是甜甜圈,哈哈哈

    ========================

    同心矩形

    import turtle
    #turtle.pensize(10)
    for i in range(5):
        turtle.penup()
        turtle.goto(-50*(i+1),50*(i+1))#从里面最小的一个圆的底部,慢慢变大
        turtle.pendown()
        turtle.title('矩形')
        #turtle.begin_fill()
        #turtle.fillcolor('#069')
        for x in range(1, 5):
            if x % 2 == 1:
                n = 100*(i+1)
            else:
                n = 100 *(i+1)
            turtle.forward(n)
            turtle.right(90)
        #turtle.end_fill()
        turtle.hideturtle()
    
    turtle.done()

    五环

    import turtle
    turtle.title('奥运五环')
    x = -200
    y = 100
    r = 100
    turtle.screensize(800,600)
    turtle.speed(5)
    # 第一个圈,蓝色
    turtle.up()
    turtle.goto(x, y)
    turtle.down()
    turtle.pensize(5)
    turtle.pencolor('blue')
    turtle.circle(r)
    
    # 第二个圈,黑色
    turtle.up()
    turtle.goto(x + 2.5 * r, y)
    turtle.down()
    turtle.pensize(5)
    turtle.pencolor('black')
    turtle.circle(r)
    
    # 第三个圈,红色
    turtle.up()
    turtle.goto(x + (2.5 * r) * 2, y)
    turtle.down()
    turtle.pensize(5)
    turtle.pencolor('red')
    turtle.circle(r)
    
    # 第四个圈,黄色
    turtle.up()
    turtle.goto(x + (2.5 * r) * 0.5, y -  r)
    turtle.down()
    turtle.pensize(5)
    turtle.pencolor('yellow')
    turtle.circle(r)
    
    # 第五个圈,绿色
    turtle.up()
    turtle.goto(x + (2.5 * r)*1.5, y - r)
    turtle.down()
    turtle.pensize(5)
    turtle.pencolor('green')
    turtle.circle(r)
    
    turtle.hideturtle()
    turtle.done()



    作者:哈喽阿甘
    链接:https://www.jianshu.com/p/9d46029ada6c
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    struts2简介
    HDU 2842 Chinese Rings(矩阵高速功率+递归)
    Cocos2d-X中国象棋的发展《五岁以下儿童》摆棋
    【Python注意事项】如何理解python中间generator functions和yield表情
    [CSS] Design for Mobile First with Tachyons
    [Angular] Configurable NgModules
    [Angular] Using useExisting provider
    [Angular] Providers and useFactory
    [Angular] Using InjectionToken
    [Angular] Test Directive
  • 原文地址:https://www.cnblogs.com/gisoracle/p/12089589.html
Copyright © 2011-2022 走看看