You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python的turtle库中调整绘制的心形图形尺寸?

解决方法

你的问题核心是单独修改心形的某几个数值会破坏它的比例结构,导致变形。最简单的办法是给整个心形加一个统一的缩放因子,把所有和长度相关的数值按比例缩小,同时把心形封装成函数,方便你调整大小和位置。

下面是修改后的完整代码:

from turtle import *
speed(100)
hideturtle()
width(3.5)

# 绘制骷髅主体
lt(90)
circle(200, extent=180)  # 颅顶
lt(6)
circle(170, extent=45)  # 颧骨1

rt(65)
fd(80)
lt(104)
fd(345) 
lt(104)
fd(80)  # 下颌部分

rt(50)
circle(175, extent=40)  # 颧骨2

penup()
goto(-210, 50)
pendown()
circle(70, extent=360)  # 眼窝1

penup()
goto(-50, 50)
pendown()
circle(70, extent=360)  # 眼窝2

# 封装可缩放的倒置心形函数
def draw_inverted_heart(x, y, scale=1.0):
    penup()
    goto(x, y)
    pendown()
    setheading(180)
    # 带缩放的曲线绘制
    def curve():
        for _ in range(200):
            rt(1)
            fd(1 * scale)
    lt(140)
    fd(111.65 * scale)
    curve()
    lt(120)
    curve()
    fd(111.70 * scale)

# 调用函数绘制适配的鼻子心形,scale控制大小,坐标控制位置
draw_inverted_heart(-130, -20, scale=0.3)

done()

关键说明:

  • 给心形所有移动长度(包括曲线里的小步长)都乘以scale参数,保证整体比例不变,不会变形。
  • 封装成函数后,你只需要修改scale的值就能调整大小,比如scale=0.2会更小,scale=0.5会更大。
  • 调整了心形的起始坐标(-130, -20),刚好适配骷髅的鼻子区域,你可以自己微调这个坐标来移动心形位置。

内容的提问来源于stack exchange,提问作者Wazzabi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:34:59