基于Python中的turtle绘画星星和星空

下面是关于基于Python中的turtle绘画星星和星空的完整攻略:

下面是关于基于Python中的turtle绘画星星和星空的完整攻略:

简介

turtle是Python自带的绘图库,其易学易用的特点受到了众多初学者的欢迎。通过turtle,我们可以用Python来实现各种各样的绘图效果,本攻略将介绍如何使用turtle绘画星星和星空的效果。

绘画星星

绘制星星可以采用turtle库里的forward()和left()函数,先绘制一个五边形,再在分别在五个角上绘制小三角形,最后将小三角形填充。

import turtle 

pen = turtle.Turtle() # 创建一个笔
pen.fillcolor("yellow") # 填充颜色为黄色
pen.pensize(5) # 笔的大小为5

# 绘制五角星
for i in range(5):
    pen.forward(150) # 向前前进150
    pen.right(144) # 右转144度

pen.penup() # 笔抬起
pen.goto(-50,50) # 指定坐标

pen.pendown() # 笔放下
pen.fillcolor("white") # 设置填充颜色为白色

# 绘制小三角形
for i in range(5):
    pen.begin_fill()
    pen.left(72)
    pen.forward(50)
    pen.right(144)
    pen.forward(50)
    pen.end_fill()
    pen.right(72)

turtle.done()

绘画星空

绘制星空,我们可以使用turtle库里的dot()函数,先设置画笔的颜色为白色或者黄色等颜色,再随机生成一个坐标,设置画笔的宽度,最后用dot()函数在随机坐标上画点,可以设置点的数量和大小。

import turtle
import random

pen = turtle.Turtle() # 创建一个笔
pen.speed(0) # 笔的速度最快

# 定义随机坐标生成函数
def random_coordinate(x_min, x_max, y_min, y_max):
    x = random.randint(x_min, x_max)
    y = random.randint(y_min, y_max)
    return x, y

for i in range(5000): # 画5000个点
    pen.penup()
    x, y = random_coordinate(-300, 300, -300, 300) # 随机坐标
    pen.goto(x, y) # 指定坐标
    size = random.randint(1, 5) # 随机大小
    pen.dot(size) # 画点
    pen.pencolor("white") # 设置画笔颜色为白色
    pen.pensize(size/2) # 设置画笔宽度

turtle.done()

通过以上的两个例子,大家可以学习如何使用turtle库来绘制各种形状和效果。

本文标题为:基于Python中的turtle绘画星星和星空

基础教程推荐