python海龟绘图turtle

turtle是python比较好用的画图模块,通过控制pen的移动,很方便实现画图功能。常用的函数如下表:

函数 功能
turtle.setup(width=0.5, height=0.75, startx=None, starty=None) 参数:width, height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。
turtle.bgcolor("black") 设置画面背景色
turtle.bgpic("xxx.gif") 设置背景图片,只支持gif格式
turtle.bye() 退出turtle,无任何提示信息
turtle.exitonclick() 点击后退出turtle
turtle.done() 关闭turtle,一般在使用完turtle后添加,否则会无响应
turtle.pendown() 放下画笔 
turtle.penup() 抬起画笔 
turtle.pensize(int)                          设置画笔宽度,值为整数型
turtle.forward(float)                        画笔前进长度,以像素为单位
turtle.backward(float)                       画笔后退长度,以像素为单位
turtle.right(angle)                          将画笔右转指定的角度
turtle.left(angle)                           将画笔左转指定的角度
turtle.goto(x,y)                             将画笔移动到一个指定的绝对坐标
turtle.setx(x)                               设置画笔向x方向移动的距离,值为实数
turtle.sety(y)                               设置画笔向y方向移动的距离,值为实数
turtle.setheading(angle)                     设定turtle箭头的方向为指定方向,0–东90—北
turtle.home()                                将画笔返回到原点
turtle.circle(r,ext,steps=int)               绘制一个设置半径和阶数的圆(设置之后会绘制多边形)
turtle.dot(d,color)                          绘制一个指定直径的圆点,颜色为字符串类型
turtle.undo()                                取消最后一个图操作
turtle.speed(s)                              设置画笔颜色,为整数类型,且取值在1-10之间
turtle.color(‘str’)                          设置画笔颜色,为字符串类型
turtle.fillcolor(‘str’)                      设置填充颜色,为字符串类型
turtle.begin_fill()                          开始填充
turtle.end_fill()                            结束填充
turtle.filling()                             返回填充状态,True表示填充,False表示没有填充
turtle.clear()                               清除窗口所有内容
turtle.reset()                               清除窗口,将状态和位置复位为初始值
turtle.screensize(w,h)                       设置turtle显示的大小,并设置宽度和高度
turtle.hideturtle()                          隐藏turtle箭头
turtle.showturtle()                          显示turtle窗口
turtle.done()                                使turtle窗口不会自动消失
turtle.isvisible()                           如果turtle可见,返回turtle
turtle.write('TTTTT',font=('Arial',8,'normal')) 在turtle位置编写字符串s,字体由字体名、字体大小、字体类型三部分组成
turtle.position()                            获取画笔的坐标,返回一个元组,值为浮点型

e.g:

#coding:utf-8

import turtle
import math

t = turtle.Turtle()
def setpen(x,y):
    t.penup()
    t.goto(x,y)
    t.pendown()
    t.setheading(0)
    t.pensize(2)
    t.speed(10)

def circle(r,color):
    start_x = 0
    start_y = -r
    setpen(start_x, start_y)
    t.pencolor(color)
    t.fillcolor(color)
    t.begin_fill()
    t.circle(r)
    t.end_fill()


def five_star(r,color):
    setpen(0,0)
    t.pencolor(color)
    t.setheading(162)
    t.forward(r)
    t.setheading(0)
    t.fillcolor(color)
    t.begin_fill()
    for i in range(5):
        t.forward(math.cos(math.radians(18))*2*r) #2cos18°*r
        t.right(144)
    t.end_fill()
    t.hideturtle()


if __name__ == '__main__':
    circle(288,'crimson')
    circle(234,'snow')
    circle(174,'crimson')
    circle(114,'blue')
    five_star(114,'snow')
    input()
    turtle.done()



python海龟绘图turtle_第1张图片

e.g:

#coding=utf-8

import turtle
from numpy import linspace,sin,cos
from math import pi

def draw_point(self,x,y):
    self.penup()
    self.goto(x,y)
    self.pendown()
    self.forward(0)


if __name__ == '__main__':
    window = turtle.Screen()
    window.title('Heart')
    window.setworldcoordinates(-35,-35,30,30)
    window.bgcolor('light blue')
    t = turtle.Turtle()
    t.shape('turtle')
    t.color('pink','red')
    t.width(1)
    t.pencolor('red')
    t.pensize(10)
    t.begin_fill()
    t.getscreen().tracer(10,0)
    l = linspace(0,2 * pi,1000)
    for i in l:
        x = 24 * pow(sin(i),3)
        y = 24 * cos(i) - 8 *cos(2 * i) - 4 *cos(3 * i) - cos(4 *i)
        draw_point(t,x,y)
    t.end_fill()
    t.penup()

    window.exitonclick()

 python海龟绘图turtle_第2张图片

你可能感兴趣的:(Python)