AI 协作日志

学生 Web 实验作品平台

学号:202412211402034 · 来源:ai-log.md

# 实验二 AI协作记录
## AI协作1:Koch算法
### 我的目标与初步判断
目标:搞清楚Koch线段替换时,±60度旋转哪个方向是向外凸起。我一开始猜测顺时针旋转(-60°)向外,自己画水平线段测试。
### 关键提示词(保留原文)
WebGL 2D Koch雪花,线段A到B,向量PQ,旋转+60还是-60才能向外凸起,初始三角形逆时针顺序
### AI关键建议摘要
初始轮廓采用逆时针环绕,线段方向A→B,向量向右时,逆时针旋转+60°得到的点向外;顺时针会向内凹陷。
### 我的测试方法与结果
写一段水平线段A(-0.6,0), B(0.6,0)单独渲染,分别试+60和-60;+60向上凸起,符合外侧。
### 是否采纳、修正后的结论
采纳+60°逆时针旋转向量;保证初始三角形顶点逆时针排布,雪花向外。对应Task B代码rot60函数。

## AI协作2:交互绘图调试
### 具体错误现象
Task D绘图板,鼠标点击绘制图形上下颠倒,点在canvas上方,图形画到下方。
### 我的初步排查
猜测是canvas像素坐标和NDC转换公式Y方向没翻转。
### 关键提示词(保留原文)
webgl canvas鼠标坐标转NDC,y方向翻转错误,图形上下颠倒,getBoundingClientRect
### AI建议及逐项测试
1. 检查 yNDC = 1 - 2*yCanvas/canvas.width;我写错成减1;
2. 区分canvas的css尺寸和canvas.width像素尺寸;
3. 先注释翻转,观察效果(人为制造bug验证)。
### 最终原因与修复证据
错误:yNDC公式写反;修复为 yNDC = 1 - 2 * yCanvas / canvas.height;修复后四角点击位置全部对齐。

## AI协作3:主题化整合
### 主题与预期效果
主题:绽放;复用Koch雪花+旋转动画,做从中心向外层层展开的图案
### 提示词(保留原文)
webgl主题绽放,两种实现方案,复用koch雪花和旋转uniform,对比图元数量、交互难度
### AI提出的可选方案
方案1:多层缩放雪花,同一个koch顶点buffer,循环多次draw,每层不同scale、不同偏移角度;交互:点击改中心、滑块缩放。
方案2:递归生长枝条,每次帧增加koch层级,动态追加顶点buffer。
### 方案取舍与理由
选用方案1:顶点只生成一次,性能稳定,buffer不用频繁重建;图元可控;方案2每帧递归生成顶点计算量大,容易卡顿,放弃。
### 实际实现与验证结果
实现4层嵌套雪花环 + 中心点标记;点击画布切换绽放中心,滑块控制展开尺度,动画独立旋转,达到绽放视觉效果,对应Task E。

## 其他实际使用的AI协作(如有)
无