教你用python画一个雪容融

简介: 教你用python画一个雪容融

前几天就有很多小伙伴想要雪容融代码,今天就教大家用python画一个雪容融[1]

雪容融(Shuey Rhon Rhon),是2022年北京冬季残奥会的吉祥物,其以灯笼为原型进行设计创作,主色调为红色,头顶有如意环与外围的剪纸图案,面部带有不规则形状的雪块,身体可以向外散发光芒。 [3]


2019年8月21日,2022年北京冬奥会和冬残奥会组委会(简称北京冬奥组委)确定选用雪容融为冬残奥会吉祥物。2019年9月17日,吉祥物雪容融正式对外公布。 [4]

雪容融的整体造型渲染了2022年中国春节的节日气氛,吉祥物灯笼外形的发光属性寓意点亮梦想、温暖世界,代表着友爱、勇气和坚强,体现了冬残奥运动员的拼搏精神和激励世界的冬残奥会理念。 [5]在提供代码之前,给大家说说这次代码中最重要的库——turtle。turtle(海龟)库是turtle绘图体系python的实现;turtle绘图体系:1969年诞生,主要用于程序设计入门;turtle库是python的标准库之一;属于入门级的图形绘制函数库;turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等。Turtle模块绝对是吸引非专业代码开发者人员学习python入门的好工具,通过turtle几行代码的执行软件就会画出漂亮的图形,美观而且有成就感,这样一下子对python编程就产生了兴趣。这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数,就可以产生新的奇形怪状,小朋友们遇到这样的情形绝对会向家长或者老师炫耀。下面我就以玩转Turtle为题进入本篇的介绍。就介绍这么多吧 ,现在上部分代码:

# 创建类:雪容融
 class Shuey:
 # 类的初始化
     def __init__(self, x, y):
         line_color = "black"
         line_size = 1
         t.pensize(line_size)
         t.pencolor(line_color)
         self.head(x, y)
        self.grown(x, y, line_color, line_size)
        self.hat(x, y)
        self.right_arm(x, y)
        self.left_arm(x, y)
        self.body(x, y)
        self.face(x, y, line_color, line_size)
        self.tie(x, y)
        self.belly(x, y, line_color, line_size)
        self.logo(x, y, line_color)

 @classmethod
     def grown(cls, x, y, line_color, line_size):
         t.pencolor("yellow")
         t.pensize(3)
         goto(18 + x, 270 + y)
         t.setheading(90)
         t.circle(15, 60)
         t.circle(-10, 180)
         t.setheading(45)
        t.circle(-40, 120)
        t.setheading(0)
        t.circle(-10, 180)
        t.setheading(-110)
        t.circle(-15, 60)
        t.setheading(140)
        t.circle(70, 50)
        goto(40 + x, 270 + y)
        t.setheading(90)
        t.circle(12, 80)
        goto(60 + x, 262 + y)
        t.setheading(70)
        t.circle(-12, 80)
        t.pensize(line_size)
        t.pencolor(line_color)

                                             

编写头部的绘制函数:

 @classmethod
     def head(cls, x, y):
         t.fillcolor("red")
         goto(18 + x, 266 + y)
         t.begin_fill()
         goto(-103 + x, -118 + y)
         circle(160, -202, 75)  # 1
         circle(76, -220, 60)  # 2
        circle(22, -220, 27)  # 3
        circle(10, -70, 50)  # 4
        circle(-22, -220, 27)  # 5
        t.circle(-260, 40)  # 6
        circle(-99, -198, 56)  # 7
        t.setheading(179)
        t.goto(-103 + x, -118 + y)
        t.end_fill()


编写帽子的绘制函数:

    @classmethod
     def hat(cls, x, y):
         t.fillcolor("white")
         t.begin_fill()
         goto(-82.32 + x, 247.68 + y)
         t.setheading(16.0)
         circle(22, -220, 27)  # 1
         circle(10, -70, 50)  # 2
         circle(-22, -220, 27)  # 3
       circle(142.0, 100, 45)  # 4
        circle(137.0, 140, 60)  # 5
        circle(149, 60, 32)  # 6
        t.end_fill()


编写身体绘制函数:

@classmethod
     def body(cls, x, y):
         # body
         goto(-103 + x, -118 + y)
         t.fillcolor("red")
         t.begin_fill()
         t.setheading(240)
         t.circle(140, 70)
         t.goto(-90 + x, -290 + y)
        t.setheading(-45)
        t.circle(68, 66)
        t.goto(-12 + x, -292 + y)
        t.setheading(-90)
        t.circle(25, 80)
        t.goto(45 + x, -318 + y)
        t.setheading(8)
        t.circle(30, 80)
        t.setheading(48)
        t.circle(120, 35)
        t.setheading(120)
        t.circle(-120, 40)
        t.setheading(10)
        t.circle(80, 20)
        t.goto(113.47 + x, -126.16 + y)
        t.goto(-103 + x, -118 + y)
        t.end_fill()


来看一下效果吧:


以上代码为部分代码

相关文章
|
8月前
|
5G Python
Python 的十万个为什么?
Python 的十万个为什么?
37 3
|
5月前
|
索引 Python
干货!20个Python使用小技巧
干货!20个Python使用小技巧
70 0
|
6月前
|
算法 IDE 程序员
python指南
【7月更文挑战第7天】python指南
49 3
|
Python
Python:使用2to3将Python2转Python3
Python:使用2to3将Python2转Python3
119 0
|
Python 数据采集 开发者
练习PYTHON之EVENTLET
以下是重点,要会运用: eventlet是一个用来处理和网络相关的python库函数,而且可以通过协程来实现并发,在eventlet里,把“协程”叫做 greenthread(绿色线程)。所谓并发,就是开启了多个greenthread,并且对这些greenthread进行管理,以实现非阻塞式的 I/O。
2023 0
|
Shell Python
初识python之技巧总结篇
初识python之技巧总结篇
141 0
初识python之技巧总结篇
|
存储 Python
Python字符串详解
Python字符串详解
139 0
Python字符串详解
|
数据采集 运维 算法
|
JSON 移动开发 数据格式
Python 小抄报
Comprehensive Python Cheatsheet Download text file, PDF, Fork me on GitHub or Check out FAQ. Contents     1.
3431 0
|
人工智能 大数据 物联网
行,Python终于玩大了!
行,Python终于玩大了! Python玩大了! 自2017年国务院印发《新一代人工智能发展规划》,明确指出在中小学阶段设置人工智能相关课程后,Python一路逆袭, 作为人工智能时代最合适的语言,Python无疑被越来越多人追捧,被众多程序员誉为“宇宙最好的编程语言”。
1657 0