zoukankan      html  css  js  c++  java
  • 绘图工具--turtle模块

    turtle模块主要使用两个类,一个是TurtleScreen类,表示画布(窗口),用来展示画的位置;一个是Turtle类,用来充当画笔,用来画。

    两个类的方法也以同名的函数的形式存在,所以可以以面向过程的形式编程。但当需要多个Turtle对象的时候,其它的Turtle对象就必须以面向对象的形式编程了。

    一、Turtle(画笔)的方法

    1.forward(distance)|fd(distance)  正值表示向前运行,负值相当于backward()

    2.backward(distance)|bk(distance)

    3.setheading(angle)   设置乌龟朝向

    4.goto(x,y)  直接移动到坐标(x,y)位置

    5.left(angle)|lt(angle) 左转多少度,负值表示右转

    6.right(angle)|rt(angle) 右转多少度

    7.speed(x) 设置绘制的速度

    8.circle(radius,angle,steps) 画圆,radius为正值,逆时针画圆弧,angle表示弧度大小,steps表示画出把圆弧分成steps份的多边形。

    9.dot(radius,color)画点,半径radius,颜色color

    10.home()画笔位置和方向回到初始状态

    11.stamp()复制一个turtle,并在下一个turtle的位置显示,该函数返回一个标识代表复制的turtle,用clearstamp()删除

    几个比较难理解的方法:

    shape(appearance) 设置当前turtle的形象

    resizemode(rmode) 设置turtle形象是否可调整。有三个模式:auto user noresize。其中user比较有意思,该模式可以条件turtle的长宽,外部轮廓线粗细,shear(扭曲度)

    tilt(angle) 在当前龟头方向基础上转向angle角度(但不改变运动朝向)

    settiltangle(angle)在原始方向基础上改变angle角度。

    实践

    1.注册一个turtle图像:

    begin_poly()

    fd(10)

    lt(90)

    fd(10)

    end_poly()

    p=get_poly()

    register_shape('newshap',p)

    这样就注册了一个新的turtle形象

    可以通过shape('newshap')改变turtle的形象。

    2.注册一个图形:

    类Shape(mode,data)

    参数1:‘polygon'、‘image'、'compound',分别表示图形是多边形,图片和复合图形

    参数2:描述poly,image的数据,如((1,2),(4,5))和’flower.jpg',‘compound'不需要

    当mode为‘compound’时,通过addcompound(poly,color,fillcolor)添加复合图形的组合元素。

    s=Shape(mode,data)

    register_shape('comp',s)

    3.调用ontimer(f,time)

    def f():

      fd(20)

      lt(30)

      ontimer(f,240)

    f()

    ontimer必须写在函数内,进行循环调用,才能起到效果。

    4.两个输入接口:

    textinput(title,promt)

    numinput(title,promt,default,min,max)

    5.输出字符:

    turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))
  • 相关阅读:
    servlet中doGet()和doPost()的用法
    mybatis动态SQL中的sql片段
    动态SQL语句
    Mybaits的中的对象映射(包含仅有基本数据类型的属性的和对象类型的属性的)
    <img src = "..."/>的一个图片上面怎么在放上字
    启动tomcat时出现The specified JRE installation does not exist 如何解决?
    Navicat图形更改表结构的时,设置外键时出现1452错误
    数据库主键和外键
    数据库设计的过程中的设置外键的作用
    Hibernate 事务管理
  • 原文地址:https://www.cnblogs.com/zhuluqing/p/9005562.html
Copyright © 2011-2022 走看看