Python绘制七夕浪漫樱花树下樱花雨,樱花雨里看樱花

在Python中,海龟绘图是一个内置的模块,它允许用户通过模拟海龟的移动来绘制图形。这个模块特别适合初学者学习编程和图形学的基础。

导入海龟模块

您可以通过以下代码导入海龟模块:

import turtle

基本绘图函数

  • turtle.forward(distance) 或 turtle.fd(distance):使海龟向前移动指定的距离。
  • turtle.backward(distance) 或 turtle.bk(distance):使海龟向后移动指定的距离。
  • turtle.right(angle) 或 turtle.rt(angle):使海龟顺时针转动指定的角度。
  • turtle.left(angle) 或 turtle.lt(angle):使海龟逆时针转动指定的角度。
  • turtle.goto(x, y):将海龟移动到指定的坐标位置。
  • turtle.penup() 或 turtle.pu():提起画笔,移动时不绘制。
  • turtle.pendown() 或 turtle.pd():放下画笔,移动时绘制。
  • turtle.pensize(width):设置画笔的宽度。
  • turtle.pencolor(color):设置画笔的颜色。
  • turtle.speed(speed):设置海龟移动的速度。

绘制简单图形的示例

以下是一个使用上述函数绘制一个正方形的示例代码:

import turtle

# 创建一个海龟对象
t = turtle.Turtle()

# 设置画笔颜色和填充颜色
t.pencolor("blue")
t.fillcolor("lightblue")

# 设置画笔宽度和速度
t.pensize(3)
t.speed(3)

# 绘制一个带填充色的正方形
t.begin_fill()
for _ in range(4):
    t.forward(100)
    t.right(90)
t.end_fill()

# 完成绘图
turtle.done()

高级一点,樱花雨如何绘制,请看大屏幕


from turtle import *  # 导入 Turtle 绘图库的所有功能
from random import random  # 导入 random 模块的 random 函数
from math import cos, radians  # 导入 math 模块的 cos 和 radians 函数

def draw_star(size, points, color='pink'):
    """ 绘制一个多边形(五角星),可指定颜色 """
    pencolor(color)  # 设置画笔颜色
    angle = 180 - (180 * (points - 2)) / points
    begin_fill()  # 开始填充颜色
    for _ in range(points):  
        forward(size)
        right(180 - angle)
        forward(size)
        right(angle * 2 - 180)
    end_fill()  # 结束填充颜色

def draw_circle():
    """绘制粉色小圆圈"""
    x = random() * 800 - 400  # 随机生成 x 坐标
    y = random() * 600 - 300  # 随机生成 y 坐标
    radius = 5  # 小圆圈半径
    pencolor('pink')  # 设置画笔颜色为粉色
    pu()
    goto(x, y)
    pd()
    circle(radius)  # 绘制小圆圈

def draw_tree(branch_length, level):
    pd()  # 下笔,开始绘制
    t = cos(radians(heading() + 45)) / 8 + 0.25
    pencolor(t, t, t)  # 设置画笔颜色
    pensize(branch_length / 10)  # 根据分支长度设置画笔粗细
    forward(branch_length)  # 向前移动绘制分支的长度
    if level > 0:  # 如果还有分支级别

        # 随机生成分支的角度和长度

        angle1 = random() * 15 + 10

        angle2 = random() * 15 + 10

        new_length = branch_length * (random() * 0.25 + 0.7)

        # 绘制右侧分支

        right(angle1)

        draw_tree(new_length, level - 1)

        # 绘制左侧分支

        left(angle1 + angle2)

        draw_tree(new_length, level - 1)

        # 返回到原始位置和方向

        right(angle2)

    else:  # 如果已经到达最底层

        # 在分支末端绘制花朵

        # 在分支末端绘制花朵(改为五角星)
        if level == 0:
            draw_star(10, 5)  # 绘制五角星,大小10,5个点


    pu()  # 抬笔,停止绘制

    backward(branch_length)  # 后退到原来的位置


def main():
    bgcolor(0.956, 0.9255, 0.9882)
    speed(10)
    hideturtle()
    tracer(100)

    # 设置绘图窗口大小
    screensize(800, 600)

    pu()
    backward(100)
    left(90)
    backward(300)

    draw_tree(100, 12)

    # 洒落粉色小圆圈
    for _ in range(100):  # 可以根据需要调整小圆圈的数量
        draw_circle()

    done()


if __name__ == "__main__":
    main()

绘图结果如下:

大家快来试一试吧!!!!!!!!!!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值