运用turtle库绘制螺旋正方形及绘制五星红旗

 介绍turtle(海龟)库

turtle(海龟)库是turtle绘图体系的python实现。turtle绘图与1969年诞生,主要用于程序设计入门。turtle(海龟)库是python语言的标准库之一,是一种入门级的图形绘制函数。

绘制螺旋正方形:

导入海龟画图库turtle

#导入海龟画图库turtle

import turtle   #用这种方式导入“import”库名,在下面所有的方法前面必须添加库名turtle

#import turtle as tl     #用"import 库名 as 别名",在下面所有的的方法前面添加别名

#from turtle import *     #用“from 库名 import *”导入库,在下面所有方法前面一定不能添加库名turtle

#后文为了增强大家的印象,一律使用第一种导入方法。

绘制一个从外向里的螺旋正方形:

for i in range(20):
    turtle.pensize(10)     #设置画笔大小为10像素
    turtle.pencolor('green')     #设置画笔颜色为绿色
    turtle.fd(200-i*10)         #设置海龟画笔前进200-i*10像素
    turtle.right(90)           #画笔向下前进方向向右旋转90°

绘制一个从内向外的螺旋正方形:

for i in range(20):
    turtle.pensize(10)
    turtlepencolor('red')
    turtle.fd(20+i*10)
    turtle.left(90)

 运用随即函数绘制颜色不同的螺旋正方形:

import turtle
#随机颜色
import random     #导入随机函数模块
from random import randint
turtle.colormode(255)    #将RGB色彩切换成整数模式
for i in range(0,500,10):      #for循环结构([0,500),i每次增加10)
    #利用随机函数生成不同颜色
    turtle.pensize(5)
    turtle.bgcolor('black')   #设置背景颜色为黑色
    turtle.pencolor((random.randint(0,255),random.randint(0,255),random.randint(0,255)))

    #random:生成随机函数(需要导入),random.randint(x,y):在[x,y]之间随机选择一个整数

    turtle.fd(i)      #向前前进i给像素
    turtle.right(90)     #向下旋转90度

运用turtle库绘制螺旋正方形及绘制五星红旗_第1张图片

至此我们了解了turtle库的基础绘图方法,那么我们接下来绘制一幅五星红旗。

介绍turtle的坐标体系:

因为绘制五角星需要不断调整坐标和角度,所以我们简单了解一下turtle库的坐标体系。

1、空间坐标体系:

turtle.goto(x,y)   #x为横坐标,y为纵坐标

运用turtle库绘制螺旋正方形及绘制五星红旗_第2张图片

2、角度坐标体系 :

turtle.setheading(angle),可以简写为turtle.seth(angle)

-seth()改变海龟的前进方向,但是不行进

-angle为绝对度数

3、画笔控制函数:

turtle.penup()    别名:turtle.pu()/turtle.up()

#抬起画笔

turtle.pendown()  别名:turtle.pd()/turtle.dowm()

#放下画笔

一般成对出现。

绘制五星红旗:

导入turtle库:

import turtle
turtle.speed(10)   #绘制画笔速度

#国旗的底布(绘制填充满的四边形)
turtle.up()
turtle.goto(-200,220)
turtle.down()
turtle.begin_fill()         #开始填充
turtle.fillcolor('red')     #填充颜色
turtle.pencolor('red')      #画笔的颜色
for i in range(2):
    turtle.forward(438)
    turtle.right(90)
    turtle.forward(292)
    turtle.right(90)
turtle.end_fill()          #结束填充

#绘制大五角星
turtle.fillcolor('yellow')     #填充颜色
turtle.pencolor('yellow')      #画笔的颜色
turtle.up()
turtle.goto(-170,145)
turtle.down()
turtle.begin_fill()
for i in range(5):
    turtle.fd(30)
    turtle.left(72)
    turtle.fd(30)
    turtle.right(144)
turtle.end_fill()

#绘制第一颗辅五角星
turtle.up()
turtle.goto(-70,190)
turtle.setheading(305)     #调整海龟移动的角度为305°
turtle.down()
turtle.begin_fill()
for i in range(5):
    turtle.fd(10)
    turtle.left(72)
    turtle.fd(10)
    turtle.right(144)
turtle.end_fill()

#绘制第二颗辅五角星

turtle.up()
turtle.goto(-55,150)
turtle.setheading(30)
turtle.down()
turtle.begin_fill()
for i in range(5):
    turtle.fd(10)
    turtle.left(72)
    turtle.fd(10)
    turtle.right(144)
turtle.end_fill()


#绘制第三颗辅五角星

turtle.up()
turtle.goto(-55,120)
turtle.setheading(3)
turtle.down()
turtle.begin_fill()
for i in range(5):
    turtle.fd(10)
    turtle.left(72)
    turtle.fd(10)
    turtle.right(144)
turtle.end_fill()




#绘制第四颗辅五角星

turtle.up()
turtle.goto(-70,100)
turtle.setheading(300)
turtle.down()
turtle.begin_fill()
for i in range(5):
    turtle.fd(10)
    turtle.left(72)
    turtle.fd(10)
    turtle.right(144)
turtle.end_fill()

 运行结果(隐藏画笔效果)运用turtle库绘制螺旋正方形及绘制五星红旗_第3张图片

最后按需添加绘制人信息即可完成。

turtle.write('绘制员:\n  XXXXXXXXX\n  xxx',font=('宋体',10,'bold'))

运用turtle库绘制螺旋正方形及绘制五星红旗_第4张图片

你可能感兴趣的:(python,python)