OpenMontage 3b1b 风格场景拆分实战从 scene-examples 到 Manim 实现【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage本文围绕 OpenMontage 仓库中 manim-composer 技能的场景示例文档展开逐场拆解点积、傅里叶级数、矩阵线性变换三个 3Blue1Brown 风格教学案例并配合仓库内的 ManimCE / ManimGL 源码示例说明如何落地。读完本文你将掌握场景级规划scenes.md→ 数学可视化实现的完整工作流能够为任意数学/科学概念写出结构清晰、可直接交给 Manim 渲染的场景规格。场景示例文档的定位写代码前的规划层在 OpenMontage 的技能体系中.claude/skills/manim-composer/SKILL.md定义了一条明确原则先规划、后编码。该技能负责把模糊的视频想法转化为逐场景的scenes.md规划文件真正的 Manim 实现则由 manimce-best-practices 或 manimgl-best-practices 技能承担。它在其工作流的 Phase 3 中规定输出的scenes.md必须包含Overview主题、钩子、目标受众、预估时长、关键洞见、Narrative Arc、逐场景的 Visual Elements / Content / Narration Notes / Technical Notes、Transitions Flow、Color Palette、Mathematical Content、Implementation Order。本文所讲解的scene-examples.md位于.claude/skills/manim-composer/references/scene-examples.md正是这一规划层的范文库它不是教你某个 API 怎么写而是展示 3b1b 风格的视频如何被拆解为有明确时长、目的、视觉要素与讲解策略的场景单元。规划文档中每个场景的Technical Notes会直接映射到 Manim 的具体类与方法这正是从想法到代码的桥梁。Example 1解释点积Dot Product——两重视角走向统一的经典骨架第一个完整示例以点积为主题展示了典型的提出问题 → 几何解释 → 代数与几何统一三段式结构其叙事逻辑与narrative-patterns.md中记录的Pattern 3: Two Perspectives → Unity完全对应先给出一个看似任意的公式再从投影角度建立直觉最后证明代数形式与几何形式是同一件事。Scene 1: The Question约 30 秒维度规划内容目的用悬念钩住观众视觉要素两个向量 a、b 的箭头点积公式 a · b |a||b|cos(θ)问号动画内容开场展示两个向量与公式抛出问题为什么把分量相乘再相加会得到一个与向量夹角相关的结果旁白基调好奇、略带困惑强调这个公式看起来很随意技术笔记用Arrow画向量用MathTex渲染公式对 cos(θ) 项使用Indicate()引起注意这个场景的职责是制造认知失衡——观众看到了一个不自然的公式从而产生继续观看的动力。注意它刻意不做任何解释只负责把矛盾摆在台面上。Indicate()这种轻量高亮短暂闪烁吸引注意恰好对应visual-techniques.md中Highlighting Focus一节的用法在仓库的 ManimCE 基础动画示例.claude/skills/manimce-best-practices/examples/basic_animations.py中也能看到Write、Create、GrowFromCenter等同类渐进式呈现手法的组合。Scene 2: Geometric Interpretation约 90 秒维度规划内容目的给出投影视角视觉要素水平蓝色向量 a斜向绿色向量 bb 在 a 上的投影虚线直角标记长度标签内容展示 a · b |a| × (b 在 a 上的投影)动画演示投影落下来的过程并几何化地说明这等于 |a||b|cos(θ)旁白基调点积衡量的是一个向量在另一个向量方向上的分量有多大技术笔记投影用DashedLine直角用RightAnglemobject用animate.rotate()演示不同夹角这是全片信息密度最高的场景时长也最长约 90 秒。仓库中的 ManimGL 示例.claude/skills/manimgl-best-practices/examples/dot_product_visualization.py给出了这条思路的完整实现参考它用NumberPlane建立坐标系、用Vector创建两个向量并通过Rotate动画让向量围绕原点转动实时展示点积数值随夹角的变化。源码中的dual_rotate辅助函数依次演示了正点积、正交点积为零用Elbow画出直角标记与负点积三种情况这正是本场景投影 直角标记 不同夹角的代码级印证。Scene 3: Numeric Connection约 60 秒维度规划内容目的把几何与代数连接起来视觉要素坐标网格向量 a [a₁, a₂]向量 b [b₁, b₂]分量高亮内容在网格上展示带分量的向量用具体数值演示为什么 a₁b₁ a₂b₂ 等于几何解释的结果技术笔记用NumberPlane或Axes分量标签用Brace方程推导用TransformMatchingTex用具体数字走一遍计算是让抽象结论落地的手段对应narrative-patterns.md中的Pattern 5: Specific → General。TransformMatchingTex是实现方程逐步变形的关键——它按 TeX 字符串智能匹配前后两个公式的相同部分并保持对齐变形避免FadeOutFadeIn打断视觉连续性。这一点的正确用法Transform会原地修改源对象、ReplacementTransform替换引用、TransformMatchingTex用于公式推导在.claude/skills/manimce-best-practices/rules/transform-animations.md中有专门规则并在.claude/skills/manimce-best-practices/examples/math_visualization.py的ColorCodedEquation、EquationDerivation场景中得到示范。Example 2傅里叶级数入门——从积木到惊喜的构建式展开第二个示例讲解傅里叶级数走的是先展示惊人结果再逐步构建的路线与narrative-patterns.md的Pattern 2: Build Up → Payoff吻合先让观众看到锐利的方波竟能由平滑正弦波拼出这一反直觉结论再解释正弦波作为基元的三个参数最后演示叠加原理。Scene 1: The Hook约 45 秒维度规划内容目的展示惊人结果视觉要素带尖角的方波若干平滑正弦波之和两者之间的变形动画内容你完全可以用平滑的正弦波拼出一个带尖角的方波。先给结果再承诺解释原理旁白基调惊叹、略带难以置信要让观众感到意外技术笔记波形用ParametricFunction变形用Transform动画可考虑展示 1、3、5 项逐次累加这里先结果后解释的顺序是刻意的先把方波 正弦波之和的奇迹画面喂给观众为后续解释建立动机。ParametricFunction适合绘制任意参数曲线而1、3、5 项逐次累加的渐进呈现恰好符合visual-techniques.md中Progressive Disclosure渐进披露原则——从简单情况开始逐步增加复杂度。OpenMontage 的 Manim 使用指南skills/creative/manim-usage.md也强调一个场景一个概念逐步构建同时呈现的新元素不超过 34 个。Scene 2: Building Blocks约 120 秒维度规划内容目的把正弦波作为积木引入视觉要素单条正弦波频率可视化振荡变快/变慢振幅可视化变高/变矮相位可视化左右平移内容引入三个可调参数频率、振幅、相位。先分别演示再组合旁白基调放慢节奏。一条正弦波有三个旋钮可以调……技术笔记用ValueTracker驱动参数动画用 Updater 让波形实时响应跟踪器为每个参数加标签ValueTracker Updater 是参数实时可调的标准组合ValueTracker存放一个数值通过add_updater让波形 mobject 每次帧更新时读取该值并重算形状这样播放self.play(tracker.animate.set_value(...))即可让波形连续变化。仓库中的 ManimGL 示例.claude/skills/manimgl-best-practices/examples/superposition_effect.py就展示了ValueTracker与add_updater的完整用法——其Superposition类用offset_multiplier ValueTracker(offset_multiple)控制抖动幅度并通过 updater 让所有碎片围绕中心振荡演示了用数值驱动视觉状态这一模式的通用性。Scene 3: Superposition约 90 秒维度规划内容目的展示波可以相加视觉要素两条不同颜色的正弦波它们的和第三种颜色逐点相加的可视化内容说明波的相加就是在每个点上把高度加起来用两个特定频率演示组合过程旁白基调波的相加很简单——在每个点把高度加起来就行。技术笔记用VGroup组织三个函数图像在特定 x 值处画竖直线展示逐点相加动画演示相加过程叠加原理逐点相加的教学价值在于把一个连续的结论转化为可以逐点验证的操作。superposition_effect.py中的QuantumParallelism场景古典 vs 量子并行对比也印证了两条曲线/两组状态 第三种颜色表示结果的对比布局在 3b1b 风格中的高频使用而在 ManimCE 侧math_visualization.py的IntegralVisualization用axes.get_area(graph, x_range[...], colorBLUE, opacity0.3)填充曲线下方面积展示了用半透明色块强调曲线与坐标轴之间区域的同族手法。Example 3矩阵作为线性变换——基向量决定一切的关键洞见第三个示例把矩阵解释为对空间的线性变换仅用两个场景就完成了从视觉基础到核心洞见的跳跃是信息密度高、场景数量少的规划范例。Scene 1: Grid Transformation约 60 秒维度规划内容目的建立视觉基础视觉要素2D 坐标网格NumberPlane基向量 i-hat 和 j-hat彩色箭头网格线变换过程内容展示网格高亮 i-hat (1,0) 与 j-hat (0,1)施加一个变换——观察整个网格移动同时跟踪基向量落在哪里旁白基调注意当我们施加这个变换时网格发生了什么每个点都在移动。技术笔记用带可见网格线的NumberPlane使用apply_matrix()方法让基向量在视觉上保持可区分关键细节是网格必须可见——只有看到整个网格被拉伸、旋转、剪切观众才能建立矩阵是作用于整个空间的直觉。基向量用不同颜色保持可区分为下一场景的追踪落点埋下伏笔。Scene 2: Basis Vectors Determine Everything约 90 秒维度规划内容目的传达核心洞见视觉要素变换后的 i-hat 和 j-hat任意向量 v 作为两者组合v xi yj 的可视化内容说明知道 i-hat 和 j-hat 落在哪里就知道任意向量的落点。因为 v xi yj变换后 v x(新 i) y(新 j)旁白基调这里是关键洞见……在揭示前制造期待技术笔记用首尾相接tip-to-tail的向量加法动画系数缩放动画用TransformMatchingShapes做组合变形这个场景是全片的aha 时刻。它依赖前一个场景建立的基向量落点信息是典型的场景依赖链——这正是scenes-template.md中Implementation Order与Shared Components两个小节要解决的组织问题基向量、网格这些跨场景复用的对象应当定义一次反复使用。TransformMatchingShapes与TransformMatchingTex的区别在于前者按形状匹配、后者按 TeX 字符串匹配前者适合 mobject 之间的形态变换后者适合公式推导二者选择依据可参考transform-animations.md规则。场景转换模式把镜头语言也写进规划原文档在三个示例之后专门给出了四类跨场景转换模式。它们解决的是场景之间如何衔接的问题应被视为规划文档Transitions Flow小节的素材库模式流程适用场景Zoom Focus全景 → 放大细节 → 讲解 → 拉回全景局部与整体关系如傅里叶第 1 项与整体波形Side-by-Side Build左空右空 → 左加内容对比 → 右加内容建立联系两视角对照如代数 vs 几何Transform ChainA → Transform → B → Transform → C全程保持视觉连续性渐进推导、概念递进Reset and Rebuild复杂场景 → 淡出大部分 → 聚焦单元素 → 构建新复杂度概念切换、层级构建其中Transform Chain与visual-techniques.md的Transform, Dont Replace原则一脉相承能变形就绝不淡出淡入因为变形保留了观众对物体身份与位置的认知从而维持同一对象在演化的连续性。Reset and Rebuild则服务于 3b1b 风格的渐进披露——每次只聚焦一个元素再在其上叠加新复杂度避免单帧信息过载。从场景规划到可渲染代码OpenMontage 中的落地规范规划文档产出scenes.md之后进入实现阶段时需要遵循 OpenMontage 为 Manim 制定的运行时规范见skills/creative/manim-usage.md。以下参数与上述示例中的 Technical Notes 直接配套渲染质量与分辨率-ql480x360/15fps开发调试、-qm1280x720/30fps草稿评审、-qh1920x1080/60fps标准成片、-qp2560x1440/60fps高质量导出、-qk3840x2160/60fps4K 存档。若面向 OpenMontage 的 YouTube 横屏规格1920x1080/30fps可在配置中显式声明pixel_width 1920、pixel_height 1080、frame_rate 30。动画时序公式书写Write1.52.0 秒公式变形TransformMatchingTex1.5 秒形状创建Create/DrawBorderThenFill0.81.2 秒颜色高亮 0.5 秒相机缩放 1.52.0 秒网格/列表类内容用LaggedStart配lag_ratio0.10.2错峰呈现关键揭示之后至少self.wait(1.5)让观众消化——这与visual-techniques.md的节奏模式fast-fast-SLOW-fast-fast-SLOW一致快速动画用于铺垫关键洞见处放慢。颜色语义OpenMontage 约定变量用黄色YELLOW、矩阵/算子用红色RED、特征向量/结果用青色TEAL、已知常数用蓝色BLUE_C、标注用绿色GREEN、弱化内容用半透明灰、错误路径用深红RED_E。背景一律深色BLACK或#1a1a2e。同时注意无障碍要求避免仅靠红绿区分应叠加明度差异Manim 的_A至_E色阶。2D 与 3D 的选择默认 2DScene/MovingCameraScene仅当空间关系本身就是概念时才使用 3D如曲面zf(x,y)、叉积、需要相机环绕揭示隐藏结构且 3D 走 CPU 渲染速度约为 2D 的 510 倍。上面三个示例全部属于 2D 范畴——这正是用 2D 讲清楚抽象概念的刻意取舍。场景规划的复用方法把示例变成你自己的 scenes.mdscene-examples.md的价值在于其可模板化的结构。配合.claude/skills/manim-composer/templates/scenes-template.md的空白模板你可以按以下步骤复刻这一流程选定叙事骨架从narrative-patterns.md的六种模式Mystery → Investigation → Resolution、Build Up → Payoff、Two Perspectives → Unity、Wrong → Less Wrong → Right、Specific → General、History as Narrative中挑选与主题匹配的组合多数优秀视频是多种模式的叠加。按场景粒度切分每个场景回答这一个场景要让观众明白什么并为每场标注预估时长参考 5-10 分钟视频中钩子 30-60 秒、主干 4-8 分钟、收尾 30-60 秒的配比。逐场景填写五要素Visual Elementsmobject 清单、动画、相机、Content足够具体到可直接实现、Narration Notes要点、语气、节奏、Technical Notes具体类与方法、易错点、对前序场景的依赖。补全收尾小节Transitions Flow场景如何衔接、反复出现的视觉母题、Color Palette角色与用途映射表、Mathematical Content需渲染的公式清单、Implementation Order含共享组件与实现依赖。让 Technical Notes 与实现规则对齐每个标注的类与方法都应在manimce-best-practices/rules/或manimgl-best-practices/rules/中找到对应规范如transform-animations.md变形动画、timing.md时序、colors.md配色等确保规划在落地时没有惊喜。小结scene-examples.md用三个案例 四类转换模式浓缩了 3b1b 风格视频场景规划的全部要素每个场景有明确的时长与目的、视觉要素与教学内容一一对应、技术笔记直接映射到 Manim 类与方法、场景间依赖与转换被显式记录。配合 OpenMontage 仓库中的narrative-patterns.md叙事骨架、visual-techniques.md视觉手法、scenes-template.md空白模板、manim-usage.md渲染与节奏规范以及 manimce/manimgl 两套最佳实践技能你可以在写任何一行 Manim 代码之前就产出一份足够详细、可直接执行的逐场景规格——这正是把模糊想法转化为高质量数学科普视频的第一道、也是最关键的一道工序。【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考