首页 > 开发 > Python > 正文

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

2024-09-09 19:03:41
字体:
来源:转载
供稿:网友

*****看一下我定义的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)           #设置当前画笔的方向为angleturtle.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两点。完成。

对应的代码:

#zhongchange(-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()#wuchange(-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)#fengchange(-65, 70)run(0, 130)change(-50, 10)run(0, 100)change(-100, -70)run(0, 200)change(0, -160)run(90, 280)#yuanchange(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)
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表