美文网首页
2020年3月5日 第一章 Python语言基础 -2

2020年3月5日 第一章 Python语言基础 -2

作者: anivad | 来源:发表于2020-03-08 13:24 被阅读0次

    5.turtle库

    • turtle库是一个有趣的图形绘制库,也是Python标准库之一,使用时需先用命令导入turtle库:
      import turtlefrom turtle import *
    • turtle(海龟)图形绘制的方法可以想象为一个虚拟的小海龟,在画布上以坐标轴原点(0,0)位置未开始点,根据一组函数指令的控制来移动,从而在它爬行的路径上绘制出图形。

    turtle库部分常用函数

    • 窗体设置
      • setup()
    • 画布设置
      • screensize()
      • bgcolor()
      • reset()
      • clear()
    • 小海龟
      • 画笔属性
        • colormode()
        • pensize() 或 width()
        • pencolor()
        • fillcolor()
        • color()
      • 画笔绘图状态
        • penup() 或 up() 或 pu()
        • pendown() 或 down() 或 pd()
        • begin_fill()
        • end_fill()
      • 移动绘制
        • forward() 或 fd()
        • backward() 或 back()
        • right() 或 rt()
        • left() 或 lt()
        • speed()
        • circle()
        • goto() 或 setpos() 或 setposition()
      • 小海龟状态
        • position() 或 pos()
        • distance()

    绘制边长为100单位(像素)的正方形

    #E1-2-1.py
    import turtle
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    
    #E1-2-2.py
    from turtle import *
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    
    #E1-2-3.py
    from turtle import *
    for x in range(4):
        forward(100)
        left(90)
    

    绘制边长为100单位(像素)的正方形及半径为50的圆

    画笔抬起:penup() 或 up()
    画笔落下:pendown() 或 down()
    向前移动:forward()
    移动到指定坐标位置:goto(x,y)
    转角绘图:le() 或 right() 或 setup()
    绘制圆形:circle()

    #E1-3-1.py
    import turtle
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)
    turtle.forward(100)
    turtle.left(90)       #绘制正方形
    
    turtle.penup()        #画笔抬起
    turtle.forward(200)   #向前移动200,但不绘制线条
    turtle.pendown()      #画笔落下
    
    turtle.circle(50)     #绘制半径为50的圆
    
    #E1-3-2.py
    from turtle import *
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    
    penup()
    forward(200)
    pendown()
    
    circle(50)
    
    #E1-3-2.py
    from turtle import *
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    forward(100)
    left(90)
    
    penup()
    goto(200,0)    #将画笔移动到坐标(200,0)的位置
    pendown()
    
    circle(50)
    
    #E1-3-4.py
    from turtle import *
    forward(100)
    seth(90)       #设置当前画笔朝向为90度(相对于坐标轴)
    forward(100)
    seth(180)
    forward(100)
    seth(270)      #或seth(-90)
    forward(100)
    seth(0)
    
    penup()
    goto(200,0)
    pendown()
    
    circle(50)
    

    绘制半径为50和100的同心圆

    #E1-4-1.py
    from turtle import *
    
    circle(50)  #绘制内圆
    penup()
    goto(0,-50) #画笔移动到外圆绘制的起点
    pendown()
    circle(100) #绘制外圆
    
    

    绘制内圆边框为红色、外圆边框为绿色的同心圆,画布为黑色

    窗体设置:

    • 设置窗体大小:setup()
      画布设置:
    • 设置画布大小:screensize()
    • 画布背景色:bgcolor()
      画笔设置:
    • 画笔宽度:pensize()
    • 画笔颜色:pencolor()
    #E1-5-1.py
    from turtle import *
    setup(500,500)     #窗体大小宽500,高500像素
    screensize(800,600,"black")   #画布宽800,高600,背景黑色
    
    ''' screensize(800,600,"black") 也可写成
    screensize(800,600)
    bgcolor("black") 
    '''
    
    pensize(3)  #笔粗3像素
    pencolor("red")
    circle()
    
    penup()
    goto(0,-50)
    pendown()
    
    pencolor("green")  #绿色画笔
    circle(100)
    

    绘制内圆边框为红色且填充为黄色、外圆边框为绿色的同心圆,画布为黑色

    画笔线条颜色:pencolor()
    形状填充颜色:llcolor()
    画笔线条和形状填充颜色:color()
    开始填充颜色:begin_ll()
    结束填充颜色:end_ll()
    画笔移动速度:speed()

    #E1-6-1.py
    from turtle import *
    setup(500,500)
    screensize(800,600,"black")
    
    pensize(3)
    color("red","yellow") #红色画笔和黄色填充色
    '''也可以写成
    pencolor("red")
    llcolor("yellow")
    '''
    begin_fill() #开始填充
    circle(50)
    end_fill() #结束填充
    
    penup()
    goto(0,-50)
    pendown()
    
    pencolor("green")
    speed(10) #画笔移动 速度
    circle(100)
    

    RGB颜色模式是工业界的一种颜色标准,也是目前电子设备通用的颜色模式。

    RGB颜色“三原色”原理:
    通过打在显示屏上红(R)、绿(G)、蓝(B)三色电子光束的强弱变化,相互叠加来得到各式各样的颜色。

    颜色 RGB
    (0,0,0)
    (255,255,255)
    (255,0,0)
    绿 (0,255,0)
    (0,0,255)
    (255,255,0)
    (255,0,255)
    (0,255,255)

    Python中几种常用颜色的4种表示形式

    颜色 颜色英文 RGB的整数值 RGB的小数值 十六进制串
    black 0,0,0 (0,0,0) #000000
    white 255,255,255 (255,255,255) #FFFFFF
    red 255,0,0 (255,0,0) #FF0000
    绿 green 0,255,0 (0,255,0) #00FF00
    blue 0,0,255 (0,0,255) #0000FF
    yellow 255,255,0 (255,255,0) #FFFF00
    gold 255,215,0 (255,215,0) #FFD700
    violet 238,130,238 (238,130,238) #EE82EE
    purple 160,32,240 (160,32,240) #A020F0

    红色

    • pencolor ("red")
    • pencolor(255,0,0)
    • pencolor(1,0,0)
    • pencolor("#FF0000")
      绿色
    • pencolor (“green")
    • pencolor(0,255,0)
    • pencolor(0,1,0)
    • pencolor("#00FF00")

    colormode(1.0 [255]):

    • 设置画笔颜色模式,颜色模式取值1.0或255,
      colormode为1.0时r,g,b取值范围为[0,1.0]的小数,
      colormode为255时r,g,b取范围为[0,255]的整数。
    • 默认为colormode(1.0)。
    • 无参数时返回当前颜色模式值。
    • 例:colormode(255)

    绘制内圆边框为红色且填充为紫色、外圆边框为绿色的同心圆,画布为黑色

    #E1-6-2.py
    from turtle import *
    setup(500,500)
    screensize(800,600,"black")
    
    pensize(3)
    colormode(255)
    pencolor("red")
    fillcolor(123,78,189)
    begin_fill()
    circle(50)
    end_fill()
    
    penup()
    goto(0,-50)
    pendown()
    
    pencolor("green")
    speed(20)
    circle(100)
    

    有趣的图像

    #E1-8.py
    from turtle import *
    
    for x in range(100):
          forward(x)
          left(90)
    
    reset()
    
    for x in range(200):
          forward(x)
          left(91)
    
    #E1-9.py
    from turtle import *
    bgcolor("black")
    pensize(3)
    pencolor("red")
    
    for x in range(100):
          circle(x)
          left(91)
    

    相关文章

      网友评论

          本文标题:2020年3月5日 第一章 Python语言基础 -2

          本文链接:https://www.haomeiwen.com/subject/wtuddhtx.html