AI 协作日志
学生 Web 实验作品平台
学号:202412214301008 · 来源:ai-log.md
# 实验三 AI协作记录
> 姓名:谭帅
> 学号:202412214301008
> AI工具:Codex(本次对话未确认具体模型版本)
> 本记录仅对应实验三,根据实际对话与代码检查填写。个人观察、AI代码核验与未完成事项分别说明。
## AI协作1:矩阵和变换次序
- 我自己的预测:
我在 Task B 的旋转模式中修改参数,看到图形位置变化,认为旋转被写成了平移。当时没有意识到自己修改的是初始中心坐标,而不是角度。
- AI工具与原始提示词:
使用 Codex。
“taskb,旋转是平移,我哪里写错了”
“不行,还是在平移”
- AI的建议:
AI 检查 app.js 的 bItem() 和 transforms.js 的 R(),确认世界原点模式使用 R·T,自身中心模式使用 T·R。最初推测我选了世界原点公转,并建议选择自身中心、比较0°和45°。我反馈仍然有问题后,AI 继续检查底层矩阵库和 HTML 控件,未发现对应的旋转计算错误,建议强制刷新并查看实际 Model 矩阵,而不是直接修改正确代码。
- 本人计算、运行与证据:
我重新检查自己的操作后,明确回复:“哦我知道了,是改角度旋转,我改的是中心,所以效果平移”。这是本次确认的实际操作原因。
AI 曾建议使用中心 (0.5,0.25)、自身中心旋转45°核对矩阵,但对话中没有提供该参数下的矩阵截图或实际数值,因此不把建议值作为实测证据。
- 采纳或修正结论:
本次问题来自控件含义混淆,不需要修改旋转代码。改初始中心会改变图形位置;改角度会改变旋转程度;旋转中心选项决定绕世界原点还是绕自身中心旋转。
根据讲解整理:列向量约定下右侧矩阵先作用,T·R 先旋转局部图形再放到指定位置,中心保持不变;R·T 先平移再整体旋转,中心也会绕世界原点运动。AI 最初关于公转的推测并非本次实际原因,最终以我的操作核验为准。
## AI协作2:实际故障排查
- 错误现象与重现步骤:
我填写 Task A 后打开页面,没有图像显示,于是请求 AI 检查。
- 我先检查了什么:
我认为 Task A 已填写完成,但未在对话中提供 Console 错误或具体排查步骤。AI 随后检查了 graphics.js、app.js、transforms.js 和页面脚本引用。
- AI工具与原始提示词:
使用 Codex。
“我写好了实验3 taska,没用图像显示为什么”
- AI建议的候选原因与测试:
A-01 已使用 mesh.vertexCount 绘制各模型,A-02 已按菜单创建全部或单个模型,这两处没有发现对应错误。
真正的问题在共享文件 transforms.js:C-02 前漏掉了 modelFor(obj) 函数开头及 t、c 的定义,留下了不匹配的结构,导致脚本无法正常解析。A 也依赖该共享模块,因此受到影响。
AI 建议在 C-02 前补回以下代码,保留文件原有的结束括号:
```js
function modelFor(obj) {
const t = obj.elapsed;
const c = obj.center;
```
然后保存并刷新 Task A。
- 实测结果、修复与复测:
填写本日志时,AI 再次读取文件,确认上述函数声明和变量定义已经补回。后续我继续操作 Task B 并观察到图形位置变化,但没有单独反馈 Task A 四种形状及菜单切换的完整验收结果,因此不写为 A 全部实测通过。
修正结论:共享模块中的语法错误可能让多个任务同时无法显示,排错不能只检查当前任务的入口文件。
## AI协作3:设计方案比较
- 我考虑的两种实现:
本次对话尚未开展 Task E 两种实现方案的比较,没有实际记录。
- AI工具与原始提示词:
无对应的方案比较提示词,不补造协作过程。
- 对比、取舍与原因:
尚未进行。需在实际讨论对象组织、模型矩阵更新或截图实现的两种方案后,补充自己的选择及理由。
- 实际实现及核验:
本次没有进行针对设计方案比较的实现核验,不据此宣称 Task E 已验收。该栏目保留待实际协作后补充。
## 其他AI使用记录
- 原始提示词:“接下来实验3.先读取文件帮我分析一下”。
- AI 读取实验说明与代码,说明任务 A~E 的分工:模型绘制、矩阵变换、连续动画、鼠标添加对象、画布设置与截图。
- AI 指出主要实现位于 graphics.js、transforms.js 和 app.js,task-a.js~task-e.js 主要是页面入口。
- 本次日志没有混入实验一、二、四的排错记录;尚未开展的方案比较和未反馈的页面测试均明确标注,日志不等同于全部实验要求已完成。