Python基本图形绘制-turtle库

参考:https://blog.csdn.net/zjhysj/article/details/80666085

1、引入包

import  turtle

2、turtle绘图窗体

Turtle.setup(width, height, startx, starty) 设置窗口的位置及其大小

Turtle.bk(d)向海龟后面走d像素

Turtle.fd(d)向海龟前面走d像素     全称为:Turtle.forward(d)

Turtle.circle(r, angle)以左侧距离海龟距离为r的一点为圆心做曲线运动,运动弧度为angel,例:Turtle.circle(20, 90),是画四分之一个圆,

turtle.speed(x) x的取值从0到10,越大速度越快

参考:https://blog.csdn.net/m0_38015368/article/details/79952418

tur.goto(x, y) # x为正即向右前进,y为正则向上前进
tur.goto(100, 0) #向右画直线

例如:

tur.seth(15)    全称为:Turtle.setheading(angle)

tur.fd(50)   #与x夹角15度(右上方向)的长为50的直线

tur.left(190)
tur.fd(50)  #与x夹角190度(左下角)的直线  .left(90)==垂直向上;.left(0)===水平向右;即:left为逆时针
tur.right(90);  #垂直向下;   tur.right(0);水平向右;即:right是顺时针

3、turtle的色彩体系

   turtle.pencolor(), 传入参数设置画笔颜色,可以是颜色的英文如"green", "red", "purple", 也可以是RGB 3元组, 如RGB小数  值 turtle.pencolor(0.63, 0.13, 0.94),元组值  turtle.pencolor((0.63, 0.13, 0.94))。

例如:

import turtle as tur

tur.setup(400, 400, 0, 0) # 设置窗口的位置及其大小

tur.pencolor(0.63, 0.12, 0.52)

tur.right(40)

tur.fd(50)

tur.pencolor('red')

tur.left(80)

tur.fd(50)

##turtle的运动方向控制函数
1,seth(angle) 将turtle当前的方向设置为绝对坐标下的angle角度
2,left(angle) 将turtle朝向设置为海龟当前朝向左侧的angle
2,right(angle) 将turtle朝向设置为海龟当前朝向右侧的angle

##turtle的流程控制
1,turtle画笔默认首先在中心的位置。并且画笔是放下状态
2,turtle.penup() 抬起画笔
3,turtle.pendown() 放下画笔
4,turtle.pensize() 设置画笔的粗细
5,turtle.pencolor() 设置画笔的颜色
6,turtle.done()表示状态,运行完之后不会退出,需要手动退出,如果不加入的话,turtle画布会自动退出
7,turtle.write(c,font=(“Arial”,18,“normal”))来写文字c,包括汉字
8,turtle.hideturtle()函数可以隐藏turtle的的画笔
--------------------- 
原文:https://blog.csdn.net/u013894427/article/details/80261256 

4、画彩色多边形:

t = turtle.Pen()
turtle.bgcolor("black")
# sides = eval(str(input("输入要绘制的边的数目,请输入2-6Dev数字! ")))
sides = 6
colors = ["red", "yellow", "green", "blue", "orange", "purple"]
for x in range(360):
    t.pencolor(colors[x % sides])  # 随机颜色
    t.speed("fast")
    t.forward(x * 3 / sides + x)  # 六边形长度依次增加
    t.left(360 / sides + 1)  # 转动角度依次变化
    t.width(x * sides / 180)
    t.left(91)

t.done()

# print("结束")

# coding:utf-8
import turtle as t
# 绘制小猪佩奇
# =======================================
 
t.pensize(4)
t.hideturtle()
t.colormode(255)
t.color((255, 155, 192), "pink")
t.setup(840, 500)
t.speed(10)
 
# 鼻子
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
t.begin_fill()
a = 0.4
for i in range(120):
    if 0 <= i < 30 or 60 <= i < 90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()
 
t.pu()
t.seth(90)
t.fd(25)
t.seth(0)
t.fd(10)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
 
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255, 155, 192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160, 82, 45)
t.end_fill()
 
# 头
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300, -30)
t.circle(100, -60)
t.circle(80, -100)
t.circle(150, -20)
t.circle(60, -95)
t.seth(161)
t.circle(-300, 15)
t.pu()
t.goto(-100, 100)
t.pd()
t.seth(-30)
a = 0.4
for i in range(60):
    if 0 <= i < 30 or 60 <= i <90:
        a = a+0.08
        t.lt(3)  # 向左转3度
        t.fd(a)  # 向前走a的步长
    else:
        a = a-0.08
        t.lt(3)
        t.fd(a)
        t.end_fill()
 
# 耳朵
t.color((255, 155, 192), "pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 54)
t.end_fill()
 
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50, 50)
t.circle(-10, 120)
t.circle(-50, 56)
t.end_fill()
 
#眼睛
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
 
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
 
t.color((255, 155, 192), "white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
 
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
 
# 腮
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
 
# 嘴
t.color(239, 69, 19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30, 40)
t.circle(40, 80)
 
# 身体
t.color("red", (255, 99, 71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()
 
# 手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)
 
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)
 
# 脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
 
t.pensize(10)
t.color((240, 128, 128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
 
# 尾巴
t.pensize(4)
t.color((255, 155, 192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70, 20)
t.circle(10, 330)
t.circle(70, 30)
t.done()
--------------------- 
作者:hhjian6666 
来源:CSDN 
原文:https://blog.csdn.net/qq_30796379/article/details/87259067 
版权声明:本文为博主原创文章,转载请附上博文链接!

发布了44 篇原创文章 · 获赞 9 · 访问量 8623

猜你喜欢

转载自blog.csdn.net/manmanlu2006/article/details/95752955