Files
dsProject/dsLightRag/Manim/save_prompt.py
2025-08-14 15:45:08 +08:00

75 lines
3.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 从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 文件中。")