怎么用 AI 把一道最值题做成 Manim 动画?

2026 年 9 月 13 日 · 极坐标⋅XYZ

怎么用 AI 把一道最值题做成 Manim 动画?

打开极坐标⋅XYZ 的工作区,新建一个 .py 文件,在右边的 AI 面板里用三行字把画面说清楚,点发送就行。面板上写的是「AI 助手」,我们自己叫它 Manim Coding Agent:它写代码,在你的浏览器里试跑,看渲染出来的画面对不对,最后交给你一段能播放、能导出的动画。

这篇拿一道高中常见的最值题从头走一遍:已知 x²+y²=1,求 y/(x−2) 的最大值。图都截自这次操作的录屏,一共只发了一轮,没有返工。

工作区预览区里的成片:单位圆、过 (2,0) 的红色直线停在第四象限切线位置,底部结论「直线与圆相切时 y/(x−2) 取最大值 √3/3」,上方是 MP4 导出与下载按钮

第一步:打开工作区,建一个空文件

工作区,第一次会看到「正在唤醒数学引擎」,页面上写着首次加载约 8 到 15 秒,之后走缓存。电脑上不用装 Python、LaTeX 或 ffmpeg。

新建一个文件,名字填「最值问题1」,不写后缀会自动补 .py。文件先空着,代码让 AI 写。用 AI 要登录,新账号送 1,000 积分。

第二步:选思考深度

输入框左下角有个「思考」,点开是四档:关、低、高、最深。关是默认档,旁边的说明是这个流程主要靠真实渲染的反馈来纠错;低会慢一点,写复杂场景时更稳;高和最深明显更慢,也更贵。

这道题要求直线两头都正好切在圆上,我们选了低。

AI 面板的思考深度菜单:关(默认,靠真实渲染反馈)、低(略慢,写复杂场景时更稳)、高、最深,当前选中「低」

第三步:写提示词

输入框里一共三行,原样贴出来:

  • @最值问题1.py 编写代码
  • 标题部分使用`已知x^2 + y ^ 2 = 1, 求 y / (x-2) 的最大值
  • 下面主画面区域绘制一个x-y的座标系,原点在画布(-1, 0)的地方,以原点为圆心绘制一个半径为1的圆。绘制一根直线,直线始终过点(2, 0),直线从和圆第一象限相切的地方开始,做匀速动画旋转到第四象限相切的位置。

回头看,这三行各管一件事。

第一行用 @ 指定文件,代码就写进最值问题1.py,不会另起一个。

第二行给标题原文。式子照平时打字的样子写 x^2、y / (x-2) 就行,成片里它排成了分式。

第三行说画面,按「放什么、放在哪、怎么动」来:坐标原点放在画布的 (−1, 0),圆的半径是 1,直线过哪个点、从哪条切线转到哪条切线、匀速。切点在哪、转多少度,我们没算,也没写。

输入框上方有一段说明,AI 能看到的是当前项目的 .py 源码、你 @ 的文件和选中的代码、上传的图片、渲染画面的截图,素材文件的内容和其它项目不会发出去。

AI 输入框里的三行提示词:@最值问题1.py 编写代码、标题文字、坐标系与圆和旋转直线的画面描述,上方说明 AI 能看到哪些内容

第四步:发送,看它一步步做

发送之后,面板里的「过程」一条条往下走,这次是 6 步:

  1. 写入最值问题1.py,130 行
  2. 在浏览器里试跑 MaxValueScene,125 帧,8.3 秒
  3. 检查画面,5 帧
  4. 再看一次画面
  5. 汇报
  6. 渲染成片

第 3、4 步是最有用的。代码跑得通,画面不一定对,直线差一点没切上、标题出了框,Python 都不会报错。试跑完系统会从动画里抽帧给它看,由它判断要不要改。这次它看完写的是:标题两行完整显示,原点 O 位于画布 (−1, 0),单位圆以 O 为圆心,红色直线始终过 (2,0),从第一象限相切位置匀速转到第四象限相切位置,两端都精确相切。

这一轮一共调用模型 4 次,扣了 72 积分,当时是错峰时段,按 5 折算的。

Manim Coding Agent 这一轮的过程:写入 130 行、浏览器里试跑 125 帧 8.3 秒、检查画面 5 帧、再看一次、汇报、渲染成片,下面是它的说明、三条修改建议和「调用 4 次 −72 积分」

第五步:核对它交回来的东西

汇报里有两处我们专门核对了。

一处是角度。它说直线从 150° 方向匀速转了 60°,停在 210° 方向。手算一下:(2,0) 到圆心的距离是 2,半径是 1,切线和 x 轴的夹角是 30°,两条切线的方向正好是 150° 和 210°,对得上。

另一处是结尾那行小字:直线与圆相切时,y/(x−2) 取最大值 √3/3。这句提示词里没要,是它自己加的,结论也对。y/(x−2) 就是圆上一点和 (2,0) 连线的斜率,直线从上面那条切线转到下面那条,斜率从 −√3/3 一路涨到 √3/3,最大值在下切点 (1/2, −√3/2) 取到。

汇报下面还附了三条建议:把旋转速度调慢一些(ROT_TIME 改成 6 秒),给切点和圆心 O 加上标记与标签,把直线改成从切点相切处来回往复旋转。想要哪条点一下,它接着改。这一轮存成了检查点 v1,后面改得不满意可以退回来。

预览区上方还出过一条黄色提示,意思是画幅取的是代码里写的像素尺寸,面板里的设置被覆盖了。这个不影响出片。

第六步:导出

预览区上面一排就是导出:格式选 MP4,点「下载」,或者点「存到 output/」放进项目里。不用 AI 的话,写代码、渲染、导出都不扣积分,免费导出的视频带个小水印。

花了多少,适合谁用

这道题从发送到出片就这一轮,72 积分。北京时间工作日 9 到 12 点、14 到 18 点是高峰,同样的操作扣双倍。注册送的 1,000 积分,错峰时段做这种难度的题,大概能做十几道。

比较适合要给学生演示「动起来才好懂」的老师,斜率、切线、动点这类题都是这个路数。以前做一个这样的动画,要先配好 Manim 环境,再自己算切点、写旋转,现在把画面说清楚就够了。

想看懂它写的 130 行代码,教程里每一课旁边都是能直接运行的代码。拿题目截图、参考图让它做动画的例子,在之前那篇《AI 能直接生成 Manim 数学动画吗?》里。

常见追问(FAQ)

Q:提示词一定要写这么细吗? A:不一定。这道题我们把原点、半径、直线起止位置都写了,所以一轮就对。之前泰勒展开那个例子只写了一句「参考发给你的图片,做一个泰勒展式的动画」,也能出第一版,只是多聊了两轮。

Q:完全不会 Python 能用吗? A:能。这次我们只在对话框里打了三行字,130 行代码都是它写的,一行没改。

Q:思考深度选哪档? A:简单图形用默认的「关」就行,它靠试跑和看画面纠错。有相切、比例这类精确要求时选「低」。高和最深慢很多,一般用不上。

Q:生成的代码能拿到本地用吗? A:能。写的是标准 Manim Community 代码,和工作区里跑的 0.20.1 是同一套,复制出去本地装好 Manim 就能跑。


来源:极坐标⋅XYZ(jizuobiao.xyz),2026 年 9 月 13 日更新。文中的步骤、行数、帧数和积分数,均取自当次操作的录屏。