实验 2:turtle 库绘制进阶图形

实验任务:

1. 绘制嵌套彩色五角星(大小逐层递减)

2. 设计函数绘制自定义正多边形(边数与颜色参数化

3. 扩展:实现动态旋转花瓣图案。

实验一:

代码:

import turtle
import random

# 初始化设置
turtle.setup(800, 600)  # 设置画布大小
turtle.speed(10)        # 设置绘制速度
turtle.colormode(255)   # 启用RGB颜色模式
turtle.hideturtle()     # 隐藏海龟光标
def draw_star(size, color):
    turtle.color(color)
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(size)
        turtle.right(144)
    turtle.end_fill()

def nested_stars():
    turtle.penup()
    turtle.goto(-200, 0)
    turtle.pendown()
    
    sizes = [120, 90, 60, 30]  # 逐层递减的尺寸
    colors = [(255,0,0), (255,165,0), (255,255,0), (0,255,0)]  # 红橙黄绿
    
    for size, color in zip(sizes, colors):
        draw_star(size, color)
        turtle.left(18)  # 轻微旋转产生层次感
        turtle.penup()
        turtle.forward(20)
        turtle.pendown()
if __name__ == "__main__":
    # 任务1执行
    nested_stars()
    turtle.done()

截图:

运行结果:

实验二:

代码:

import turtle

def draw_polygon(sides, color):
    angle = 360 / sides
    turtle.color(color)
    turtle.begin_fill()
    for _ in range(sides):
        turtle.forward(80)
        turtle.right(angle)
    turtle.end_fill()

# 示例调用
turtle.speed(1)
turtle.penup()
turtle.goto(-150, 0)
turtle.pendown()
draw_polygon(5, "blue")  # 蓝色正五边形

turtle.penup()
turtle.goto(0, 0)
turtle.pendown()
draw_polygon(8, "#FF00FF")  # 品红色正八边形(RGB颜色)

turtle.penup()
turtle.goto(150, 0)
turtle.pendown()
draw_polygon(3, (1, 0.5, 0))  # 橙色正三角形(RGB元组)

turtle.hideturtle()
turtle.done()

截图:

运行结果:

实验三:

代码:

import turtle

def draw_petal():
    turtle.circle(80, 60)  # 花瓣上半弧
    turtle.left(120)
    turtle.circle(80, 60)  # 花瓣下半弧
    turtle.left(120)

# 动画配置
turtle.speed(0)
turtle.hideturtle()
turtle.tracer(0)  # 关闭自动刷新
angle = 0

while True:
    turtle.clear()
    turtle.penup()
    turtle.goto(0, -50)
    turtle.setheading(angle)
    turtle.pendown()
    turtle.color("red")
    for _ in range(6):  # 绘制6个花瓣
        draw_petal()
        turtle.right(60)
    turtle.update()
    angle += 0.1  # 每帧旋转0.1度

截图:

运行结果:

实现动态旋转花瓣图案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值