目录
前言
正文
粽叶绘制
粽叶绳绘制
祝福语绘制
源代码
总结
前言
今天端午节,然后昨天也学习一下绘图的相关知识,然后就想看一下能不能画一下,结果还是有点困难的,用CharAI生成简直一言难尽了。后面是找了一个改了一下。
端午安康,用python给你画盘粽子~啾啾_python画粽子代码_他们叫我技术总监的博客-CSDN博客https://blog.csdn.net/qq_29061315/article/details/125092068
正文
改的时候还是遇到了几个问题的,首先对goto函数的理解错误了,他是按照屏幕的中间作为原点了,之前学其他语言的时候记得是按照屏幕的左上角作为原点。python的turtle库认识和学习(4)之海龟位置(turtle.goto())_lovepython1314的博客-CSDN博客https://blog.csdn.net/weixin_40840880/article/details/102760871
粽叶绘制
这个的话就是要体现立体感觉先画主面再画侧面,我感觉吧这个画图要么需要头脑特别清晰的思路,就是他移动到哪个位置了,角度是朝向哪边,要么就只能像我一样不断调试了,角度不对或者移动的距离不对,每次都要修改很久。
我这里的画笔颜色还是黑色,粽叶的颜色采用的纯绿色,如果画笔也是绿色的话画出来感觉不是很美观,体现不出来线条。正面就是可以用循环来写,但是侧面的角度不同就不能一起写了。这里要保存一个点,方便之后的画封装线。
# 画笔宽度
pensize(2)
# 画笔颜色
pencolor("black")
# 粽子大体的填充色
fillcolor("green")
#开始填充
begin_fill()
#绘制粽子的正面
for i in range(3):
#forward,在当前位置方向移动一定的距离
fd(200)
#画圆弧
circle(15, 120)
#绘制粽子的侧面
fd(200)
circle(15, 60)
fd(100)
circle(15, 90)
fd(173)
circle(1, 90)
#停止填充
end_fill()
#将海龟笔尖提起
penup()
fd(100)
#向右旋转60
right(60)
#向后移动105
back(105)
#表存当前的坐标点
a = pos()
pendown()
粽叶绳绘制
这里用的粽叶绳颜色是深卡其色,大家可以根据自己的审美来修改,可以直接网上找或者用RGB来细化,最后可以通过hideturtle()来隐藏箭头让他更加美观,在箭头调转的时候最好将画笔抬起以及填充关闭,penup()和end_fill()调整要位置和角度之后再打开,除非是你程序故意这样设置的,当然要更直观的看画笔的角度和位置还是要开启去调整的。
#画笔颜色
color("black")
#带子的颜色(深卡其色)
fillcolor("darkkhaki")
#绘制正面的带子
begin_fill()
fd(120)
goto(a)
#pen up调整位置
penup()
back(15)
left(90)
fd(20)
right(90)
pendown()
fd(150)
right(120)
fd(24)
right(60)
fd(120)
right(60)
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(65)
left(100)
fd(24)
left(80)
fd(50)
#结束填充
end_fill()
#画下面的那条带子
#绘制正面的带子
#摆正他的方向
right(50)
#得到a点的坐标
x,y=a
#让a点坐标向右下靠
x=x+30
y=y-50
b=x,y
#提起画笔把初始的位置什么设置好(角度和准备),此时不能填充
penup()
fd(120)
goto(b)
back(15)
left(90)
fd(20)
right(90)
#配置好了之后就可以填充了
begin_fill()
pendown()
#先画下面的直线
fd(210)
right(120)
#右边的直线
fd(24)
right(60)
#上面的直线
fd(180)
right(60)
#左边的直线
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(90)
left(100)
fd(24)
left(80)
fd(75)
#结束填充
end_fill()
# 隐藏turtle图形(箭头)
hideturtle()
祝福语绘制
这个就是goto之前要提起,不然就会留下沿途的痕迹,调用write函数输入祝福语以及字体的相关信息。
#输出祝福语
#将海龟笔尖提起
penup()
goto(-80,-160)
pendown()
write("端午安康",font=('楷体', 30, 'bold'))
最后要保留的界面的话还是要done的,不然就直接关闭了,调试也不好调试。
# 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭pythonTurtle图形化窗口为止
done()
源代码
from turtle import *
# 画粽子
#将海龟笔尖提起
penup()
#将海龟图形移动到画布上指定的位置(算是为了居中绘画吧)
goto(-100,-50)
#将海龟笔尖落下
pendown()
# 画笔宽度
pensize(2)
# 画笔颜色
pencolor("black")
# 粽子大体的填充色
fillcolor("green")
#开始填充
begin_fill()
#绘制粽子的正面
for i in range(3):
#forward,在当前位置方向移动一定的距离
fd(200)
#画圆弧
circle(15, 120)
#绘制粽子的侧面
fd(200)
circle(15, 60)
fd(100)
circle(15, 90)
fd(173)
circle(1, 90)
#停止填充
end_fill()
#将海龟笔尖提起
penup()
fd(100)
#向右旋转60
right(60)
#向后移动105
back(105)
#表存当前的坐标点
a = pos()
pendown()
#画笔颜色
color("black")
#带子的颜色(深卡其色)
fillcolor("darkkhaki")
#绘制正面的带子
begin_fill()
fd(120)
goto(a)
#pen up调整位置
penup()
back(15)
left(90)
fd(20)
right(90)
pendown()
fd(150)
right(120)
fd(24)
right(60)
fd(120)
right(60)
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(65)
left(100)
fd(24)
left(80)
fd(50)
#结束填充
end_fill()
#画下面的那条带子
#绘制正面的带子
#摆正他的方向
right(50)
#得到a点的坐标
x,y=a
#让a点坐标向右下靠
x=x+30
y=y-50
b=x,y
#提起画笔把初始的位置什么设置好(角度和准备),此时不能填充
penup()
fd(120)
goto(b)
back(15)
left(90)
fd(20)
right(90)
#配置好了之后就可以填充了
begin_fill()
pendown()
#先画下面的直线
fd(210)
right(120)
#右边的直线
fd(24)
right(60)
#上面的直线
fd(180)
right(60)
#左边的直线
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(90)
left(100)
fd(24)
left(80)
fd(75)
#结束填充
end_fill()
# 隐藏turtle图形(箭头)
hideturtle()
#输出祝福语
#将海龟笔尖提起
penup()
goto(-80,-160)
pendown()
write("端午安康",font=('楷体', 30, 'bold'))
# 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭pythonTurtle图形化窗口为止
done()
总结
有点简陋,不过祝福是真心的:
愿你的心情像粽子一样饱满,事业和家庭像粽叶一样紧密相连,幸福美满!!!
平安喜乐