当前位置:首页 > 数字艺术 > 正文内容

绘制奥林匹克标志——利用python turtle画奥运五环

admin2周前 (05-25)数字艺术24

绘制奥林匹克标志——利用python turtle画奥运五环

奥运五环

绘制奥林匹克标志——利用python turtle画奥运五环 第1张

先看实际例子。

北京奥运会会徽

北京冬奥会会徽

禁止访问国际奥委会官方网站上的奥运五环标志页面。

皮埃尔·德·顾拜旦先生在1913年提出了奥林匹克标志的构想奥运五环吉祥物图片绘制奥林匹克标志——利用python turtle画奥运五环,并完成了其设计工作。这一标志在《奥林匹克宪章》中得到了明文规定奥运五环吉祥物图片绘制奥林匹克标志——利用python turtle画奥运五环,人们通常称之为奥运五环标志。它在全球范围内享有极高的知名度,是奥林匹克运动会的代表性标志之一。这个标志由五个奥林匹克环紧密相连构成,色彩包括蓝色、黄色、黑色、绿色和红色共五种。这些环从左至右依次相套,上方排列着蓝色、黑色和红色环,下方则是黄色和绿色环。整体形状呈现为一个底端较窄的规则梯形。

五环的两个版本

在北京举办的奥运会中展出的五环标志源自国际奥委会于1986年发布的版本奥运五环吉祥物图片,其设计特点在于环环相扣处故意留有缝隙。本图展示了本文所展示的程序绘制成果。

自2010年起,五环标志的视觉呈现转变为“无缝交错”样式,这种设计在今年(2021年)的东京2020奥运会上得以展现,也将在明年(2022年)初的北京2022冬奥会上亮相。下方的图像展示了本程序的绘制效果。

程序说明 源代码

# -* encoding: utf-8 *
龟类示例:奥林匹克五环标志
# Author: wanghuiict
导入Turtle和Screen模块,分别用于创建海龟对象和屏幕界面。
U=28 # unit
R=2.75
class OlympicRings(Turtle):
    def __init__(self, speed=0):
        Turtle.__init__(self)
        self.hideturtle()
        self.speed(speed)
将宽度乘以步数,再将结果与高度乘以步数的积相乘。
定义一个名为draw_recflag的方法,该方法接受三个参数:step、color默认值为红色、宽度w默认为30、高度h默认为20。
        self.pensize(1)
        self.penup()
        self.home()
        self.left(180)
        self.forward(w/2 * step)
        self.right(90)
执行前向传播操作,参数为h的一半乘以步长减去R乘以步长。
        self.pendown()
        self.fill(True)
        self.color(color)
        self.begin_fill()
        for _ in range(2):
          self.right(90)
          self.forward(w * step)
          self.right(90)
          self.forward(h * step)
        self.end_fill()
        self.penup()
定义函数,实现移动功能,参数包括移动距离和角度,角度默认值为90度,另外还可以指定第二个距离参数,其默认值为0。
        self.penup()
        self.home()
        self.fd(distance)
        self.lt(angle)
        if distance2 != 0:
            self.fd(distance2)
定义函数,名为circle_part,该函数接收三个参数:半径radius、范围extent默认值为360、显示与否show默认为True。
        if radius == 0:
            return
        if not show:
            self.penup()
        else:
            self.pendown()
        self.circle(radius, extent)
        
实现跳转圆形功能,参数包括半径和范围。
执行返回操作,调用自身中的私有方法__circle_part,传入半径、范围和布尔值False作为参数。
定义函数_draw_ring,参数包括半径、范围、颜色,以及一个可选的布尔值showspace,默认为False。
        if showspace == True:
            self.color('white')
            self.pensize(0.7 * U)
执行绘制圆部分操作,半径为radius,范围为extent。
        self.color(color)
        self.pensize(0.5 * U)
        if showspace == True:
            ex = 5 if extent > 0 else -5 
执行绘制半径为radius、扩展值为ex的圆形部分操作。
执行绘制圆形部分操作,半径为radius,范围从负的延伸量减去额外的延伸量开始。
        else:
            self.__circle_part(radius, extent)
定义一个名为draw_5rings的方法,该方法接受一个名为showspace的参数,其默认值为True。
p = [(R乘以U,角度为90度,偏移量为0),(6.4加上R再乘以U,角度为90度,偏移量为0),(负的6.4加上R再乘以U,角度为270度,偏移量为0),]
(-3.2加R的乘积乘以U,270度,3乘以U),(3.2减R的乘积乘以U,270度,3乘以U),(-6.4加R的乘积乘以U,270度,0)。
(R*U, 90度, 0度), ((3.2减去R)乘以U, 270度, 3倍U), ((6.4加上R)乘以U, 90度, 0度)]
c = (R乘以U,45),(0,0),(0,0),
坐标原点为(0, 0),旋转角度分别为135度的R*U,135度的R*U,以及135度的R*U。
(R*U, 225)与(R*U, 315)以及(R*U, 225)均被限制使用。
r包含四个元组,分别为(180,'#232223'),(225,'#EE324E'),(135,'#0081BC'),以及()。
将360度对应的颜色值设为#FCB131,180度对应的颜色值设定为#009D57,225度对应的颜色值指定为#0081BC。
(180, 颜色代码#232223), (180, 颜色代码#009D57), (135, 颜色代码#EE324E)。
        for i in range(9):
执行移动操作至坐标点,具体为(p[i][0], p[i][1], p[i][2])。
执行跳转操作,针对坐标点(c[i][0],c[i][1])调用self._jump_circle方法。
执行绘制环形操作,参数分别为R乘以U、数组r的第i个元素的第一个和第二个值,以及显示空间的标志。
若当前模块作为主程序运行:
    W=60
    H=40
    wn = Screen()
    wn.bgcolor("lightgreen")
    wn.title("The Olympic rings")
    wn.screensize(W*10, H*10)
    
    a = OlympicRings(speed=0)
绘制标志函数,参数为12,颜色设置为白色,宽度为W,高度为H。
    a.draw_5rings(False)
    wn.exitonclick()

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由前沿科技娱乐汇发布,如需转载请注明出处。

本文链接:https://kejiyl.com/post/2713.html

分享给朋友:

“绘制奥林匹克标志——利用python turtle画奥运五环” 的相关文章

义乌有多少电商亏了

义乌有多少电商亏了

义乌,这座位于浙江中部的小城,如今以其在电商领域的卓越成就而闻名遐迩。在当今数字化时代的浪潮下,义乌无疑是电商行业的一颗璀璨明星,它的每一个角落都在被电商的活力所浸润。从历史的角度来看,义乌原本只是一个以传统贸易为主的小城。随着互联网的普及和电子商务的兴起,义乌迅速抓住了这一机遇,开启了它的电商之旅...

音乐制作中 AI 混音的自动化音频增强

音乐制作中 AI 混音的自动化音频增强

在当今的音乐制作领域,AI 混音的自动化音频增强正逐渐成为一个备受瞩目的技术趋势。它为音乐创作者和音频工程师带来了前所未有的机会和挑战,彻底改变了音乐制作的方式和效果。AI 混音的自动化音频增强,顾名思义,就是利用人工智能技术来自动处理和增强音乐混音中的音频信号。通过机器学习算法和大量的音频数据训练...

3D 建模软件借助 AI 实现模型动画角色群体行为模拟

3D 建模软件借助 AI 实现模型动画角色群体行为模拟

在当今的数字艺术领域,3D 建模软件与 AI 的结合正在引发一场,其中模型动画角色群体行为模拟是一个令人瞩目的应用领域。通过利用 AI 的强大能力,3D 建模师能够创建出栩栩如生且具有高度真实感的群体动画,为电影、游戏、虚拟现实等领域带来前所未有的视觉体验。3D 建模软件作为创建三维模型的工具,为动...

音乐制作软件的 AI 智能音频剪辑

音乐制作软件的 AI 智能音频剪辑

在当今数字化的时代,音乐制作软件已经成为了众多音乐爱好者和专业音乐人不可或缺的工具。而其中,AI 智能音频剪辑技术的出现,更是为音频创作带来了前所未有的变革和突破。AI 智能音频剪辑,就像是一位无声的音乐大师,能够在瞬间对音频进行精准的分析、编辑和处理。它凭借着强大的算法和深度学习能力,能够自动识别...

AI 辅助编曲,为音乐创作注入创新活力

AI 辅助编曲,为音乐创作注入创新活力

在当今数字化的时代,音乐创作正迎来一场前所未有的变革。AI 技术的迅速发展,为音乐创作领域带来了全新的可能性,其中 AI 辅助编曲更是成为了众多音乐创作者的得力,为音乐创作注入了创新的活力。AI 辅助编曲的出现,打破了传统编曲的局限性。传统的编曲过程往往依赖于编曲师的经验和技巧,需要花费大量的时间和...

音乐制作软件的 AI 智能节奏编排

音乐制作软件的 AI 智能节奏编排

在当今的音乐制作领域,AI 智能节奏编排正逐渐成为一个引人瞩目的创新力量。它如同一位神秘的音乐魔法师,能够以超乎想象的速度和创造力,为音乐作品注入鲜活的节奏灵魂。音乐制作软件中的 AI 智能节奏编排功能,是基于先进的机器学习算法和大量的音乐数据训练而成。这些算法能够分析和理解各种不同风格的节奏模式,...