当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Python turtle画图库&&画姓名实例

    栏目:Linux/apache问题 时间:2020-02-02 21:16

    *****看一下我定义的change()和run()函数******

    绘图坐标体系:

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

    turtle.setup(width, height, startx, starty)

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

    画笔控制函数:

    turtle中的画笔(即小海龟)可以通过一组函数来控制;

    turtle.penup();        #抬起画笔(画笔移动时没有痕迹)
    turtle.pendown();       #放下画笔(画笔移动时有痕迹,即作画中)
    turtle.pensize(width)     #设置画笔的尺寸
    turtle.width()         #设置画笔宽度,当无参数输入时返回当前画笔宽度
    turtle.pencolor(colorstring)  #设置画笔颜色
    turtle.goto(x, y)       #将画笔移动至(x,y)处

    形状绘制函数:

    turtle.fd(distance)          #画笔移动distance距离
    turtle.seth(angle)           #设置当前画笔的方向为angle
    turtle.circle(radius, extent=None)   #根据半径radius绘制extent角度的弧形

    我为了精简代码,定义了两个函数:

    change(x, y) : 将画笔的位置设置在(x, y)

    run(angle, length) : 方向为angle ,画笔前进length个单位长度

    def run(angle, lenth):
      turtle.seth(angle)
      turtle.fd(lenth)
     
    def change(x, y):
      turtle.penup()
      turtle.goto(x, y)
      turtle.pendown()
    

    这里我使用 汉字 “中” 来举个例子:

    我们把“中” 字抽象成点。(如图所示的 A、B、C、D、E、F 六个点)

    然后,我们就是要把他们连接起来啊。 我们先连接ABCD四个点。

    变成下图

    然后再连接EF两点。完成。

    对应的代码:

    #zhong
    change(-100, 80)#将画笔放在坐标A(-100, 80)
    run(0, 200)#从A点画到B点
    run(-90, 120)#从B画到C点
    run(180, 200)#从C点画到D点
    run(90, 120)#从D点画到A点
     
    change(0, 150)#将画笔放在坐标E(0, 150)
    run(-90, 300)#从E点画到F点

    画自己的名字嘤嘤嘤

    import turtle
     
    def run(angle, lenth):
      turtle.seth(angle)
      turtle.fd(lenth)
     
    def change(x, y):
      turtle.penup()
      turtle.goto(x, y)
      turtle.pendown()
    def init():
      turtle.pensize(10)
      turtle.pencolor("purple")
      
    turtle.setup(800, 400, 200, 200)
    init()
    #wu
    change(-350, 100)
    run(0, 100)
    run(-90, 70)
    run(180, 100)
    run(90, 70)
    change(-350, 0)
    run(0, 100)
    change(-400, -50)
    run(0, 200)
    change(-300, 0)
    run(-90, 50)
    run(-125, 100)
    change(-300, -50)
    run(-55, 100)
    run(0,10)
    #feng
    change(-65, 70)
    run(0, 130)
    change(-50, 10)
    run(0, 100)
    change(-100, -70)
    run(0, 200)
    change(0, -160)
    run(90, 280)
    #yuan
    change(125, 100)
    run(-35, 40)
    change(125, 25)
    run(-35, 40)
    change(125, -125)
    run(55, 90)
    change(220, 100)
    run(0, 110)
    change(220, 100)
    run(-95,230)
    change(285, 85)
    run(-145, 40)
    change(250, 65)
    run(0, 70)
    run(-90, 80)
    run(180, 70)
    run(90, 80)
    change(250, 25)
    run(0, 70)
    change(285,-15)
    run(-90, 120)
    run(135, 20)
    change(250, -50)
    run(-125, 40)
    change(315, -50)
    run(-55, 50)