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协作(如有) 无