Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列

简介: Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列

第一章:程序运行

① 效果展示1

看下常规的效果图:


image.gif

② 效果展示2

修改代码可实现特殊效果:

# 设置起始大小
t.setup(width=x, height=y)

修改为:

# 设置起始大小
t.setup(width=2*x, height=2*y)


网络异常,图片无法展示
|

第二章:实现过程

① 绘图数据下载

获取地址:小蓝枣的 csdn 资源仓库

目前可 0 积分下载。

76962f58ddb746c4871bfa4141110174.png

image.png


② 海龟绘图配置项

降低刷新率可提升绘制速度,值越大刷新频率越低,速度越快

t.tracer(5000)

def set_trutle():
    '''
     作用:海龟绘图配置项
     参数:无
     返回:无
    '''
    # 默认颜色区间是[0,1],切换为[0,255]
    t.Screen().colormode(255)
    # 设置起始大小
    t.setup(width=x, height=y)
    # 调整坐标,
    t.setworldcoordinates(0,y,x,0)
    t.pen()
    # 设置绘制速度,0为最快
    t.speed(0)
    # 禁用延迟提升速度
    t.delay(0)
    # 提升速度,值越大越快
    t.tracer(5000)
    # 设置默认画笔颜色为白色
    t.pencolor((255,255,255))
    # 抬起画笔
    t.penup()

③ 本地数据读取

通过下落画笔 t.pendown()

和抬起画笔 t.penup()

来避免连线问题。

def read_data():
    '''
     作用:读取数据项并展示绘制过程
     参数:无
     返回:无
    '''
    # 数据文件读取
    f=open("bigmom.txt","r")
    bigmom_date = f.read().split(" ")
    for i in bigmom_date:
        # 数据分离与转化
        j = i.split("_")
        x1 = int(j[0])
        y1 = int(j[1])
        color = j[2][1:-1].split(",")
        color[0]=int(color[0])
        color[1]=int(color[1])
        color[2]=int(color[2])
        # 下落画笔
        t.pendown()
        # 解决图像只绘制一半的问题
        t.sety(y1)
        # 轨迹追踪与绘制
        t.goto(x1, y1)
        t.color(color)
        # 抬起画笔
        t.penup()
    f.close()
    print("完成")

④ 完整源码

# -*- coding:utf-8 -*-
# 2022-2-24
# 作者:小蓝枣
# 图像绘制:大妈
import turtle as t
import time
x = 246
y = 282
def set_trutle():
    '''
     作用:海龟绘图配置项
     参数:无
     返回:无
    '''
    # 默认颜色区间是[0,1],切换为[0,255]
    t.Screen().colormode(255)
    # 设置起始大小
    t.setup(width=x, height=y)
    # 调整坐标,
    t.setworldcoordinates(0,y,x,0)
    t.pen()
    # 设置绘制速度,0为最快
    t.speed(0)
    # 禁用延迟提升速度
    t.delay(0)
    # 提升速度,值越大越快
    t.tracer(5000)
    # 设置默认画笔颜色为白色
    t.pencolor((255,255,255))
    # 抬起画笔
    t.penup()
def read_data():
    '''
     作用:读取数据项并展示绘制过程
     参数:无
     返回:无
    '''
    # 数据文件读取
    f=open("bigmom.txt","r")
    bigmom_date = f.read().split(" ")
    for i in bigmom_date:
        # 数据分离与转化
        j = i.split("_")
        x1 = int(j[0])
        y1 = int(j[1])
        color = j[2][1:-1].split(",")
        color[0]=int(color[0])
        color[1]=int(color[1])
        color[2]=int(color[2])
        # 下落画笔
        t.pendown()
        # 解决图像只绘制一半的问题
        t.sety(y1)
        # 轨迹追踪与绘制
        t.goto(x1, y1)
        t.color(color)
        # 抬起画笔
        t.penup()
    f.close()
    print("完成")
set_trutle()
read_data()
time.sleep(10000)

喜欢的点个赞❤吧!

目录
相关文章
|
1月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
229 100
|
1月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
319 95
|
2月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
415 99
|
1月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
148 88
|
1月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
258 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
292 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
247 103
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
184 82
|
25天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
153 3

推荐镜像

更多