机器人
积分排行榜
Scratch
积分排行榜
Python
在线答题
积分排行榜
活跃排行榜
打字练习
Microbit
C++
在线答题
积分排行榜
活跃排行榜
网盘
积分
未登录
未登录
登录学习
作者:
杨辰
更新时间:
2025-05-10 10:08
浏览:
23次
点赞:
2次
热度:
20
import turtle import math import random # 设置画布 screen = turtle.Screen() screen.bgcolor("#f0f0f0") # 浅灰色背景 screen.title("精美心形图案") screen.setup(width=800, height=600) # 创建画笔 pen = turtle.Turtle() pen.speed(0) # 最快速度 pen.hideturtle() # 绘制渐变心形 def draw_heart(size): pen.up() # 从浅红到深红的渐变 colors = ["#ff9999", "#ff7777", "#ff5555", "#ff3333", "#ff1111", "#ff0000"] for i, color in enumerate(colors): pen.color(color) pen.fillcolor(color) pen.begin_fill() # 绘制心形轮廓 for angle in range(0, 360, 2): rad = math.radians(angle) # 心形参数方程 x = 16 * (math.sin(rad)) ** 3 y = 13 * math.cos(rad) - 5 * math.cos(2*rad) - 2 * math.cos(3*rad) - math.cos(4*rad) # 调整大小和位置,创建渐变层次 scale = size * (1 - i*0.1) pen.goto(x * scale, y * scale) if angle == 0: pen.down() pen.end_fill() pen.up() # 绘制闪光效果 def draw_glitters(): pen.color("gold") for _ in range(20): x = random.randint(-150, 150) y = random.randint(-100, 150) size = random.randint(2, 5) pen.goto(x, y) pen.dot(size) # 绘制装饰边框 def draw_border(): pen.color("#ff6666") pen.width(3) pen.up() pen.goto(0, -200) pen.down() pen.circle(200, extent=180) # 下半圆 pen.up() pen.goto(0, 200) pen.down() pen.setheading(180) pen.circle(200, extent=180) # 上半圆 # 绘制文字 def write_text(): pen.up() pen.goto(0, -250) pen.color("#ff3333") pen.write("Love", align="center", font=("Arial", 24, "bold")) # 主绘制函数 def main(): draw_heart(12) # 绘制渐变心形 draw_glitters() # 添加闪光 draw_border() # 添加装饰边框 write_text() # 添加文字 screen.exitonclick() if __name__ == "__main__": main()
点赞成功
分享作品
×