• 【Python】-- Turtle绘图(使用代码画喜欢的图形!)


    什么是Turtle?

    turtle库是Python语言中一个很流行的绘制图像的函数库,可以想象一个小乌龟在爬行,它的爬行轨迹就是绘制出来的图形,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。


    一、画布的设置

    方法:turtle.setup(width,height,startx,starty)

    作用:设置主窗体的大小和位置

    参数:

    • width 窗口宽度,整数表示像素值,小数表示窗口宽度与屏幕的比例
    • height: 窗口高度,整数表示像素值,小数表示窗口高度与屏幕的比例
    • startx:窗口左侧与屏幕左侧的像素距离,None表示窗口位于屏幕水平中央
    • starty:窗口顶部与屏幕顶部的像素距离,None表示窗口位于屏幕垂直中央

    二、画笔的控制

    函数说明
    down()画笔落下,移动时绘制图形
    up()画笔抬起,移动时不绘制图形
    setheading(degree)海龟朝向,degree代表角度
    reset()恢复所有设置
    pensize(width)画笔的宽度
    pencolor(colorstring)画笔的颜色
    fillcolor(colorstring)绘制图形的填充颜色
    fill(True)
    fill(False)
    circle(radius,extent)绘制一个图形,其中radius为半径,extent为度数,例如若extent为180,则画一个半圆;如要画一个圆形,可不必写第二个参数
    turtle.clear()清空turtle窗口,但是turtle的位置和状态不改变
    turtle.reset()清空窗口,重置turtle状态为初始状态
    turtle.undo()撤销上一个turtle动作
    turtle.isvisible()返回当前turtle是否可见
    stamp()复制当前图形
    turtle.write(s[,font=("font-name",font_size,"font_type")])写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项,font的参数也是可选项

     三、运动命令

    函数说明
    forward(d)向前移动距离d代表距离
    backward(d)向后移动距离d代表距离
    right(degree)向右转动多少度
    left(degree)向左转动多少度
    goto(x,y)将画笔移动到坐标
    stamp()绘制当前图形
    speed(speed)

    画笔绘制的速度范围[0,10]整数

     小海龟旋转时逆时针为正、顺时针为负,0度向东,90度向北,180度向西,270度向南;负值表示相反方向。

    四、绘图实例

    1、画一个边长为160的三角形

    1. import turtle
    2. a = 160
    3. turtle.forward(a)
    4. turtle.left(120)
    5. turtle.forward(a)
    6. turtle.left(120)
    7. turtle.forward(a)
    8. turtle.done() #done的作用是暂停程序,停止画笔绘制,但绘图窗体不关闭,没有它则窗口会在程序完成时立即关闭

    2、画一个边长为160的正方形

    1. import turtle
    2. a = 160
    3. turtle.pencolor("red")
    4. turtle.pensize(10)
    5. turtle.pendown()
    6. turtle.begin_fill()#此方法在绘制要填充的形状之前调用
    7. turtle.fillcolor("black")
    8. turtle.forward(a)
    9. turtle.left(90)
    10. turtle.forward(a)
    11. turtle.left(90)
    12. turtle.forward(a)
    13. turtle.left(90)
    14. turtle.forward(a)
    15. turtle.end_fill()
    16. turtle.done()

    3、画一个五角星

    1. import turtle
    2. turtle.color("red")
    3. turtle.pensize(5)
    4. for i in range(6):
    5. turtle.forward(100)
    6. turtle.right(144)
    7. turtle.done()

     4、画一个爱心

    1. from turtle import *
    2. def curvemove():
    3. for i in range(200):
    4. right(1)
    5. forward(1)
    6. color("red","pink")
    7. begin_fill()
    8. left(140)
    9. forward(111.65)
    10. curvemove()
    11. left(120)
    12. curvemove()
    13. forward(111.65)
    14. end_fill()
    15. done()

     


    补充

    典型RGB颜色对照表

    英文名称

    R.G.B.

    十六进制

    中文名称

    white

    255 255 255

    #FFFFFF

    白色

    black

    0 0 0

    #000000

    黑色

    grey

    190 190 190

    #BEBEBE

    灰色

    darkgreen

    0 100 0

    #006400

    深绿色

    gold

    255 215 0

    #FFD700

    金色

    violet

    238 130 238

    #EE82EE

    紫罗兰

    purple

    160 32 240

    #A020F0

    紫色

  • 相关阅读:
    并查集路径压缩算法
    【打印机配置】斑马打印机配置步骤
    面试必杀技:Jmeter性能测试攻略大全(第一弹)
    【win10常用命令】
    MyBatis的缓存(包括MyBatis的一级缓存、二级缓存、二级缓存的相关配置、缓存查询的顺序、整合第三方缓存EHCache)
    数据导入与预处理——实验2
    mysql、clickhouse时间日期加法
    模块 Python3
    Revit中创建基于线的砌体墙及【快速砌体排砖】
    HDFS的Shell操作
  • 原文地址:https://blog.csdn.net/Tir_zhang/article/details/128185863