AI 协作日志
学生 Web 实验作品平台
学号:202412211401003 · 来源:ai-log.md
# 实验二 AI协作记录(请据实际情况填写) ## AI协作1 · Koch算法 ### 我的目标与初步判断 把一条线段分成四段,中间凸出来一个尖角。但我卡在“怎么确定凸起是朝外还是朝内”这个问题上 ### 关键提示词(原文) 我在做 Koch 雪花,初始三角形顶点是逆时针排列的:(-0.82,-0.43), (0.82,-0.43), (0,0.99)。线段从 A 到 B,我先算 P=A+(B-A)/3,Q=A+2(B-A)/3,然后想把 PQ 绕 P 旋转 60° 得到 R。但我不确定是转 +60° 还是 -60° 才能让尖角朝外。能不能帮我分析一下,或者告诉我怎么用一条水平线测试? ### AI关键建议摘要 AI 说方向取决于轮廓的绕行顺序,不能光看截图。它建议我先用一条简单的水平线测试,比如 A=(-1,0), B=(1,0),然后分别算 +60° 和 -60° 的 R 点,看哪个在 y 正半轴。它还提醒我,逆时针排列的三角形,边沿逆时针走的时候,外凸应该用右转 60° ### 我的测试方法与结果 A=(-1,0), B=(1,0),P=(-1/3,0),Q=(1/3,0),dx=2/3, dy=0。 用右转公式:R = (-1/3 + 0.5(2/3), 0 + (√3/2)(2/3)) = (0, √3/3),y 是正的,说明尖角朝上。 然后我又把公式里的符号换了一下(左转),R 的 y 就变成负的,尖角朝下。所以右转确实让尖角在“外侧”。 接着我把整个三角形画出来,Level 1 的时候看到三个边都往外凸,没有往里凹,确认方向对了。 ### 采纳情况及修正结论 ## AI协作2 · 绘图板调试 ### 具体错误现象(如一次成功,可先人为注入并恢复一个小错误) ### 我的初步排查 ### 关键提示词(原文) ### AI建议与逐项测试 ### 最终原因及修复证据 ## AI协作3 · 主题整合 ### 主题及预期效果 我选的主题是“变幻”。我想表达的是:中间有一个 Koch 雪花作为主体,外面有几圈同心环,半径会随着时间起伏;还有放射状的线条,长度会像呼吸一样伸缩;节点也会轻微漂移。整体旋转时,形态不断变化,但又有一种稳定的秩序感。 ### 两个方案的AI提示词(原文) > 我在做 WebGL 主题作品,主题是“变幻”。我已经有 Koch 雪花和旋转动画了。现在想加两个新的几何组成部分,并且要有至少两种交互。能不能给我两个不同的方案?我想比较一下哪个更好实现、更好解释。 ### 方案比较、取舍理由 AI 给了两个方案: 方案一:同心环 + 脉冲放射线 + 流动节点 - 同心环用多圈圆,半径随相位起伏。 - 放射线长度随相位伸缩。 - 节点半径轻微漂移。 - 交互:点击移动中心,按钮控制旋转,尺度影响速度。 方案二:变形网格 + 波浪线 + 粒子 - 网格顶点位置随正弦函数扰动。 - 波浪线用参数方程生成。 - 粒子随机分布并缓慢移动。 - 交互:鼠标拖动改变扰动幅度,滑块改变波浪频率。 我选了方案一。原因是: 1. 方案一的几何更简单,我能在短时间内写对。 2. 方案二的网格和粒子参数太多,我担心调不好,而且顶点数量大,容易卡。 3. 方案一的“同心环 + 脉冲线 + 流动节点”和“变幻”主题很搭:环在呼吸,线在伸缩,点在漂移,旋转时整体形态不断变化,解释起来也清楚。 ### 实际实现、测试与结果 我按方案一实现了: - 同心环:makeRings(1.05, 72, theta),四圈半径随 theta 起伏,用 LINE_LOOP 画。 - 脉冲放射线:makePulses(12, 1.02, theta*1.5),长度随相位伸缩,用 LINES 画。 - 流动节点:12 个点,半径随 theta 轻微漂移,用 POINTS 画。 - 交互一:点击画布,把点击位置转成 NDC,乘 0.5 后作为新的 center,整个作品平移过去。 - 交互二:点“开始/暂停变幻”按钮,切换 running 状态;动画速度随 scale 变化。 测试结果:打开页面能看到 Koch 雪花、同心环、脉冲线、流动节点一起显示;拖动“层数”滑块,Koch 层次变化;拖动“尺度”滑块,整体缩放且旋转速度变化;点击画布,作品中心移动;点按钮,开始或暂停变幻。都正常。 ## 其他AI使用(若有) 工具、提示词及关键修改记录。 我在 Task C 也问过一次 AI,关于 requestAnimationFrame 的时间戳怎么用。AI 提醒我第一帧 lastTime 是 null,不能直接算 dt,要先把 lastTime 设成当前时间,从第二帧开始才积分。我按这个改了 animate 函数,动画就没有跳变了。