太厉害了!用Python做一个大风车,继续吱呦呦地转!转载

原创
小哥 3年前 (2022-10-17) 阅读数 45 #大杂烩

巨大的风车,吱吱作响。巨大的风车吱吱作响,吱吱作响。

这里的风景啊真的很美!天空是美丽的,地球是美丽的......

一首耳熟能详的歌,有没有把你带回童年?

这首歌,我想,每一首歌,这首歌,我想,每一首歌,我想,每一首80后、90童年后的回忆!童年后的记忆!童年后的回忆!童年回忆之后!

小时候,家里的电视上,只要你听到主题曲,代表各种好的动画片就会立刻播出。

又是一年6·1儿童节,作为一个Python数字,当然,考虑一下可以做什么python做点什么.做点什么,做点什么,做点什么--

Turtle画一个大风车画风车画风车

第一步是观察风车的重要部件,四个风扇叶片和一个支撑杆。

其中扇叶可以通过构造函数来重复绘制4次获得。

以下是绘制风车风扇叶片的代码部分。

def draw_sector(col1,col2):
    
    turtle.color(col1,col1)
    turtle.circle(30,90)
    turtle.right(90)
    turtle.begin_fill()
    turtle.fd(120)
    turtle.right(90)
    turtle.fd(150)
    turtle.right(135)
    turtle.fd(150*(1.414)-30)
    turtle.end_fill()
    
    turtle.color(col2,col2)
    turtle.begin_fill()
    turtle.right(90)
    turtle.circle(30,90)
    turtle.right(90)
    turtle.fd(75*1.414-30)
    turtle.right(90)       
    turtle.fd(150/1.414)
    turtle.right(135)
    turtle.fd(120)
    turtle.end_fill()
    
    turtle.right(90)

我们只需要骑四次车就能得到风车最核心的部分。

# 绘制四个扇区绘制四个扇区绘图四个扇区绘制四个扇区
turtle.pensize(3)
draw_sector(green,darkgreen)
draw_sector((26,188,156),(22,160,133))
draw_sector((241,196,15),(243,156,18))
draw_sector((231,76,60),(192,57,43))

具体绘制过程如下图所示。具体绘制过程如下所示

为了能够注意到:为了能够turtle库使用RGB颜色表示时,小吴在代码中增加了一行。

turtle.Screen().colormode(255)

这样最中心的部分就画出来了,那么支撑杆就更简单了。

只需设置适当的宽度和颜色,然后绘制一条线段。

turtle.pensize(50)
turtle.goto(0,32)
turtle.right(90)
turtle.color(lightgray)
turtle.fd(350)

最终渲染和最终呈现????最终结果????最终渲染????????

因此,我们画了一个可以手持的风车,但故事才刚刚开始。

怎么做一个大风车,那个怎么做一个大风车。如何让这座巨大的风车 吱吱作响,吱吱作响,吱吱作响 这就是今天文章的主要焦点。这是今天文章的主要焦点。这是今天帖子的主要关注点。这是今天这篇文章的主要关注点。

我在这里使用的方法是。我在这里使用的方法是。这里我使用的方法是。在这里,我使用以下方法。

  1. 用Turtle画一个以不同角度旋转的大风车

  2. 将Turtle绘制的界面保存为本地图像,绘制的界面保存为本地图像

  3. 将图像的所有角度合并为一个 gif 动图

以上这些步骤是可用的,以上步骤可以用这些步骤来完成python实现自动处理会简单得多。

保存为jpg图片

首先,海龟映射首先,海龟映射首先,海龟映射(Turtle Graphics)该库是一个非常好的矢量绘图工具。库是一个非常好的矢量绘图工具。

但是,要将其绘制结果另存为本地图像,需要执行几个步骤。

# 保存eps
ts = turtle.getscreen()
ts.getcanvas().postscript(file=r"结果.eps")

以上两行代码只能更改 Turtle 图形另存为图形另存为图形另存为 eps 矢量格式。

eps 可以使用格式化图像使用格式化图像可以使用格式化图像可以使用格式图片PS打开,然后手动另存为打开,然后手动另存为打开,手动另存为打开,然后手动另存为png、jpg但是学习起来太麻烦了python绝对优先,绝对优先,绝对优先python批量转换。批量转换。批量转换。

通过搜索,我发现我可以通过搜索使用,我通过查找发现我可以使用,我通过查找发现我可以使用,我发现我可以使用 PIL 执行图像格式转换。执行图像格式转换。进行图像格式转换。进行图像格式转换。

from PIL import Image
im = Image.open("结果.eps")
im.save("结果.jpg", "JPEG")

但是,如果您直接运行我的代码,将会报告一个错误。 OSError: Unable to locate Ghostscript on paths

表示未在环境变量中找到任何环境变量表示未在环境变量中找到表示未在环境变量中找到 Ghostscript这需要下载和安装软件 [1]

官网下载地址。官方下载地址。 https://www.ghostscript.com/download/gsdnld.html

安装与您的计算机匹配的版本,然后配置环境变量。

例如,我自己将其直接安装到C当盘子放上去的时候,就是当盘子放上去的时候,你要把盘子放上去的时候,就要把它放上去 C:Program Filesgsgs9.54.0in 加到path打开以配置环境变量。配置环境变量。打开以配置环境变量。

最后,再次重启,最后再次重启,最后再次重启,再次重启IDE或命令行,它将工作得很好(因为修改path(在当前运行环境后,需要重新启动才能生效)。

完成上述步骤后,我们可以稍后直接下载turtle打印结果不再需要截图。

从不同角度画画从不同角度画画用不同角度画画

从不同角度画画从不同角度画画用不同角度画画,其实有很多办法,这里我只讲一种方案。

圆周长 = 圆周率 × 半径 × 2字母公式是字母公式是字母方程式是 C = 2πr

我的解决方案是:乌龟箭先绕半径30每次前进一个不同的圆周,然后正常绘制。在这种情况下,它相当于围绕这个中心不停地旋转。

加上我们之前学到的东西,再加上你之前学到的东西,再加上我们之前学到的东西,再加上你之前学到的东西 保存Turtle为保存jpg 这将生成这将生成这生成这生成360°风车的照片也从不同的角度。

for i in range(116):
    draw_windmill(i)

批量绘制+另存为

以这种方式产生近似以这种方式产生近似以这种方式产生大致以这种方式产生近似100多个图像。多张照片。很多照片。多图像。

图片合成 gif 动图

如何合成图像如何合成图片如何合成图片如何合成图像 gif 动图?

我直接指的是黄的前一篇文章 [2] 代码使用,关键步骤有注释。要使用的代码,关键步骤有注释。

这允许你使用这将允许你使用这使使用这允许你使用python合成图像是合成图片 gif 动图了????

def func(DURATION):
    # 获取当前工作路径获取当前工作路径获取当前工作路径
    path = os.getcwd()
    # 获取当前工作路径下的文件列表
    file_list = os.listdir(path)
    # 将文件列表复制到另一个列表
    jpg_list = file_list.copy()
    # 删除不是的结尾删除不是删除的结尾不是删除不是的结尾png在图像中,只保留结尾的所有图像,只保留结尾的所有图像,只保留结尾的png的图片
    for file in file_list:
        if file[-3:]!= "jpg":
            jpg_list.remove(file)
    # 按升序排列图片中的数字
    jpg_list.sort(key=lambda x: float(x[:-4]))
    # 获取每个图像的绝对路径,并获取每个照片的RGB表示通道值的通道值,表示通道值的通道值7张照片的RGB通道值,保存在列表通道值中,存储在列表通道值中,保存在列表中
    
    print(jpg_list)
    frames = []
    for png in jpg_list:
        image_path = os.path.join(path, png)
        frames.append(imageio.imread(image_path))
    # 将图像保存为将图片另存为将图像另存为gif绘制和设置间隔时间图并设置间隔时间图和设置间隔时间图和设置间隔
    gif_path = os.path.join(path, "my_gif.gif")
    imageio.mimsave(gif_path, frames, GIF, duration=DURATION)

设置间隔时间并执行设置间隔并执行设置间隔时间并执行设置间隔并执行

func(0.008)

看看效果

旋转手持风车旋转手持风车 ????

池塘边的榕树上,知更鸟在呼唤夏天......

我希望我画的这个大风车能带给你童年的回忆。

代码下载

如果你们中任何人对本文的代码感兴趣    在公号的后台回复“ 小助手 ” 找到他并得到它,代码字找到他并获得它,代码字61你可以得到所有的代码!你可以得到完整的代码!你可以得到所有的代码!你可以通过点击这里获得所有的代码!

推荐阅读:
入门: 最完整的零基学习最全面的零基学习最完整的零基学习Python的问题  | 从零开始学习从零基础学习从零基础学习8个月的Python  | 实战项目 |学Python这是捷径这是捷径就是这条捷径
干货:爬行豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析最佳球员分析 |   从万众期待到口碑惨败!唐探3令人失望  | 笑新伊田图龙记笑新伊田图龙记笑新伊田图龙记 | 谜语之王回答灯谜之王灯谜之王谜语之王 |用Python人山人海素描图人山人海素描图人山人海 Dishonor太火了,我用机器学习做了一个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python日常酷跑游戏日常酷跑游戏日常酷跑游戏!
AI: 会写诗的机器人会写诗的机器人会写诗的机器人 | 给图片上色给图片上色给图片上色 | 预测收入 | 《耻辱》太火了,我用机器学习做了一部迷你推荐系统电影
小工具: Pdf转Word易于修复表单和水印!易于处理的表单和水印!轻松修复桌子和水印!易于修复的形式和水印! | 一键把html将页面另存为网页另存为网页另存为pdf!|  再见PDF提款费!提款费!提款费!提款费用! | 用90构建最强大的代码行构建最强大的代码行构建最强大的代码行PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一个固定的低成本机票提醒!制作一张别针的低价机票提醒! |60代码行做了一个语音墙纸切换,天天见女士!

年度弹出文案年度弹出文案年度爆炸性文案

  • 1). 卧槽!Pdf转Word用Python轻松搞定 !

  • 2).学Python闻起来好香!我用100一行代码做了一个网站,帮助人们做了一行代码,做了一个网站,帮助了人们做了一行代码,帮助了人们PS旅行图片赚鸡腿吃旅行图片赚鸡腿

  • 3).第一次播放量过亿,火爆全网,我分析了《顺风车妹妹》,发现了这些秘密

  • 4). 80一行行代码!使用Python让救济金做正确的事做做的人做好事的人A梦分身

  • 5).你必须掌握的东西你必须掌握20个python代码,简短而紧凑,永无止境的有用代码,简短而甜蜜,永无止境的有用的代码,简短而紧凑,永无止境的使用代码,简短而甜蜜,永无止境的用途

  • 6). 30个Python古怪技能集古怪小贴士收藏古怪技能集

  • 7). 我总结的80《菜鸟学习专页》《菜鸟学习专页》《菜鸟学习》Python精选干货.pdf》,都是干货

  • 8). 再见Python!我要学Go了!2500词深度分析词深度分析词深度分析 !

  • 9).发现一只舔狗的福利!这Python爬虫神器太酷了,不能自动下载女孩的照片

点击阅读原文点击查看点击点击阅读点击阅读原文点击查看B站我的20个视频!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门