【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)教学类 54 01 超级对对碰 圆点拼图 9 5 0 255 随机 对对碰盲盒概率怎么设计

大家好,欢迎来到IT知识分享网。

作品展示

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

背景需求:

奕娃幼儿园小中大班益智区超级对对碰 – 小红书#幼儿园益智区  #幼儿园益智区素材  #幼儿园区域材料  #幼儿园环创https://www.xiaohongshu.com/discovery/item/6279bb4d000000002103be71?app_platform=android&ignoreEngage=true&app_version=8.34.0&share_from_user_hidden=true&type=video&author_share=1&xhsshare=WeixinSession&shareRedId=ODszMTs4Nk82NzUyOTgwNjg3OTlHS0xC&apptime=

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

我觉得这个拼图比较有趣,适合幼儿选择,就想用Python写出来。

AI的思路是:

1、在画布2100*2970(A4竖版)画布里生成9*5单元格,白色背景、黑色线框,单元格离上下左右边距100,保存为底图

2-1、在每个单元格顶部线条中点为圆心画一个半径为80的圆形,填充0-255的随机颜色

2-2、在每个单元格底部线条中点为圆心画一个半径为80的圆形,填充0-255的随机颜色

2-3、在每个单元格左侧线条中点为圆心画一个半径为80的圆形,填充0-255的随机颜色

2-4、在每个单元格右侧线条中点为圆心画一个半径为80的圆形,填充0-255的随机颜色.

3、继续覆盖一个9*5单元格(便于切割)、保存为彩色拼图。

代码展示:

''' 项目:超级对对碰(色彩圆点)9*6 +底图(颜色0-255随机) 作者:AI对话大师,阿夏 时间: ''' from PIL import Image, ImageDraw import random,os print('--------1、制作图片-----------') path=r'C:\Users\jg2yXRZ\OneDrive\桌面\超级对对碰' folder_path=path+r'\jpg' os.makedirs(folder_path,exist_ok=True) r=80 for ii in range(3): # 创建画布 canvas_width = 2100 canvas_height = 2970 canvas_color = (255, 255, 255) # 白色背景 line_color = (0, 0, 0) # 黑色线条 line_width = 10 margin = 100 # 边距 canvas = Image.new('RGB', (canvas_width, canvas_height), canvas_color) draw = ImageDraw.Draw(canvas) # 计算单元格大小和绘制区域 num_rows = 9 num_cols = 6 cell_size = min((canvas_width - 2 * margin) // num_cols, (canvas_height - 2 * margin) // num_rows) start_x = (canvas_width - cell_size * num_cols) // 2 start_y = (canvas_height - cell_size * num_rows) // 2 # 绘制单元格和圆形 for row in range(num_rows + 1): y = start_y + row * cell_size draw.line([(start_x, y), (start_x + cell_size * num_cols, y)], fill=line_color, width=line_width) for col in range(num_cols + 1): x = start_x + col * cell_size draw.line([(x, start_y), (x, start_y + cell_size * num_rows)], fill=line_color, width=line_width) # 保存图像 canvas.save(folder_path+fr'\{ii:02d}底图.png') # 上边的圆 for row in range(num_rows): for col in range(num_cols): center_x = start_x + (col + 0.5) * cell_size center_y = start_y + row * cell_size circle_radius = r circle_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) draw.ellipse([(center_x - circle_radius, center_y - circle_radius), (center_x + circle_radius, center_y + circle_radius)], fill=circle_color) # 下边的圆 # 绘制圆形 for row in range(num_rows): for col in range(num_cols): center_x = start_x + (col + 0.5) * cell_size center_y = start_y + (row + 1) * cell_size circle_radius = r circle_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) draw.ellipse([(center_x - circle_radius, center_y - circle_radius), (center_x + circle_radius, center_y + circle_radius)], fill=circle_color) # 左边的圆 for row in range(num_rows): for col in range(num_cols): center_x = start_x + col * cell_size center_y = start_y + (row + 0.5) * cell_size circle_radius = r circle_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) draw.ellipse([(center_x - circle_radius, center_y - circle_radius), (center_x + circle_radius, center_y + circle_radius)], fill=circle_color) # 右边的圆 for row in range(num_rows): for col in range(num_cols): center_x = start_x + (col + 1) * cell_size center_y = start_y + (row + 0.5) * cell_size circle_radius = r circle_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)) draw.ellipse([(center_x - circle_radius, center_y - circle_radius), (center_x + circle_radius, center_y + circle_radius)], fill=circle_color) # 绘制单元格和圆形(再加一次黑色框线,便于裁剪) for row in range(num_rows + 1): y = start_y + row * cell_size draw.line([(start_x, y), (start_x + cell_size * num_cols, y)], fill=line_color, width=line_width) for col in range(num_cols + 1): x = start_x + col * cell_size draw.line([(x, start_y), (x, start_y + cell_size * num_rows)], fill=line_color, width=line_width) # 保存图像彩色图片 canvas.save(folder_path+fr'\{ii:02d}.png') print('--------2、png 合并pdf-----------') import os from PIL import Image from reportlab.lib.pagesizes import A4 from reportlab.lib.utils import ImageReader from reportlab.pdfgen import canvas # 指定文件夹路径 # 获取文件夹中的所有PNG图片文件 image_files = [file for file in os.listdir(folder_path) if file.endswith('.png')] # 创建一个新的PDF文件 pdf_file = path+r'\超级对对碰底图.pdf' # 替换为实际的输出PDF文件路径 c = canvas.Canvas(pdf_file, pagesize=A4) # 遍历每个PNG图片文件并将其添加到PDF中 for image_file in image_files: image_path = os.path.join(folder_path, image_file) image = Image.open(image_path) image_reader = ImageReader(image) c.setPageSize(A4) c.drawImage(image_reader, 0, 0, width=A4[0], height=A4[1]) c.showPage() # 保存并关闭PDF文件 c.save() # print(f"合并完成,PDF文件保存在:{pdf_file}") 

 最后结果:

1、JPG文件夹里:生成3张彩色图和3张底图

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

2、JPG文件夹外,:合并1个打印文件

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

教学实践:

时间:2024年5月9日

班级:中4

人数:2人(百日咳隔离)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

纸框后面贴了一张白色铅画纸

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

学具使用现象:

1、9*6格共有54块,数量很多——这份学具真的让孩子们学了很长时间(数独、迷宫、描字帖等学具很多孩子一会儿就完成了)

2、随机颜色太多了,以至于核对大量相近的绿色,花费很长时间,幼儿和老师看得眼睛疼,中途休息了好几次。

3、因为拼上的卡片会移动,所以在卡纸后面贴了一个白色铅画纸(没有框格线),所以幼儿帖的时候一行格子帖歪了。

4、幼儿为了提高效率,把卡片重叠在一起,手动一次性剪,不少卡片剪歪了。

5、两位孩子在两个桌上操作。但都有不少卡片被蹭到地上。(至少有7次拾卡片)——需要2个卡片盒子吗,一个放没有挑选的,一个放选过的不正确的卡片?

6、两套卡片混在一起了,根本看不出是谁的(图案是圆点,结构相同,只有颜色不同,但这个无法区分卡片到底属于那一套。幸运的是我用的卡纸颜色有细微不同(浅绿、浅蓝),这才能区分。

7、幼儿说:”我这里还有白色(白灰色)点子,一点都看不清!“

8、幼儿反复触摸卡片,一些卡片上的彩色圆点颜色被擦掉了。所以彩色打印的圆点卡片都要塑封

9、幼儿多次求助”老师,你帮帮我!“”老师,我做不出”,不想做了!“”这块是哪里的?

学具调整:

1、数量调整:

从9*6(54)(为了凑满A4竖版,保持单元格是正方形)改为8*5(40)、或7*4(28),减少数量,可以提高幼儿制作效率(最前面和最后面都容易做,中间判断筛选费时)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

2、颜色调整:

从0-255随机颜色,改成固定的7-8种不同色系,在它们中间随机取得。这样颜色会少很多,而且只有一种红、一种黄……,就不用区分相近色了。

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

3、在圆点上添加图案。

打印了3份,还留了一份银白纸的图片,我用记号笔在一些浅色的圆点上加上简单的符号,希望用这些符号作为另一种辨识标记,抵抗”相近色(如:绿色)“带来的视觉干扰。

(塑封后,黑色记号笔图案就被保留在图案里)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

4、卡片都用裁纸刀或剪刀切割,边缘整齐

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

5、卡片需要“圆角”

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

【教学类-54-01】20240510超级对对碰(圆点拼图)(9*5、0-255随机)

本来我还想做一款“圆点在单元格左上角坐标、右上角坐标、左下角坐标、右下角坐标”的拼图,但是因为以上的“圆角”,如果打印出来切割的图块,为了安全,四角都会被剪掉一部分。导致圆心部分出现缺失空白。所以就不考虑这种样式了。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/111614.html

(0)
上一篇 2026-01-23 19:00
下一篇 2026-01-23 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信