前几天朋友家孩子问我:“叔叔,你不是写代码很厉害吗?帮我画一匹马。”我第一反应是打开编辑器,打算用程序画一匹像样的马。结果愣是憋了半天——写接口、调性能我都熟,但让代码画出一匹能看顺眼的马,远比我想象中难。后来我换了个思路,把整个任务交给AI编程工具,用AI辅助创作的方式从需求描述到代码生成、从图形迭代到动画演示,前后不到一小时就做出了一匹能跑起来、还能交互的小马。这个项目让我对“AI编程到底能帮我们做到什么程度”有了非常具体的认知,所以今天把整个过程拆开聊一聊。
这个项目适合几类人:想入门AI编程但不知道从什么练手开始的人、希望用AI辅助创作完成图形类小项目的人,以及那些跟“画图”天生八字不合但又要交差的人。我会把工具选型、提示词设计、代码迭代、踩坑排错的完整链路都写出来,所有操作步骤和代码都能直接复现。
1. 为什么是“画马”:一次被AI重构的创作流程
1.1 传统代码画马的三重门槛
先说问题在哪。用代码画一匹马,最直接的方式是Turtle、Matplotlib、p5.js或者SVG,但这些方案有一个共同点:你需要自己用几何元素去拼一匹马的形状。表面上是写代码,实际上是在做三件事:几何建模、坐标计算、审美表达。
几何建模是第一个门槛。马不是圆形也不是矩形,它是由躯干、脖子、头部、四条腿、尾巴、鬃毛组成的复合体。用圆形画身体、用线条画腿,画出来的是儿童简笔画;想画出真实的肌肉走向和奔跑姿态,就得引入贝塞尔曲线、样条插值这类工具。
第二个门槛是坐标计算。我早期用Turtle画过一个“四不像”,表面上看是四条腿和躯干都画了,但腿的位置和身体比例完全不对,看起来像一只被压扁的奇怪动物。问题出在坐标全是拍脑袋写的,没有经过比例换算。
第三个门槛是审美判断。程序能精确执行你的指令,但如果你描述的马本身就不协调,跑出来的图自然也不协调。传统流程里,你需要不断地改参数、刷新预览、再改参数,循环往复,非常消磨耐心。
1.2 核心难点:贝塞尔曲线与坐标控制
如果你用过绘图类编辑器,对贝塞尔曲线肯定不陌生。在代码画马的场景里,它是画“非规则曲线”的基础工具,马的背部弧线、脖子弯曲、尾巴的飘动感,基本都是靠贝塞尔曲线来逼近的。
一条三次贝塞尔曲线需要四个控制点:起点、终点、两个弯曲控制点。要画出马的脊背,你需要先确定背部的起点和终点对应的坐标,再人为设定两个控制点来制造“拱起”的弧度。问题就在这里:控制点差一点点,曲线形状就完全不同。你脑子里的“马的脊背弧度”和代码里坐标对应的“马的脊背弧度”之间,隔着大量试错。在没有可视化调试界面的命令行环境里,这种试错极其痛苦。
1.3 AI介入后创作流程如何重构
AI辅助创作带来的改变,不是帮你把代码写完了,而是把“用代码画马”变成了“用语言描述我要一匹什么样的马”。整个流程变成这样:
| 环节 | 传统流程 | AI辅助流程 |
|---|---|---|
| 需求表达 | 脑子里想好马的形状,再翻译成坐标和曲线 | 直接用自然语言描述“侧身的马、带尾巴和鬃毛” |
| 代码生成 | 手写几何计算与绘图逻辑 | AI生成初版代码,你负责运行验证 |
| 迭代方式 | 改坐标、改参数、看效果,反复试 | 用语言反馈“腿太短了、尾巴不对”,AI直接改 |
| 审美判断 | 所有细节自己把控 | 你可以提要求,AI按描述执行,你只做验收 |
核心变化是:你从“亲自执行的画师”变成了“提出需求、验收结果的产品经理”。这并不意味着不需要技术功底——你仍然需要理解坐标、曲线、动画原理,才能判断AI生成的结果是否可靠。但它确实大幅降低了从想法到成品的门槛。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型:三条画马路线与两款AI编程工具的实际对比
2.1 三条画马路线:纯代码、AI绘图、AI编程
做这个项目时我梳理了一下,画一匹马其实有三条完全不同的技术路线:
| 路线 | 实现方式 | 优点 | 缺点 |
|---|---|---|---|
| 路线A:纯代码图形学 | 手写Turtle/Matplotlib/p5.js,用曲线和坐标拼马 | 完全可控,程序可交互 | 门槛高,耗时长 |
| 路线B:AI直接绘图 | 用Stable Diffusion/Midjourney等AI绘画工具生成马的图片 | 画质高,风格丰富 | 静态图,无法动画和交互 |
| 路线C:AI编程生成绘图程序 | 用AI编程工具写代码,程序最终画出一匹马 | 保留程序可控性,开发成本低 | 需要反复提示和调试 |
我这次走的是路线C,同时用路线B作为辅助——先用AI绘画生成一张马的参考图,再去仔细看画面的结构细节,比如马的脖子怎么连接身体、四条腿的分布比例等。这条路线的优势在于,你得
