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

yipeiwu_com5年前Python基础

*****看一下我定义的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)

以上这篇Python turtle画图库&&画姓名实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python3 assert 断言的使用详解 (区别于python2)

python3 和python以前的版本有点不同 如果你断言的 语句正确 则什么反应都没有 但是如果你出错之后 就会报出 AssertionError 并且错误可以自己填写 格式 :...

Python多维/嵌套字典数据无限遍历的实现

最近拾回Django学习,实例练习中遇到了对多维字典类型数据的遍历操作问题,Google查询没有相关资料…毕竟是新手,到自己动手时发现并非想象中简单,颇有两次曲折才最终实现效果,将过程记...

Python中实现两个字典(dict)合并的方法

本文实例讲述了Python中实现两个字典(dict)合并的方法,分享给大家供大家参考。具体方法如下: 现有两个字典dict如下: dict1={1:[1,11,111],2:[2,2...

Python实现二维数组按照某行或列排序的方法【numpy lexsort】

本文实例讲述了Python实现二维数组按照某行或列排序的方法。分享给大家供大家参考,具体如下: lexsort支持对数组按指定行或列的顺序排序;是间接排序,lexsort不修改原数组,返...

pandas筛选某列出现编码错误的解决方法

如下所示: df = df[df['cityname']==u'北京市'] 记得,如果用的python2,一定要导入 import sys reload(sys) sy...