【教学类-58-06】黑白三角拼图06(1页3张彩色黑点卡片,一种宫格36张,适合一个班级一次操作)

作品展示

背景需求

【教学类-58-05】黑白三角拼图05(2-10宫格,每个宫格随机1张-6张,带空格纸,1页3张黑白3张白卡)-CSDN博客文章浏览阅读343次,点赞10次,收藏6次。【教学类-58-05】黑白三角拼图05(2-10宫格,每个宫格随机1张-6张,带空格纸,1页3张黑白3张白卡)https://blog.csdn.net/reasonsummer/article/details/139220580
学具分析:
1、拿到纸片后,孩子都表示:“不会做!”
2、老师提示他们先画每个单元格的对角线,然后圈出三角形,再涂色
3、由于中间包含了平行四边形、菱形、大三角形等多种相连的造型,幼儿搞不懂。
4、最后我把所有直角三角形的黑边圈好,然后幼儿用记号笔、铅笔涂色。
5、幼儿表示没有兴趣画第二张。


改良思路:
1、黑色三角格子外面套白色的边框,让每个三角形都能凸显出来

2、每个单元格四个角坐标上添加黑色圆点,便于幼儿找到连线的位置

3、黑色三角变成彩色三角,吸引幼儿兴趣。

4、考虑到有些孩子无法模仿绘画三角边黑色线条,可以直接用程序生成一份有黑色线条的答案,幼儿照着左侧的黑白三角图案或彩色三角图案,在相应的三角形黑框内涂黑色或彩色

根据上一次黑白三角学具的教学实践,开展彩色三角块的制作:

代码展示

'''彩色三角图,2宫格36张,3宫格36张……适合班级全体操作随机图片
AI对话大师,阿夏
2024年5月24日'''
import os 
from PIL import Image, ImageDrawfor ys in range(12, 13):path = r'C:\Users\jg2yXRZ\OneDrive\桌面\黑白三角'new = path + fr'\1-10宫格组合图片'os.makedirs(new, exist_ok=True)radius = 5f = 3 * ys  # 一页6张b = 400  # 画布大小by = 10  # 边距for g in range(2, 11):for c in range(1, f + 1):# 创建bxb的画布canvas = Image.new('RGB', (b, b), (255, 255, 255))draw = ImageDraw.Draw(canvas)# 定义表格的行数和列数、边距rows = gcols = gmargin = by# 计算单元格的宽度和高度cell_width = (b - 2 * margin) // colscell_height = (b - 2 * margin) // rows# 绘制表格的竖直线for i in range(cols + 1):x = margin + i * cell_widthdraw.line([(x, margin), (x, b - margin)], fill=(0, 0, 0), width=2)# 绘制表格的水平线for i in range(rows + 1):y = margin + i * cell_heightdraw.line([(margin, y), (b - margin, y)], fill=(0, 0, 0), width=2)# 绘制每个单元格的左上角、右上角、左下角、右下角的黑色圆形for i in range(rows):for j in range(cols):left = margin + j * cell_widthupper = margin + i * cell_heightright = left + cell_widthlower = upper + cell_height# 绘制黑色圆形draw.ellipse([(left - radius, upper - radius), (left + radius, upper + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(right - radius, upper - radius), (right + radius, upper + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(left - radius, lower - radius), (left + radius, lower + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(right - radius, lower - radius), (right + radius, lower + radius)],fill=(0, 0, 0), width=5)# 保存画布mb = f'{g:05d}格{c:05d}02模板{c:05d}.png'canvas.save(new + fr'\{mb}')print('---2、计算三个坐标点的黑色三角形不重复图案有几个-------')# 创建一个空列表用于存储单元格的坐标cell_coordinates = []# 计算每个单元格的四个顶点坐标for row in range(rows):for col in range(cols):top_left = (margin + col * cell_width, margin + row * cell_height)top_right = (margin + (col + 1) * cell_width, margin + row * cell_height)bottom_left = (margin + col * cell_width, margin + (row + 1) * cell_height)bottom_right = (margin + (col + 1) * cell_width, margin + (row + 1) * cell_height)# 将四个顶点坐标添加到列表中cell_coordinates.append([top_left, top_right, bottom_left, bottom_right])# print(cell_coordinates)# print(len(cell_coordinates))# 16# [[(0, 0), (400, 0), (0, 400), (400, 400)], [(400, 0), (b, 0), (400, 400), (b, 400)], [(0, 400), (400, 400), (0, b), (400, b)], [(400, 400), (b, 400), (400, b), (b, b)]]import randomimport oscombinations=[]# 存储选取的点,随机生成坐标(样式)排除重复,生成10份样式不同的模版while len(combinations) < f:selected_points = []for points in cell_coordinates:selected_points.append(tuple(random.sample(points, 3)))combinations.append(tuple(selected_points))print(combinations)print(len(combinations))#  10print('---3、制作三个坐标点的黑色三角形(4个)-------')from PIL import Image, ImageDraw# 定义要绘制的坐标点组合for point_combination in combinations:print(point_combination)# 清空selected_points列表selected_points = []h=1# 遍历每个坐标点组合for combination in point_combination:# 从每个列表中随机选取三个点,并加入到selected_points中selected_points.append(tuple(random.sample(combination, 3)))# 读取图像文件
#                创建bxb的画布canvas = Image.new('RGB', (b,b), (255, 255, 255))draw = ImageDraw.Draw(canvas)# 定义表格的行数和列数、边距rows = gcols = gmargin = by# 计算单元格的宽度和高度cell_width = (b - 2 * margin) // colscell_height = (b - 2 * margin) // rows# 绘制表格的竖直线for i in range(cols + 1):x = margin + i * cell_widthdraw.line([(x, margin), (x, b - margin)], fill=(0, 0, 0), width=2)# 绘制表格的水平线for i in range(rows + 1):y = margin + i * cell_heightdraw.line([(margin, y), (b - margin, y)], fill=(0, 0, 0), width=2)color=['red','yellow','orange','blue','green','purple','pink']# 遍历每个坐标点组合for combination in selected_points:# 绘制填充为黑色的多边形# draw.polygon(combination, fill='black',outline=(255, 255, 255), width=1)draw.polygon(combination, fill=random.choice(color), outline=(0, 0, 0), width=2)# 绘制每个单元格的左上角、右上角、左下角、右下角的黑色圆形for i in range(rows):for j in range(cols):left = margin + j * cell_widthupper = margin + i * cell_heightright = left + cell_widthlower = upper + cell_height# 绘制黑色圆形draw.ellipse([(left - radius, upper - radius), (left + radius, upper + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(right - radius, upper - radius), (right + radius, upper + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(left - radius, lower - radius), (left + radius, lower + radius)],fill=(0, 0, 0), width=5)draw.ellipse([(right - radius, lower - radius), (right + radius, lower + radius)],fill=(0, 0, 0), width=5)# 保存结果图像canvas.save(new + fr'\{g:05d}格{c:05d}01图纸{c:05d}.png')canvas.close()  # 关闭图像文件# # print('---4合并打印------')# 第3步,读取图片写入docx,合并PDFimport os,timefrom docx import Documentfrom reportlab.lib.pagesizes import letterfrom reportlab.pdfgen import canvasfrom PyPDF2 import PdfMergerfrom docx.shared import Cm# 读取123文件夹中的所有图片地址image_folder = newnew_folder = path+r'\零时文件夹'os.makedirs(new_folder, exist_ok=True)image_files = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.endswith('.png')]# 每8个图片一组进行处理grouped_files = [image_files[i:i+6] for i in range(0, len(image_files), 6)]print(grouped_files)# 处理每一组图片for group_index, group in enumerate(grouped_files):# 创建新的Word文档doc = Document(path+r'\模板6格.docx')print(group)# 遍历每个单元格,并插入图片for cell_index, image_file in enumerate(group):# 计算图片长宽(单位:厘米)# 插入图片到单元格table = doc.tables[0]cell = table.cell(int(cell_index / 2), cell_index % 2)# 6列两个都是6cell_paragraph = cell.paragraphs[0]cell_paragraph.clear()run = cell_paragraph.add_run()run.add_picture(image_file, width=Cm(9.4), height=Cm(9.4))# 保存Word文档doc.save(os.path.join(new_folder, f'{group_index + 1:03d}.docx'))# 所有docx合并成PDF# 将10个docx转为PDFimport osfrom docx2pdf import convertfrom PyPDF2 import PdfFileMerger# from PyPDF4 import PdfMerger# output_folder = output_folderpdf_output_path = path+fr'\黑白三角1-10宫格随机每款{ys}张{ys*3}人使用 一黑一白黑点黑边彩色.pdf'# pdf_output_path = path+fr'\黑白三角1-10宫格随机每款{f*ys}图共{ys}张一黑一白黑点白边黑白.pdf'# 将所有DOCX文件转换为PDFfor docx_file in os.listdir(new_folder):if docx_file.endswith('.docx'):docx_path = os.path.join(new_folder, docx_file)convert(docx_path, docx_path.replace('.docx', '.pdf'))# 合并零时文件里所有PDF文件merger = PdfFileMerger()for pdf_file in os.listdir(new_folder):if pdf_file.endswith('.pdf'):pdf_path = os.path.join(new_folder, pdf_file)merger.append(pdf_path)time.sleep(2)# 保存合并后的PDF文件merger.write(pdf_output_path)merger.close()import shutil# 删除输出文件夹import timeshutil.rmtree(new_folder)shutil.rmtree(new)time.sleep(2)

3宫格生成12份,就是12*3=36张,适合一个班级幼儿一次操作量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

玄机平台应急响应—webshell查杀

1、前言 这篇文章说一下应急响应的内容&#xff0c;webshell查杀呢是应急响应的一部分。那么什么是应急响应呢&#xff0c;所谓的应急响应指的是&#xff0c;当网站突然出现异常情况或者漏洞时&#xff0c;能够马上根据实际问题进行分析&#xff0c;然后及时解决问题。 2、应…

新增长100人研讨会:台州制造业企业共探数字驱动下的业绩增长策略

2024年5月17日&#xff0c;纷享销客联合鑫磊压缩机&#xff0c;在台州举办了一场主题为“数字化驱动下的业绩增长策略”的研讨会。本次会议汇聚台州多家制造行业的10余位数字化管理者&#xff0c;共同探讨在数字化转型浪潮中&#xff0c;制造业如何实现业绩的持续增长。 鑫磊压…

计算机二级Access操作题总结——基本操作

基础操作题 设置主键 例&#xff1a;将“线路”表中的“线路ID”字段设置为主键 ①右键单击“线路”表&#xff1b; ②单击【设计视图】&#xff1b; ③鼠标指到表的第一行→“线路ID”处&#xff0c;右键单击&#xff1b; ④单击【主键】 设置有效性规则 例&#xff1a;设…

【Linux】Linux基本指令1

1.软件&#xff0c;OS&#xff0c;驱动 我们看看计算机的结构层次 1.1.操作系统 操作系统是一款做 软硬件管理 的软件 操作系统&#xff08;计算机管理控制程序&#xff09;_百度百科 (baidu.com) 操作系统&#xff08;英语&#xff1a;Operating System&#xff0c;缩写&a…

【全开源】景区手绘地图导览系统源码(ThinkPHP+FastAdmin)

一款基于ThinkPHPFastAdmin开发多地图手绘地图导览系统(仅支持H5)&#xff0c;景区升4A5A必备系统&#xff0c;高级版支持全景。 ​打造个性化游览新体验 一、引言&#xff1a;景区导览系统的革新 在旅游业蓬勃发展的今天&#xff0c;景区导览系统成为了提升游客体验的关键。…

java方法负载问题

先介绍一下方法的重载 下面是例子 方法名都为sum而形参是不同的 记住&#xff01; 是否为重载关系 1在同一个类里面 2形参不同&#xff08;与返回值无关&#xff09; 3方法名一样 第一个图为什么错&#xff1f; 答案&#xff1a;虽然在同一个类里面&#xff0c;并且方法名…

深度学习设计模式之组合模式

文章目录 前言一、介绍二、详细分析1.核心组成2.实现步骤3.代码示例4.优缺点优点缺点 5.使用场景 总结 前言 组合模式是将对象组合成树形结构来表现"整体/部分"层次结构&#xff0c;可以更好的实现管理操作。 一、介绍 组合设计模式又叫部分整体模式&#xff0c;将…

Kali : 安装Google Chrome 浏览器和ChromeDriver

目录 一、安装Google Chrome 浏览器 1、下载Google Chrome 2、安装Chrome 3、安装依赖包 二、安装ChromeDriver 1、查看Chrome版本 ​2、下载ChromeDriver 3、解压下载包 4、设置全局访问 5、赋予可执行权限 6、验证chromedriver 7、程序测试 一、安装Google Chrom…

【全开源】场馆预定系统源码(ThinkPHP+FastAdmin+UniApp)

一款基于ThinkPHPFastAdminUniApp开发的多场馆场地预定小程序&#xff0c;提供运动场馆运营解决方案&#xff0c;适用于体育馆、羽毛球馆、兵乒球馆、篮球馆、网球馆等场馆。 场馆预定系统源码&#xff1a;打造高效便捷的预定体验 一、引言&#xff1a;数字化预定时代的来临 …

【多态】(超级详细!)

【多态】&#xff08;超级详细&#xff01;&#xff09; 前言一、 多态的概念二、重写1. 方法重写的规则2. 重写和重载的区别 三、多态实现的条件四、 向上转型五、动态绑定 前言 面向对象的三大特征&#xff1a;封装性、继承性、多态性。 extends继承或者implements实现&…

基于物联网技术的智能家居实训教学解决方案

引言 随着信息技术的飞速发展&#xff0c;&#xff0c;物联网&#xff08;IoT&#xff09;已深入至我们生活的每一个角落&#xff0c;从智能家居、智能健康、智能交通到智慧城市&#xff0c;无所不在。物联网技术已成为推动社会进步和产业升级的重要力量。智能家居作为物联网技…

5位机械工程师如何共享一台服务器算力

在数字化浪潮的推动下&#xff0c;算力共享技术正逐渐成为机械工程师们提升工作效率、优化资源配置的重要工具。那么五位机械工程师如何共享一台服务器算力呢&#xff1f; 首先&#xff0c;我们需要了解算力共享的基本概念。算力共享是指通过特定的技术手段&#xff0c;将分散…

机器学习之支持向量机SVM

支持向量机 概念 是supported vector machine&#xff08;支持向量机&#xff09;&#xff0c;即寻找一个超平面使样本分成两类&#xff0c;且间隔最大分类 分类 硬间隔 若样本线性可分&#xff0c;且所有样本分类正确情况下&#xff0c;寻找最大间隔&#xff0c;即硬间隔 若…

计算机毕业设计 | springboot+vue汽车修理管理系统 汽修厂系统(附源码)

1&#xff0c;项目背景 在如今这个信息时代&#xff0c;“汽车维修管理系统” 这种维修方式已经为越来越多的人所接受。在这种背景之下&#xff0c;一个安全稳定并且强大的网络预约平台不可或缺&#xff0c;在这种成熟的市场需求的推动下&#xff0c;在先进的信息技术的支持下…

基于python实现的深度学习的车牌识别系统

基于python实现的深度学习的车牌识别系统 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;Django框架工具&#xff1a;pycharm、Navicat、Maven 系统功能实现 登录页面 在车牌识别系统当中肯定是有登录的。怎么说呢&#xff0c;登录页面其实还是和最初的设…

提取Chrome中Cookie工具分享

用法 只需将站点输入即可。 SharpCookieMonster.exe [https://sitename.com] [chrome-debugging-port] [user data dir] 可选的第一个参数分隔chrome启动时最初连接的网站&#xff08;默认为https://www.google.com&#xff09;。 第二个可选参数指定用于启动chrome调试器的…

C++学习/复习7--泛型编程/函数模板/类模板

一、泛型编程 1.Swap()函数的模板实现 二、函数模板 1.概念 2.格式 3.实例化 &#xff08;1&#xff09;隐式与显示 注意事项&#xff1a;隐式与显示类型转换会产生临时变量&#xff0c;临时变量有常性&#xff0c;所以形参前加const 三、类模板 1.定义 2.例1 3.例2 4.注意事…

深入解析三层架构:构建稳定高效的软件系统

概述 顾名思义&#xff0c;三层架构分为三层&#xff0c;分别是“数据访问层”、“业务逻辑层”、“表示层”。 数据访问层&#xff1a;数据访问层在作业过程中访问数据系统中的文件&#xff0c; 实现对数据库中数据的读取保存操作。 表示层&#xff1a;主要功能是 显示数据和…

LeetCode刷题之HOT100之盛最多水的容器

狂风大作&#xff0c;降温了。下午提前把题目做了&#xff0c;上午做的最长回文子串还不是很能理解&#xff0c;慢慢理解吧&#xff0c;且看题 1、题目描述 2、逻辑分析 题目要求很清晰&#xff0c;我的思路就是暴力解法&#xff1a;枚举全部可能的情况&#xff08;两数不相等…

【Qt QML】Dialog组件

带有标准按钮和标题的弹出对话框&#xff0c;用于与用户进行短期交互。 这个描述指的是一个常见的用户界面元素&#xff0c;即一个临时弹出的窗口&#xff08;或对话框&#xff09;&#xff0c;它包含一个标题&#xff0c;显示对话框的用途或内容描述&#xff0c;以及一系列标…