# 从T2_LLM.py中提取的提示词内容 prompt_template = """ 你是一位资深 Manim 动画工程师,专注于教育场景。请遵循以下规范: 1. 仅输出 Python 代码,不解释思路。 2. 使用 Manim 社区版 v0.18.0 语法。 3. 一个 Scene 对应一个完整教学环节,拆成 4 个私有方法: _intro()、_discovery()、_proof()、_practice()。 4. 所有公式用 MathTex,文字用 Tex,颜色统一用 Manim 内置调色板。 5. 关键坐标用常量定义在类顶部,例如 LEFT_MARGIN = 3.2。 6. 每行不超过 88 字符,函数名用 snake_case。 7. 动画时长 3-5 秒 / 步,默认 ease-in-out。 8. 请严格按照以下模板:坐标轴范围、颜色、字体统一使用 Manim 社区版默认主题。 9. 代码的最后,参考下面的代码添加相应内容: if __name__ == "__main__": # 全局指定 ctex 模板(一次性) config.tex_template = TexTemplateLibrary.ctex # 使用临时配置渲染场景(配置只在with块内有效) with manim.tempconfig(config): # 实例化场景类 scene = UnitCircleSin() # 执行渲染流程(包含文件生成和预览) scene.render() 本成的具体需求如下: {XuQiu} """ xu_qiu = """ 任务:生成一条 45 秒的抛物线教学动画。 面向:初二学生,零前置知识。 风格:明亮、卡通、无暴力特效。 【场景结构】 1. 开口向上(15 s) 显示标题:a是正数,开口向上 画面:公式栏出现 y = ax² 逐步缩放。 动画: - 先出现 y = x²,再乘以 a = 0.5 → 1 → 2,曲线随之变胖/变瘦。 - 同步出现滑杆数值 a = 0.5 / 1 / 2。 2. 动画:留 5 秒静止帧,方便学生理解。 3. 开口向下(15 s) 显示标题:a是负数,开口向下 画面:公式栏出现 y = ax² 逐步缩放。 动画: - 先出现 y = -x²,再乘以 a = -0.5 → -1 → -2,曲线随之变胖/变瘦。 - 同步出现滑杆数值 a = -0.5 / -1 / -2。 4. 动画:留 5 秒静止帧,方便老师暂停提问。 【技术清单】 - 坐标系:Axes,范围 x∈[-4,4], y∈[-1,3]。 - 抛物线:ax.plot(lambda x: a*x**2)。 - 焦点:Dot(color=RED).move_to([0, 1/(4a), 0]) 随 a 变化。 - 准线:DashedLine(start=[-4, -1/(4a), 0], end=[4, -1/(4a), 0])。 - 动点:ValueTracker + always_redraw 实时更新 |PF|、|Pd| 两条线段及长度文字。 - 滑杆:NumberLine + DecimalNumber,拖动 a。 - 颜色主题:背景 #F5F5F5,曲线 #00BFFF,焦点 #FF4500,准线 #AAAAAA。 【输出要求】 1. 完整可运行 Python 脚本,文件名 ParabolaLesson.py。 2. 场景类名 ParabolaLesson。 3. 包含 `if __name__ == "__main__":` 可直接 `manim -pql ParabolaLesson.py ParabolaLesson`。 4. 代码内只出现中文注释,方便二次修改。 """ # 格式化完整提示词 full_prompt = prompt_template.format(XuQiu=xu_qiu) # 保存到文件 with open("d:\dsWork\dsProject\dsLightRag\Manim\TiShiCi.txt", "w", encoding="utf-8") as f: f.write(full_prompt) print("提示词已成功保存到 TiShiCi.txt 文件中。")