“阅读本文大概需要6分钟”
你好,我是悦创。
圣诞节快到了,你收到手绘的圣诞树了吗?最近,备忘录圣诞树不仅在朋友圈里非常活跃,甚至已经偷偷卷起来了!
在微博上,你甚至能看到#备忘录圣诞树大赛#话题,很多小伙伴在努力地参赛,更新自己的画作。
(图片源自微博)
不得不说,有些参赛选手的作品是相当优秀的,让人直呼“你的备忘录,我的备忘录,好像不一样”,下面就来观摩一下优秀参赛作品:
(图片源自微博)
看了这么多优秀作品,但轮到自己上手的时候,难免出现“一看就会,一画就废”的尴尬境地……
手绘不好圣诞树也没关系,条条大路通罗马,咱们还可以走“技术流派”,用Python来绘制圣诞树,不仅有树,还有飞舞的雪花。
我也是想给我的好朋友来一份不一样的礼物,此处手动@小唐在画画,和我的众多好友。
先给小伙伴们看一下成品,简约的线条勾勒出精心装扮的圣诞树,经典的红绿搭配,大雪纷飞的背景,是不是圣诞氛围拉满呢?
如果你也想用Python画出一棵圣诞树,那下面的教程可要认真学习哦!
这里为了赶速度,就直接写最 Base 的代码。
1. 导入代码与基础配置
from turtle import *
import random as r
screen = Screen()
width, height = 500,500
title("圣诞树")
bgcolor("black")
speed("fastest") #定义速度
setup(500, 500, startx=None, starty=None)
pencolor("green")
pensize(10)
penup()
hideturtle()
goto(0, 150)
showturtle()
pendown()
shape(name="classic")
2. 画第一层
#画第一层
seth(-120)
for i in range(10):
fd(12)
right(2)
penup()
goto(0, 150)
seth(-60)
pendown()
for i in range(10):
fd(12)
left(2)
seth(-150)
penup()
fd(10)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-150)
penup()
fd(8)
pendown()
for i in range(5):
fd(10)
right(15)
seth(-155)
penup()
fd(5)
pendown()
for i in range(5):
fd(7)
right(15)
3. 画第二层
#画第二层
penup()
goto(-55, 34)
pendown()
seth(-120)
for i in range(10):
fd(8)
right(5)
penup()
goto(50, 35)
seth(-60)
pendown()
for i in range(10):
fd(8)
left(5)
seth(-120)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
fd(10)
seth(-145)
pendown()
for i in range(5):
fd(12)
right(15)
penup()
fd(8)
seth(-145)
pendown()
for i in range(5):
fd(10)
right(15)
penup()
seth(-155)
fd(8)
pendown()
for i in range(5):
fd(11)
right(15)
4. 画第三层
#画第三层
penup()
goto(-100, -40)
seth(-120)
pendown()
for i in range(10):
fd(6)
right(3)
penup()
goto(80, -39)
seth(-50)
pendown()
for i in range(10):
fd(6)
left(3)
seth(-155)
penup()
fd(10)
pendown()
for i in range(5):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(8)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-145)
pendown()
for i in range(7):
fd(7)
right(10)
penup()
fd(8)
seth(-140)
pendown()
for i in range(7):
fd(6)
right(10)
5. 画第四层
#画第四层
penup()
goto(-120, -95)
seth(-130)
pendown()
for i in range(7):
fd(10)
right(5)
penup()
goto(100, -95)
seth(-50)
pendown()
for i in range(7):
fd(10)
left(5)
penup()
seth(-120)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-155)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-160)
pendown()
for i in range(6):
fd(8)
right(10)
penup()
seth(-160)
fd(10)
seth(-165)
pendown()
for i in range(5):
fd(10)
right(11)
6. 画树干
#画树干
pencolor("#8B4513")
penup()
goto(-70, -165)
seth(-85)
pendown()
for i in range(3):
fd(5)
left(3)
penup()
goto(70, -165)
seth(-95)
pendown()
for i in range(3):
fd(5)
right(3)
seth(-170)
penup()
fd(10)
pendown()
pendown()
for i in range(10):
fd(12)
right(2)
6. 画雪
#画雪
pencolor("#DCDCDC")
penup()
goto(70, -165)
pendown()
seth(-90)
pensize(8)
circle(-20, 90)
penup()
goto(30, -185)
pendown()
seth(-180)
pensize(8)
fd(40)
penup()
goto(-5, -170)
pendown()
seth(-180)
pensize(8)
fd(35)
def guest(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
right(10)
def guet(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
left(10)
def qu(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(6)
right(10)
seth(-150)
fd(20)
7. 不同形状的雪。。。代码过多,请直接下载源码阅读吧!
1. https://gitee.com/huangjiabaoaiyc/image/raw/master/202112240012836.py
2. https://www.aiycoj.cn/?id=6bfecd4b-c893-4efa-8687-9767deb2f0f0
1.是代码链接,2.是我开发的在线编程并代码分享的链接。推荐使用 2 链接访问。
现在给大家分享一小段其中用来“画上”雪花的函数代码,下面的代码可以在指定坐标放上一条具有一定倾斜角度的雪花。
def guest(x, y, z):
penup()
goto(x, y)
seth(-z)
pendown()
for angel in range(5):
fd(10)
right(10)
看到这里,你有完整的Python画圣诞树的思路吗?公众号后台回复关键词“圣诞树”,获得完整的代码,赶快动动小手试试吧~
“AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。QQ、微信在线,随时响应!V:Jiabcdefh
”
黄家宝丨AI悦创
隐形字
摄影公众号「悦创摄影研习社」
在这里分享自己的一些经验、想法和见解。
长按识别二维码关注