Communitygithub.com

mkaremm80/论文讲解视频

为研究论文的某个部分或结果制作一个16:9的仪表盘风格动画讲解视频(mp4 + Python脚本 + 旁白),包含参数扫描和实时绘图。

论文讲解视频 是什么?

该技能能够将研究论文的某个章节、模型概念或结果图转化为一个专业的、16:9比例的仪表盘风格动画讲解视频。它特别适合用于教学演示、论文答辩或成果展示,能够直观地展示模型的行为和参数变化的影响。它支持生成包含动态物理场景、2x2实时数据面板和逐步文字说明的视频,并可以配合长达60秒的旁白脚本使用。技能完全基于Python和matplotlib实现,通过参数扫描和预计算来生成流畅的动画,最终输出.mp4视频文件、可复现的.py脚本和详细的旁白说明。它就像一个专门为研究者或教师设计的视频制作工具,能够把枯燥的公式和图表变成生动易懂的视觉故事。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mkaremm80/-my-claude-skills/tree/HEAD/skills/paper-explainer-video

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

论文讲解视频(仪表盘风格)

当用户要求为一篇论文、一个章节(系统模型、定理、结果图)或一个教学概念制作讲解视频、动画或“像FAS那样的视频”时,使用此技能。

输出效果

一个16:9画幅(1920x1080,30帧/秒,白色背景,色彩丰富):

  • 顶部:一条灰色的小标题、一个加粗的主标题,以及一行紫色的设置摘要。
  • 左侧(约占40%宽度):一个动态的物理场景(波浪、天线、节点、用户、电路)。每帧都会移动,并带有显示决策或结果的标记。
  • 右侧:一个2x2的实时数据面板网格。静态曲线一次性绘制完成;一条虚线竖线和点沿着曲线移动。其中一个面板每帧完全重绘(例如,一个实现结果的条形图)。
  • 底部:一个黄色的圆角说明框。当扫描的参数穿过阈值时,说明框会改变4-6次内容,然后在最后保持阶段显示包含关键数字的摘要。
  • 场景中可选的一个内嵌图(例如,复平面箭头),用于显示关键量。

操作流程

  1. 阅读论文章节。选择一个能讲述故事的关键扫描参数(如地平线、信噪比、速度、倾斜角、块数等)。写出视频必须传达的单句话信息。
  2. 使用numpy/scipy根据论文的公式和参数值重新实现模型。在绘制任何内容之前,验证关键数字(闭式解与数值积分、表格值、极限)。如果不匹配,请告知用户。
  3. 预计算计算量大的部分:在精细网格(约21个点,约20,000次抽样)上计算蒙特卡洛曲线,并缓存结果。
  4. 对于实现结果面板,使用一个固定的随机抽样子集,该子集随参数平滑变化(例如,固定路径的有限平面波求和,以及一次性抽取的噪声)。扫描种子并选择一个能清晰讲述故事的种子;在旁白说明中注明这一点。
  5. 时间线:简介停顿(约2秒),缓和扫描(0.5 - 0.5 cos(pi x)),最后停顿(约3秒)。默认17秒;如需配音旁白,则延长至约60秒(例如8 / 42 / 10秒)。
  6. 使用argparse编写脚本:--out、--preview(生成3帧PNG)、--dpi。将参数放在脚本顶部(CREDIT、模型值、SEED、时间设置)。使用matplotlib的FFMpegWriter(libx264、yuv420p、比特率6000)进行渲染,采用grab_frame循环。
  7. 务必先渲染预览并检查。修复重叠问题,然后渲染完整视频。之后,使用ffmpeg提取4帧进行检查。
  8. 交付.mp4文件、.py文件和一个旁白.md文件(时间 | 说明 | 简单英语的台词 | 面板指南 | 设置 | 易于修改)。版本号从v1、v2...开始。

布局经验(避免这些错误)

  • 对于场景坐标轴,使用set_aspect('equal', adjustable='datalim')并将xlim居中于内容,否则场景会缩小并被裁剪。
  • 将长的场景标签放在没有物体移动的地方;检查内嵌图是否覆盖了标签。
  • 图例:放在空白区域(对于中断型曲线,通常是右下角)。对于条形面板,使用ncol=2,并在ylim中为标记留出空间。
  • 保持gridspec顶部大约在0.86,这样副标题不会碰到面板标题;底部大约在0.155,这样两行说明不会碰到x轴标签。
  • 公式文本放在坐标轴内的空白区域,而不是覆盖在曲线上。
  • 完全重绘(cla)仅用于场景和一个实现结果面板;其他面板使用set_data。在1080p下,510帧需要大约4分钟,这是正常情况。

样式常量

蓝色 #1c7ed6,橙色 #e8590c,绿色 #2f9e44,红色 #e03131,青色 #0c8599,紫色 #7048e8,灰色 #868e96,墨色 #212529,金色 #f59f00。标题加粗为11.5pt,基础字体为10pt,顶部/右侧坐标轴边框关闭。

语言

说明和旁白使用简单的英语(B2或以下),句子简短,并带有编号的说明步骤(“1 ·”、“2 ·”...)。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能