欢迎光临散文网 会员登陆 & 注册

Python学习笔记:从入门到放弃(3)在蟒蛇中用海龟画画

2020-03-25 01:52 作者:僚机Wingplane  | 我要投稿

    最近待家里十分怠惰,学习完后没有及时整理,现在算是补上之前欠下的内容,留作记录。

Turtle

    海龟绘图很适合用来引导孩子学习编程。 最初来自于 Wally Feurzeig, Seymour Papert 和 Cynthia Solomon 于 1967 年所创造的 Logo 编程语言。

    调用该py库无需下载,只需Python版本安装了 Tk 支持,使用import turtle即可使用。

面向对象的接口主要使用“2+2”个类:

    Turtlescreen 类定义图形窗口作为绘图海龟的窗口。Screen()函数返回一个TurtleScreen子类的单例对象。TurtleScreen/Screen 的所有方法还存在对应的函数,即作为面向过程的接口组成部分。

    RawTurtle(别名:RawTurtle) 类定义海龟对象在屏幕上绘图。从 RawTurtle 派生出子类Turtle(别名:Pen),该类对象在上绘图,如果实例不存在则会自动创建。

Turtle API

海龟动作

  1. 移动和绘制:

    1. forward() | fd() 前进

    2. backward() | bk() | back() 后退

    3. right() | rt() 右转

    4. left() | lt() 左转

    5. goto() | setpos() | setposition() 前往/定位

    6. setx() 设置x坐标

    7. sety() 设置y坐标

    8. setheading() | seth() 设置朝向

    9. home() 返回原点

    10. circle() 画圆

    11. dot() 画点

    12. stamp() 印章

    13. clearstamp() 清除印章

    14. clearstamps() 清除多个印章

    15. undo() 撤消

    16. speed() 速度

  2. 获取海龟的状态

    1. position() | pos() 位置

    2. towards() 目标方向

    3. xcor() x坐标

    4. ycor() y坐标

    5. heading() 朝向

    6. distance() 距离

    7. position() | pos() 位置

    8. towards() 目标方向

    9. xcor() x坐标

    10. ycor() y坐标

    11. heading() 朝向

    12. distance() 距离

  3. 设置与度量单位

    1. degrees() 角度

    2. radians() 弧度


画笔控制

  1. 绘图状态

    1. pendown() | pd() | down() 画笔落下

    2. penup() | pu() | up() 画笔抬起

    3. pensize() | width() 画笔粗细

    4. pen() 画笔

    5. isdown() 画笔是否落下

  2. 颜色控制

    1. color() 颜色

    2. pencolor() 画笔颜色

    3. fillcolor() 填充颜色

  3. 填充

    1. filling() 是否填充

    2. begin_fill() 开始填充

    3. end_fill() 结束填充

  4. 更多绘图控制

    1. reset() 重置

    2. clear() 清空

    3. write() 书写

    海龟状态

    1. 可见性

      1. showturtle() | st() 显示海龟

      2. hideturtle() | ht() 隐藏海龟

      3. isvisible() 是否可见

    2. 外观

      1. shape() 形状

      2. resizemode() 大小调整模式

      3. shapesize() | turtlesize() 形状大小

      4. shearfactor() 剪切因子

      5. settiltangle() 设置倾角

      6. tiltangle() 倾角

      7. tilt() 倾斜

      8. shapetransform() 变形

      9. get_shapepoly() 获取形状多边形

    使用事件

    1. onclick() 当鼠标点击

    2. onrelease() 当鼠标释放

    3. ondrag() 当鼠标拖动

    特殊海龟方法

    1. begin_poly() 开始记录多边形

    2. end_poly() 结束记录多边形

    3. get_poly() 获取多边形

    4. clone() 克隆

    5. getturtle() | getpen() 获取海龟画笔

    6. getscreen() 获取屏幕

    7. setundobuffer() 设置撤消缓冲区

    8. undobufferentries() 撤消缓冲区条目数

    TurtleScreen/Screen API

    窗口控制

    1. bgcolor() 背景颜色

    2. bgpic() 背景图片

    3. clear() | clearscreen() 清屏

    4. reset() | resetscreen() 重置

    5. screensize() 屏幕大小

    6. setworldcoordinates() 设置世界坐标系

    动画控制

    1. delay() 延迟

    2. tracer() 追踪

    3. update() 更新

    使用屏幕事件

    1. listen() 监听

    2. onkey() | onkeyrelease() 当键盘按下并释放

    3. onkeypress() 当键盘按下

    4. onclick() | onscreenclick() 当点击屏幕

    5. ontimer() 当达到定时

    6. mainloop() | done() 主循环

    设置与特殊方法

    1. mode() 模式

    2. colormode() 颜色模式

    3. getcanvas() 获取画布

    4. getshapes() 获取形状

    5. register_shape() | addshape() 添加形状

    6. turtles() 所有海龟

    7. window_height() 窗口高度

    8. window_width() 窗口宽度

    输入方法

    1. textinput() 文本输入

    2. numinput() 数字输入

    3. Screen 专有方法

    4. bye() 退出

    5. exitonclick() 当点击时退出

    6. setup() 设置

    7. title() 标题

        其中表示颜色时需要按照R,G,B的格式进行表示,每种颜色的数字必须都在0-255之间,部分颜色可以使用诸如'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'pink'来表示。

    所有函数的具体表现形式参照:

    https://docs.python.org/zh-cn/3/library/turtle.html#turtle.colormode

     

    例程1

    画出一朵五彩花

    例程2

    旋风棒棒糖


    参考文章: 

    turtle --- 海龟绘图:https://docs.python.org/zh-cn/3/library/turtle.html#turtle.colormode

    《Python语言应用》 西安外国语大学 康俊民


    Python学习笔记:从入门到放弃(3)在蟒蛇中用海龟画画的评论 (共 条)

    分享到微博请遵守国家法律