用Python画一条祥龙,祝您新年龙腾万里

您所在的位置:网站首页 用数字画一只龙的视频 用Python画一条祥龙,祝您新年龙腾万里

用Python画一条祥龙,祝您新年龙腾万里

2024-07-09 02:20:18| 来源: 网络整理| 查看: 265

用Python画一条祥龙,祝您新年龙腾万里

龙年到了,祝大家新年龙行龘龘,龙腾万里!

从2021年开始,我每年都用Python画一幅当年生肖的图。

用Python标准库turtle画一头金牛,祝您新年牛气冲天! 用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利 用Python画一只小兔子,祝您新年前途似锦,大展宏图

今年继续画一条祥龙,为大家送上祝福。

绘图过程录制成了如下视频,点击视频可以先看到效果。

视频展示

用Python画一条祥龙,祝您新年龙腾万里

绘图结果

在这里插入图片描述

实现方法介绍

本文的绘图工具使用Python标准库turtle库,无需安装,导入即可使用。

部分函数用法介绍(如果已经知道基本用法可以跳过此部分):

画布设置

title(): 设置窗口的标题。bgpic():设置背景图片。setup(width, height, x, y): 设置窗口大小和窗口左上角在屏幕中的位置。shape():设置鼠标的形状。done(): 绘图结束后,不自动关闭窗口。

画笔设置

pencolor(color): 设置画笔颜色。width(): 设置画笔宽度。speed(int): 设置画笔的速度,传入1~10的数字,1最慢,10最快。传入其他值会更快,但是没有鼠标移动的动画效果。penup(): 提起画笔,提起后移动画笔不会留下痕迹。pendown(): 落下画笔,开始绘图前先将画笔落下。setx(value): 设置画笔的x轴坐标。sety(value): 设置画笔的y轴坐标。towards(x, y): 设置画笔指向的点。setheading(): 设置画笔的方向。与towards()配合可以设置画笔指向某个点,如setheading(towards(0, 0))可以设置画笔指向原点。pos(): 返回画笔当前的坐标。鼠标移动一段时间后可以print()打印此函数获取鼠标位置。heading(): 返回画笔当前的方向。

画笔操作

circle(radius[, extent=arc]): 画一个圆,传入圆的半径,根据画笔的方向控制圆心的位置,圆心与画笔的方向垂直。传入弧度值可以画出指定弧度的圆弧。left(angle): 画笔左转,传入任意一个目标角度。right(angle): 画笔右转。forward(distance): 画笔前进一段距离。backward(distance): 画笔后退一段距离。goto(x, y): 移动画笔到指定坐标。

颜色填充

begin_fill(): 开始填充。fillcolor(color): 设置图形中填充的颜色。end_fill(): 结束填充。

具体画图时,调整画笔的起点,设置不同的转角度数和不同的前进长度,可以得到不同形状的弧线(其实是折线),用弧线构成完整的图形。

部分代码

# coding=utf-8 """ 作者:小斌哥ge 公众号: 小斌哥ge 微信:XiaoBinnGe- 发表时间:2024年1月 """ from turtle import * import time def set_start(x, y, w=1, c='black'): penup() setx(x) sety(y) setheading(towards(0, 0)) width(w) pencolor(c) pendown() speed(0) def left_rotate(times, angle, length): for i in range(times): left(angle) forward(length) def right_rotate(times, angle, length): for i in range(times): right(angle) forward(length) def fill_color_patch(x, y, c='black'): set_start(x, y, 1, c=c) begin_fill() set_start(x, y, 1, c=c) forward(1) fillcolor(c) end_fill() def draw_tail(): """尾巴""" fill_color_patch(243, 118, c='black') begin_fill() set_start(243, 118, w=2, c='black') right_rotate(1, 145, 10) left_rotate(3, 15, 8) right_rotate(1, 150, 5) left_rotate(2, 5, 5) left_rotate(1, 70, 3) left_rotate(3, 12, 5) left_rotate(1, 15, 8) right_rotate(3, 13, 9) right_rotate(2, 10, 5) left_rotate(3, 15, 10) right_rotate(1, 140, 1) right_rotate(3, 11, 6) right_rotate(3, 10, 8) left_rotate(3, 15, 9) left_rotate(1, 155, 5) right_rotate(2, 12, 12) right_rotate(3, 16, 11) left_rotate(3, 15, 9) right_rotate(3, 6, 12) right_rotate(1, 140, 5) right_rotate(3, 5, 12) right_rotate(3, 10, 5) left_rotate(2, 6, 13) left_rotate(3, 17, 6) left_rotate(1, 150, 5) right_rotate(4, 17, 12) left_rotate(2, 17, 10) left_rotate(2, 16, 10) left_rotate(1, 3, 5) right_rotate(3, 7, 8.5) right_rotate(1, 150, 6) left_rotate(3, 6, 4) right_rotate(3, 7, 10) right_rotate(3, 11, 5) right_rotate(6, 4, 3) left_rotate(2, 4, 12) left_rotate(1, 20, 6) left_rotate(2, 7, 7) left_rotate(1, 155, 5) right_rotate(5, 7, 5) left_rotate(2, 7, 8) left_rotate(4, 6.5, 5) right_rotate(5, 7, 6.5) right_rotate(1, 155, 5) left_rotate(3, 11, 6) right_rotate(3, 5.5, 10) right_rotate(3, 9, 5) right_rotate(6, 4, 4) left_rotate(2, 4, 6) left_rotate(2, 15, 2) left_rotate(1, 90, 2) left_rotate(2, 15, 2) left_rotate(4, 7, 3) right_rotate(5, 3, 5) left_rotate(3, 3, 5) left_rotate(4, 9, 5) right_rotate(1, 155, 5) right_rotate(3, 11, 10) right_rotate(4, 10, 5) left_rotate(3, 9, 6) left_rotate(3, 2, 5.5) left_rotate(1, 138, 3) right_rotate(2, 3, 6) left_rotate(3, 13, 6) left_rotate(2, 4, 6) right_rotate(1, 155, 5) left_rotate(2, 5, 5) right_rotate(3, 12, 5) right_rotate(4, 10, 5) left_rotate(4, 7, 7) left_rotate(1, 110, 4) left_rotate(3, 15, 3) right_rotate(1, 150, 5) right_rotate(3, 10, 4) left_rotate(3, 5, 5) left_rotate(3, 21, 5) left_rotate(2, 15, 5) right_rotate(1, 165, 5) left_rotate(3, 6, 5) left_rotate(3, 12, 5) goto(243, 118) fillcolor('#F66708') end_fill() if __name__ == '__main__': title('龙腾万里(公众号:小斌哥ge)') wide = 900 height = 600 screensize(wide, height, '#EDB700') # screensize(wide, height, '#F5C36B') setup(wide + 30, height + 30, 250, 50) shape(name='turtle') time.sleep(2) draw_tail() # draw_body() # draw_head() # draw_foot() # draw_back() # draw_scale() # draw_ribbon() # draw_eye() set_start(1000, 1000) done()

代码获取

代码有2800行,可以点文章下方的名片用WX关注我,在后台回复关键字“龙腾万里”获取完整代码。

这是第四年,希望你每一年都变得越来越好,每年的心愿都能实现,大家相互陪伴,一起前行。明年继续。

声明:转载、二创等使用本文代码,请注明出处。

相关阅读: 用Python画一只小兔子,祝您新年前途似锦,大展宏图 用Python标准库turtle画一只老虎,祝您新年虎虎生威,大吉大利 用Python标准库turtle画一头金牛,祝您新年牛气冲天!

📢欢迎 点赞👍 收藏⭐ 评论📝 关注❤ 如有错误敬请指正!

☟ 学Python,点击下方名片关注我。☟



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭