【教学类-89-06】20250220新年篇05——元宵节灯笼

背景需求:
每年元宵、国庆都回带孩子做灯笼。用python对"对折灯笼“的纸模进行不同图案的填充(区分物权)
【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华人民共和国成立74周年)_a4 打印 灯笼-CSDN博客文章浏览阅读1.1k次。【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华人民共和国成立74周年)_a4 打印 灯笼https://blog.csdn.net/reasonsummer/article/details/133420000?sharetype=blogdetail&sharerId=133420000&sharerefer=PC&sharesource=reasonsummer&spm=1011.2480.3001.8118

大班孩子剪灯笼纸模水平不一,对”钢琴键”对称剪,也有很多剪断情况。


“剪的我手都酸了!”

孩子们即使做出来,灯笼外圈的一根根线也不是完全”圆圈状“,而是几根一簇并排的样式。



这里就有两个问题:
1、十几根的裁剪线条,并不是和所有的孩子——是否可以做少一点的线条。
2、如果内部不是“圆柱”,而是“棱柱”,边线的环形弯曲效果是不是更好。——制作多边形灯笼。
思路一:在word里手动做了3-8边形

做一个三变形的模板,然后复制四边形,手动拆分表格,一个一个平均列……7个模板做了很长时间



然后用把6个做成pdf(第1次没有考虑3边形,从4-8,圆形)
'''
元宵节多边形灯笼word手工制作,转打印PDF
星火讯飞、阿夏
20251202
'''import os,time
from docx import Document
from PIL import Image
from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT
from PyPDF2 import PdfFileMerger
from docx.shared import Cm # Import Cm here
import pikepdf
import os
from docx import Document
from PyPDF2 import PdfFileMerger
from docx2pdf import convert
from pdf2image import convert_from_path
import pikepdf# 定义文件夹路径
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250216元宵灯笼'
folder_123 = path + r'\图纸'temp_folder = path + r'\零时'
output_folder = os.path.dirname(folder_123)
os.makedirs(temp_folder, exist_ok=True)# 获取所有docx文件
docx_files = [f for f in os.listdir(folder_123) if f.endswith('.docx')]
print(docx_files)# 将每个docx文件转换为PDF
for docx_file in docx_files:doc_path = os.path.join(folder_123, docx_file)pdf_path = os.path.join(temp_folder, docx_file.replace('.docx', '.pdf'))convert(doc_path, pdf_path)time.sleep(2)print(f"所有PDF文件已合并并转换为图片,保存在 {images_folder}")import shutil
shutil.rmtree(temp_folder)# # 合并所有的PDF文件
# pdf_files = [f for f in os.listdir(temp_folder) if f.endswith('.pdf')]
# merger = PdfFileMerger()
# for pdf_file in pdf_files:
# pdf_path = os.path.join(temp_folder, pdf_file)
# merger.append(pdf_path)
# output_pdf_path = os.path.join(path, f'元宵节灯笼{docx_files}张.pdf')
# merger.write(output_pdf_path)
# merger.close()
# time.sleep(5)#




打印出来我随机挑了,两个纸膜制作。并给中班孩子展示制作过程。并提到
“可以选四边形、五边形、六边形”
“这个是立体的很难!”
出生牛犊的孩子们就热烈讨论“我要四边形的!”我要三边形的“。”好难啊!“”什么时候做?“
图片后补
考虑到之前几次的大班”元宵灯“制作的情况:孩子们初次做根本不理解制作方法(裁剪、折叠、黏贴,塑形、提手)最后都是吵着嚷着”老师帮我!”,每次做灯笼都让老师本人手忙脚乱,疲于奔命(浪费老师)。
为了给我自己减少麻烦,我决定把图纸变小,从一页A4一个灯笼变成1页2个灯笼。
这时我就明显看到“word人工制作的多边形”很难快速修改成一页两张。
于是我只能把docxz转jpg
'''
元宵节多边形灯笼word手工制作,转打印PDF
星火讯飞、阿夏
20251202
'''import os,time
from docx import Document
from PIL import Image
from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT
from PyPDF2 import PdfFileMerger
from docx.shared import Cm # Import Cm here
import pikepdf
import os
from docx import Document
from PyPDF2 import PdfFileMerger
from docx2pdf import convert
from pdf2image import convert_from_path
import pikepdf# 定义文件夹路径
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250216元宵灯笼'
folder_123 = path + r'\图纸'temp_folder = path + r'\零时'
output_folder = os.path.dirname(folder_123)
os.makedirs(temp_folder, exist_ok=True)# 获取所有docx文件
docx_files = [f for f in os.listdir(folder_123) if f.endswith('.docx')]
print(docx_files)# 将每个docx文件转换为PDF
for docx_file in docx_files:doc_path = os.path.join(folder_123, docx_file)pdf_path = os.path.join(temp_folder, docx_file.replace('.docx', '.pdf'))convert(doc_path, pdf_path)time.sleep(2)print(f"所有PDF文件已合并并转换为图片,保存在 {images_folder}")import shutil
shutil.rmtree(temp_folder)# # 合并所有的PDF文件
# pdf_files = [f for f in os.listdir(temp_folder) if f.endswith('.pdf')]
# merger = PdfFileMerger()
# for pdf_file in pdf_files:
# pdf_path = os.path.join(temp_folder, pdf_file)
# merger.append(pdf_path)
# output_pdf_path = os.path.join(path, f'元宵节灯笼{docx_files}张.pdf')
# merger.write(output_pdf_path)
# merger.close()
# time.sleep(5)#

因为是整页截图,所以白边也在里面(实际我不需要)

插入空白word,把然后边距改成0,打印时选一页两张。勉强打印了一页两图的小灯笼。
图片后补
给孩子再次示范后,并问:觉得自己不行的,举手,发3边形和4边形。
最后一些手艺好的孩子拿了5-8
操作中,果然孩子们眼睛看会了,操作还是“老师帮帮我!”
求助声音从开始就此起彼伏。所以一张照片也没有拍。
代做过程中,听孩子们叫嚷,真心感觉“自己在自讨苦吃”,孩子们等得都不耐烦了
一些能干的孩子看我忙死,就真的自己研究或和同伴商议了。
孩子们的难点:
1、第一步是什么——把纸张剪成两张(这里的白色缝隙可以不要,两张连在一起)


2、最后一步怎么粘
三位手艺好的孩子困在最后一步。我感觉是黏贴条宽度(1CM)太窄了,可以改成2CM


3、内部直筒的空边还是不要了(本来想让孩子们把这个条中间的白色剪下来做提手,两个灰色保留做最后的黏贴固定。实际操作中幼儿前面的步骤都搞不清楚,所以两张纸互相贴边后,发现根本没黏贴的位置了。我代做时都把这条剪了)


基于实操作中的问题。我认为用word手工做不行
1、全部手工调整,无法获取不同大小——如果想让孩子先练习体验了解制作流程,就需要一页1张、2张、4张
2、手工制作,无法实现很多的”X边形“——我费了一小时,也就做了3-8边形。因为需要反复的拆分、分布列,制作粗线条边框。
实验二——python做word表格
因此,回到python,用它来制作word表格单元格
from docx import Document
from docx.shared import Cm, Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.enum.table import WD_ROW_HEIGHT_RULE # Import the WD_ROW_HEIGHT_RULE enumeration# 创建一个新的Word文档
doc = Document()# 设置上下左右边距为0.7厘米
sections = doc.sections
for section in sections:section.top_margin = Cm(0.7)section.bottom_margin = Cm(0.7)section.left_margin = Cm(0.7)section.right_margin = Cm(0.7)# 添加一个6行5列的表格
table = doc.add_table(rows=6, cols=5)# 设置表格样式
table.style = 'Table Grid'# 设置行高(通过设置单元格的最小高度)
row_heights = [Cm(1.5), Cm(10), Cm(1.5), Cm(1.5), Cm(7), Cm(1.5)]
for i, height in enumerate(row_heights):row = table.rows[i]for cell in row.cells:cell.height_rule = WD_ROW_HEIGHT_RULE.AT_LEAST # Use the correct enumeration valuecell.height = height# 设置列宽
col_widths = [Cm(4), Cm(4), Cm(4), Cm(4), Cm(1.5)]
for i, width in enumerate(col_widths):for row in table.rows:row.cells[i].width = width# 保存文档
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250216元宵灯笼'
doc.save(path + r'\123.docx')
可以生成6行5列表格,可以实现列宽,但是无论怎么调整,行高无法实现,它永远是默认的一倍行距,无法变成我想要的6个单元格高度,
实验三——python做图片(from PIL import Image, ImageDraw)
最后就只剩下做图片了。
把手动word里面3边形模板修改,上下左右边距0,然后做一份连在一起的。顶天立地、全页面的灯笼基础图纸

代码展示(默认制作A4大小210*297,黏贴边2CM)
'''
202502新年05元宵节灯笼python制作图片
星火讯飞、阿夏
20250220
'''from PIL import Image, ImageDraw
import math,os# 宽
w = 2100
# 高
h = 2970
# 骨架贴边
t = 200
# 上下贴边
b = 150
# 外边高度(需要乘以2)
g = 710
# 内柱高度
n = 910
# 虚线
dash_length = 20
space_length = 20path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250216元宵灯笼'
pic=path+r'\00多边形图片'
os.makedirs(pic,exist_ok=True)for d in range(3,50):# X边形(可修改遍历)# d = 3# 创建一个2100x2900的白色背景图片img = Image.new('RGB', (w, h), 'white')draw = ImageDraw.Draw(img)# 画外框图纸border_width = 5# 制作外边# 画一个从(0,0)到(15,210)的长方形灰色底纹填充# (右侧黏贴变宽度200)rectangle_color = (128, 128, 128) # 灰色# 两个灰色draw.rectangle([(0, 0), (w-t, b)], fill=rectangle_color)draw.rectangle([(0, b + g * 2), (w - t, b * 2 + g * 2)], fill=rectangle_color)# 外边框线draw.rectangle([(0, 0), (w - t, b * 2 + g * 2)], outline='black', width=border_width)# 在(0, b*1+g*1)), (w-200, b*1+g*1))的地方画一条黑色2磅间隔2磅的虚线start_y = b + gend_y = start_y + gfor x in range(0, w - t, dash_length + space_length):draw.line([(x, start_y), (x + dash_length, start_y)], fill='black', width=border_width)# 插分等dd = []for x in range(d):f = (w - t) / d * (x)print(f)dd.append(f)print(dd)# 画从0,dd到100,dd的直线(多条)border_width2 = 10for x in dd:draw.line([(x, b), (x, b + g * 2)], fill='black', width=border_width2)# 画内柱图纸# 外边框线draw.rectangle([(w-t,g*2+b*2), (w, h)], fill=rectangle_color, width=border_width2)# 画白色draw.rectangle([(0, b * 2 + g * 2), (w-t, h)], fill='white')# border_width = 5# 制作外边# 画一个从(0,0)到(15,210)的长方形灰色底纹填充# (右侧黏贴变宽度200)rectangle_color = (150, 150, 150) # 灰色# 两个灰色draw.rectangle([(0, b + g * 2), (w - t, b * 3 + g * 2)], fill=rectangle_color)draw.rectangle([(0, h - b), (w - t, h)], fill=rectangle_color)# 外边框线draw.rectangle([(0, b * 2 + g * 2), (w , h)], outline='black', width=border_width2)draw.rectangle([(0, 0), (w-t, b * 2 + g * 2)], outline='black', width=border_width2)# 插分等dd1 = []for x in range(d):f = (w - t) / d * (x+1)print(f)dd1.append(f)print(dd1)# 画从0,dd到100,dd的直线(多条)border_width2=10# # 画从0,dd到100,dd的直线(多条)# 设置虚线的参数dash_length = 30 # 黑线长度space_length = 30 # 空白间隔长度for x1 in dd1:start_x = x1 # 起始x坐标end_x = start_x # 结束x坐标与起始x坐标相同,因为是竖线start_y = b*2+g*2 # 起始y坐标end_y = h # 结束y坐标# 画从上到下的虚线for y in range(start_y, end_y, dash_length + space_length):draw.line([(start_x, y), (start_x, y + dash_length)], fill='black', width=border_width2)# 最下面补一条黑线draw.line([(0, h-15), (w,h-15)], fill='black', width=border_width2)# 保存图片img.save(pic + fr'\{d:02}边形灯笼图纸(A4).png')
虽然这段代码是一句一句的测试,观看图片效果,很费精力,但是完成后,随便多少边形都能快速实现
3边形灯笼纸膜

4边形灯笼纸膜
5边形灯笼纸膜
6边形灯笼纸膜
7边形灯笼纸膜
8边形灯笼纸膜

29边形纸膜
(超过10边形的灯笼已经近似圆形灯笼了),此时内部直筒的折痕线就没有必要折叠了)


然后我不想制作word模板了,而是直接在word里制作表格,插入想要的图片。
from docx import Document
from docx.shared import Cm
import os
# import matplotlib.cm as cmpath = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250216元宵灯笼'
image_folder = os.path.join(path, '00多边形图片')
output_dir = os.path.join(path, '临时')
os.makedirs(output_dir, exist_ok=True)# 一页2图(横板)
t = 2# 创建一个新的Word文档
doc = Document()# 设置页面方向为横向
section = doc.sections[0]
new_width, new_height = section.page_height, section.page_width
section.orientation = 1 # 1表示横向
section.page_width = new_width
section.page_height = new_height# 设置页面边距
section.top_margin = Cm(0.7)
section.bottom_margin = Cm(0.7)
section.left_margin = Cm(0.7)
section.right_margin = Cm(0.7)# 添加一个表格
table = doc.add_table(rows=1, cols=2)# # 计算列宽
column_width = (29.7 - 0.7 * 2) / 2# 设置列宽
for row in table.rows:for cell in row.cells:cell.width = Cm(column_width)# 保存文档
doc.save(os.path.join(path, f'{t}图.docx'))import os
from docx import Document
from docx.shared import Cm
from docx.shared import Cm # Import Cm here
import os,time
from docx import Document
from PIL import Image
from docx.enum.table import WD_CELL_VERTICAL_ALIGNMENT
from PyPDF2 import PdfFileMerger
from docx.shared import Cm # Import Cm here
import pikepdf# 获取123文件夹下所有图片文件名列表image_files = [f for f in os.listdir(image_folder) if f.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif'))]# 将图片列表拆分成每组2个
grouped_images = [image_files[i:i + 2] for i in range(0, len(image_files), 2)]
print(grouped_images)
# 打开1.docx文件for i in range(len(grouped_images)):doc = Document(os.path.join(path, f'2图.docx'))table = doc.tables[0]for j in range(0,2): cell = table.cell(0, j) # 0,2,4# if image_path:run = cell.paragraphs[0].add_run()run.add_picture(os.path.join(image_folder,grouped_images[i][j]), width=Cm(13.25),height=Cm(20.07))# cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# 保存修改后的文档doc_path = os.path.join(output_dir, f"{i+1:02}.docx")doc.save(doc_path)# import os
# from docx import Document
# from reportlab.pdfgen import canvas
# from PyPDF2 import PdfFileMerger
# from docx2pdf import convert# # 获取所有docx文件
# docx_files = [f for f in os.listdir(temp_folder) if f.endswith('.docx')]
# # 获取所有docx文件# # 将每个docx文件转换为PDF
# for docx_file in docx_files:
# doc_path = os.path.join(temp_folder, docx_file)
# pdf_path = os.path.join(temp_folder, docx_file.replace('.docx', '.pdf'))
# convert(doc_path, pdf_path)
# time.sleep(1)# # 合并所有的PDF文件
# # 获取所有生成的PDF文件
# pdf_files = [f for f in os.listdir(temp_folder) if f.endswith('.pdf')]# # 创建PdfFileMerger对象
# merger = PdfFileMerger()# # 将所有PDF文件添加到合并器中
# for pdf_file in pdf_files:
# pdf_path = os.path.join(temp_folder, pdf_file)
# merger.append(pdf_path)# # 输出合并后的PDF文件
# output_pdf_path = os.path.join(path, f'九叠篆篆章单字_中2班_幼儿姓名{len(images_123)}人{int(len(images_123)/12)}张.pdf')
# # output_pdf_path = os.path.join(path, f'九叠篆篆章_中2班_幼儿姓名{len(images_123)}人{int(len(images_123)/12)}张.pdf')
# merger.write(output_pdf_path)
# merger.close()# print(f"所有PDF文件已合并到 {output_pdf_path}")# import shutil
# shutil.rmtree(temp_folder)# # 以下是一行行插入的代码
# # num_docs = len(images_123) // 12
# # for i in range(num_docs):
# # doc = Document(doc_template_path)
# # table1 = doc.tables[0]# # # 添加第一行图片到第一张表格的第一行
# # for j in range(4):
# # cell = table1.cell(0, j)
# # image_path = images_123[i * 12 + j] if (i * 12 + j) < len(images_123) else ""
# # if image_path:
# # run = cell.paragraphs[0].add_run()
# # run.add_picture(image_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 添加第二行图片到第一张表格的第二行(旋转180度)
# # for j in range(4):
# # cell = table1.cell(1, j)
# # image_path = images_234[i * 12 + j] if (i * 12 + j) < len(images_234) else ""
# # if image_path:
# # # 打开图片并旋转180度
# # with Image.open(image_path) as img:
# # img = img.rotate(180, expand=True)
# # img_path = os.path.join(temp_folder, f"temp_{i}_{j}.png")
# # img.save(img_path)# # run = cell.paragraphs[0].add_run()
# # run.add_picture(img_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 删除临时文件
# # os.remove(img_path)# # # 添加第三行图片到第一张表格的第三行
# # for j in range(4):
# # cell = table1.cell(2, j)
# # image_path = images_123[i * 12 + 4 + j] if (i * 12 + 4 + j) < len(images_123) else ""
# # if image_path:
# # run = cell.paragraphs[0].add_run()
# # run.add_picture(image_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 添加第四行图片到第一张表格的第四行(旋转180度)
# # for j in range(4):
# # cell = table1.cell(3, j)
# # image_path = images_234[i * 12 + 4 + j] if (i * 12 + 4 + j) < len(images_234) else ""
# # if image_path:
# # # 打开图片并旋转180度
# # with Image.open(image_path) as img:
# # img = img.rotate(180, expand=True)
# # img_path = os.path.join(temp_folder, f"temp_{i}_{j+4}.png")
# # img.save(img_path)# # run = cell.paragraphs[0].add_run()
# # run.add_picture(img_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 删除临时文件
# # os.remove(img_path)# # # 添加第五行图片到第一张表格的第五行
# # for j in range(4):
# # cell = table1.cell(4, j)
# # image_path = images_123[i * 12 + 8+ j] if (i * 12 + 8 + j) < len(images_123) else ""
# # if image_path:
# # run = cell.paragraphs[0].add_run()
# # run.add_picture(image_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 添加第六行图片到第一张表格的第六行(旋转180度)
# # for j in range(4):
# # cell = table1.cell(5, j)
# # image_path = images_234[i * 12 + 8 + j] if (i * 12 + 8 + j) < len(images_234) else ""
# # if image_path:
# # # 打开图片并旋转180度
# # with Image.open(image_path) as img:
# # img = img.rotate(180, expand=True)
# # img_path = os.path.join(temp_folder, f"temp_{i}_{j+8}.png")
# # img.save(img_path)# # run = cell.paragraphs[0].add_run()
# # run.add_picture(img_path, width=Cm(size), height=Cm(size))
# # cell.vertical_alignment = WD_CELL_VERTICAL_ALIGNMENT.CENTER# # # 删除临时文件
# # os.remove(img_path)# # # 保存修改后的文档
# # doc_path = os.path.join(temp_folder, f"{i+1:02}.docx")
# # doc.save(doc_path)

一页2图,因为有0.7CM白边,所以实际上黏贴边小于2CM。
回到第一个代码,把200的黏贴边,改成250


差不多2CM白边了。明天区打印一张看看效果
相关文章:
【教学类-89-06】20250220新年篇05——元宵节灯笼
背景需求: 每年元宵、国庆都回带孩子做灯笼。用python对"对折灯笼“的纸模进行不同图案的填充(区分物权) 【教学类-39】A4红纸-国旗灯笼纸模(庆祝中华人民共和国成立74周年)_a4 打印 灯笼-CSDN博客文章浏览阅读1…...
C++ Primer 类的静态成员
欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…...
【UCB CS 61B SP24】Lecture 4 - Lists 2: SLLists学习笔记
本文内容为重写上一节课中的单链表,将其重构成更易于用户使用的链表,实现多种操作链表的方法。 1. 重构单链表SLList 在上一节课中编写的 IntList 类是裸露递归的形式,在 Java 中一般不会这么定义,因为这样用户可能需要非常了解…...
【科研绘图系列】R语言绘制小提琴图、散点图和韦恩图(violin scatter plot Venn)
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载画图1画图2画图3画图4画图5画图6画图7参考介绍 【科研绘图系列】R语言绘制小提琴图、散点图和韦恩图(violin & scatter plot & Venn) 加载R包 library…...
Linux中POSIX应用场景
Linux 提供了丰富的 POSIX(Portable Operating System Interface)标准接口,这些接口可以帮助开发者编写可移植、高效的应用程序。POSIX 标准定义了一系列系统调用和库函数,涵盖了文件操作、进程管理、线程管理、信号处理、同步机制…...
量子算法导论
重学了量子算法,不知道是温故而知新,还是之前的教材没有讲过这个概念。 如果把(图灵机)计算机比作一个查询机器,输入x通过f(x)作用得出结果,而查询的过程就是计算的过程。 中文解释…...
nasm - BasicWindow_64
文章目录 nasm - BasicWindow_64概述笔记my_build.batnasm_main.asmEND nasm - BasicWindow_64 概述 学习网上找到的demo. x64和x86的汇编源码还差挺多的。 x64的汇编代码不好写,细节整不对,程序就不运行。 如果要查为啥不运行,也要看和正向…...
SpringBoot:SSL证书部署+SpringBoot实现HTTPS安全访问
一、前言 SSL协议介于TCP/IP协议栈的第四层(传输层)和第七层(应用层)之间,为基于TCP的应用层协议(如HTTP)提供安全连接。它通过在客户端和服务器之间建立一个加密的通道,确保数据在传…...
selenium爬取苏宁易购平台某产品的评论
目录 selenium的介绍 1、 selenium是什么? 2、selenium的工作原理 3、如何使用selenium? webdriver浏览器驱动设置 关键步骤 代码 运行结果 注意事项 selenium的介绍 1、 selenium是什么? 用于Web应用程序测试的工具。可以驱动浏览…...
Spark提交任务
1、Spark提交任务到Yarn 1.1、DwKuduApp spark-submit --class com.io.etl.dwkudu.DwKuduApp \ --files /etl/etl-dwkudu/conf/doris.property,/etl/etl-dwkudu/conf/redis.property,/etl/etl-dwkudu/conf/log4j.property \ --master yarn --deploy-mode cluster \ --driver-…...
游戏引擎学习第113天
仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板:优化的基本过程 在游戏编程中,优化是一个非常重要的学习内容,尤其是想要成为专业开发者时。优化的核心是理解代码的执行速度,以及如何提升其性能。在这个阶段,已经…...
token是什么
在自然语言处理(NLP)和机器学习的背景下,token 是指模型在处理文本时的最小单位。通常,这个单位可以是单词、字符,或者词的一部分。具体来说,token 的定义取决于你使用的模型和它的分词方式。 举个例子&am…...
23. AI-大语言模型-DeepSeek赋能开发-Spring AI集成
文章目录 前言一、Spring AI 集成 DeepSeek1. 开发AI程序2. DeepSeek 大模型3. 集成 DeepSeek 大模型1. 接入前准备2. 引入依赖3. 工程配置4. 调用示例5. 小结 4. 集成第三方平台(已集成 DeepSeek 大模型)1. 接入前准备2. POM依赖3. 工程配置4. 调用示例…...
IPv6报头40字节具体怎么分配的?
目录 IPv6报头结构 字段详解 示例代码:IPv6报头的Python实现 输出示例 IPv6协议是为了解决IPv4地址耗尽问题而设计的下一代互联网协议。与IPv4相比,IPv6不仅提供了更大的地址空间,还简化了报头结构,提高了网络设备的处理效率。…...
驱动开发、移植
一、任务明确:把创龙MX8的驱动 按照我们的要求 然后移植到 我们的板子 1.Linux系统启动卡制作, sd卡 先按照 《用户手册—3-2-Linux系统启动卡制作及系统固化》 把创龙的Linux系统刷进去。 2. 把TLIMX8-EVM的板子过一遍 把刚刚烧好系统的sd卡插入 创…...
BFS与Flood Fill:算法原理、实现细节与复杂度分析
目录 1. 概述 2. BFS 的基本原理 3. Flood Fill 算法 4. BFS 实现 Flood Fill 的步骤 5. C 实现 6. 代码解析 7. 复杂度分析 8. 应用场景 总结 1. 概述 Flood Fill 算法是一种用于填充封闭区域的算法,常用于图像处理、绘图工具和游戏开发中。BFS(…...
计算机网络基础杂谈(局域网、ip、子网掩码、网关、DNS)
目录 1. 简单局域网的构成 2. IP 地址 3. 子网掩码 4. IP地址详解自定义IP 5. IP 地址详解 6. 网关 7. DNS 域名解析 8. ping 1. 简单局域网的构成 交换机是组建局域网最重要的设备,换句话说,没有交换机就没法搭建局域网 交换机不能让局域网连…...
雷龙CS SD NAND(贴片式TF卡)测评体验
一、产品概述 近期获赠雷龙科技(Longsto)推出的CS系列贴片式SD NAND存储解决方案,包含两片工业级贴片式NAND芯片(CSNP16GCR01-AOW)及全兼容转接板。该方案支持TF卡形态扩展,实现高可靠性嵌入式存储应用。 …...
【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...
Java——权限修饰符
一、权限修饰符的继承访问规则 以下按访问范围从宽到窄排序: 修饰符同包同类同包子类同包非子类跨包子类跨包非子类public✔️✔️✔️✔️✔️protected✔️✔️✔️✔️❌默认(包级)✔️✔️✔️❌❌private✔️❌❌❌❌ 关键点…...
RWKV7-1.5B-G1A模型效果展示:对比传统LSTM在文本生成上的优势
RWKV7-1.5B-G1A模型效果展示:对比传统LSTM在文本生成上的优势 1. 开场亮点 最近测试了RWKV7-1.5B-G1A这个新模型,它在文本生成上的表现确实让人眼前一亮。特别是和传统LSTM对比时,差异更加明显。记得去年用LSTM做文本生成时,经常…...
神经机器翻译模型架构与工程实践详解
1. 神经机器翻译模型架构概述神经机器翻译(NMT)作为当前主流的机器翻译方法,其核心在于编码器-解码器(Encoder-Decoder)框架。这个架构模拟了人类翻译的认知过程:先理解源语言句子(编码),再生成目标语言表达࿰…...
NitroGen通用游戏AI:从像素到动作的行为克隆模型实战解析
1. 项目概述:从像素到操作,一个通用游戏智能体的诞生 如果你玩过游戏,尤其是那些需要快速反应的动作或射击游戏,你肯定有过这样的体验:看着高手行云流水的操作,心里想着“这操作我上我也行”,结…...
用STM32和VOFA+搞定水下机器人深度控制:一个完整的PID仿真与调试实战
从零构建水下机器人深度控制系统:STM32与VOFA的PID实战指南 清晨的阳光穿透海面,在实验室的水槽中投下斑驳的光影。你面前的水下机器人原型机正在水面漂浮,等待着一个精确的深度控制系统的指令。这不是科幻电影场景,而是每个嵌入式…...
TensorFlow损失函数实战指南:从原理到工程优化
1. 理解损失函数的核心作用在机器学习的世界里,损失函数就像一位严格的教练,不断告诉模型当前的表现有多糟糕。我在实际项目中见过太多因为选错损失函数导致模型训练失败的案例。TensorFlow作为主流框架,提供了丰富的损失函数实现,…...
FloPy 完整指南:Python 驱动的 MODFLOW 地下水建模终极解决方案
FloPy 完整指南:Python 驱动的 MODFLOW 地下水建模终极解决方案 【免费下载链接】flopy A Python package to create, run, and post-process MODFLOW-based models. 项目地址: https://gitcode.com/gh_mirrors/fl/flopy 地下水建模是水文地质学和环境工程中…...
JeecgBoot企业级低代码平台:Spring Boot+Vue3架构解析与实战指南
1. 项目概述:一个企业级低代码开发平台的深度剖析最近几年,低代码开发平台的热度居高不下,几乎成了企业数字化转型的“标配”话题。但说实话,市面上很多号称“低代码”的产品,要么是功能简单的表单工具,要么…...
GitHub宝藏库awesome-llm-apps:LLM应用开发灵感与实战指南
1. 项目概述:一个汇聚LLM应用灵感的“藏宝图”最近在GitHub上闲逛,发现了一个让我眼前一亮的仓库:Shubhamsaboo/awesome-llm-apps。这可不是一个普通的代码库,它更像是一张由全球开发者共同绘制的“藏宝图”,专门标记那…...
快速构建高质量3D模型的终极指南:Meshroom开源摄影测量工具深度解析
快速构建高质量3D模型的终极指南:Meshroom开源摄影测量工具深度解析 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom 你是否曾想过将普通照片变成精美的3D模型?传统的3D…...
DeepSeek-OCR-2保姆级教程:一键部署,轻松识别PDF/图片文字
DeepSeek-OCR-2保姆级教程:一键部署,轻松识别PDF/图片文字 1. 引言 1.1 为什么选择DeepSeek-OCR-2 在日常工作和学习中,我们经常需要从PDF文档或图片中提取文字内容。传统OCR工具往往存在识别准确率低、排版混乱、无法理解复杂文档结构等问…...

