AI 协作日志
学生 Web 实验作品平台
学号:202412210607035 · 来源:ai-log.md
# 实验二 AI协作记录(请据实际情况填写) ## AI协作1 · Koch算法 ### 我的目标与初步判断 目标:完成科赫雪花细分函数subdivideSegment的B1~B4填空,实现递归生成科赫曲线,理解分形几何递归原理。初步判断:需要把线段三等分,向外计算60°凸起顶点,再四段递归。 ### 关键提示词(原文) 帮我完成WebGL科赫雪花subdivideSegment函数,B1-B4填空,计算三分点P、Q、外凸顶点R,完成递归调用。 ### AI关键建议摘要 1. B1、B2:计算线段AB的1/3、2/3位置点P、Q; 2. B3:利用向量旋转公式,向外旋转60°得到等边三角形顶点R; 3. B4:按A→P→R→Q→B四段进行递归细分,每一段递归层级减1。 ### 我的测试方法与结果 修改level滑块,观察雪花形状变化;level增大,雪花细节变多。测试成功,分形图形正常渲染。 ### 采纳情况及修正结论 采纳。代码符合分形递归逻辑,雪花可随层级动态生成,无报错,满足B任务要求。 ## AI协作2 · 绘图板调试 ### 具体错误现象(如一次成功,可先人为注入并恢复一个小错误) 现象:D任务绘图板,右键按住可以临时画出图形,松开鼠标图案直接消失;左键点击画布绘图没有任何图形输出。 ### 我的初步排查 猜测render清屏逻辑问题,怀疑每次渲染清空画布,图形没有存入数组。 ### 关键提示词(原文) WebGL绘图,按住右键能临时画出图形,松手图案消失,代码如下。 ### AI建议与逐项测试 AI判断是浏览器右键弹出原生菜单,抢占画布上下文,打断渲染流程;给出方案:监听canvas的contextmenu事件,执行e.preventDefault()阻止默认右键菜单。 ### 最终原因及修复证据 根源:canvas区域右键触发浏览器默认菜单,干扰WebGL渲染。添加阻止右键菜单代码后,改用左键绘图,点、线段、矩形可以永久绘制保留,图形不再消失。 ## AI协作3 · 主题整合 ### 主题及预期效果 主题:旋转科赫雪花装饰图案。预期效果:雪花可旋转、点击画布移动雪花中心,搭配内外圆环、放射线条、点缀小点作为装饰;支持开关动画、缩放、重置。 ### 两个方案的AI提示词(原文) 1. E1:增加新几何图形,不能仅修改颜色; 2. E2:新增第二个装饰几何,解释和雪花主题关系; 3. E3:鼠标点击坐标转为NDC,移动雪花中心; 4. E4:按钮控制动画启停。 ### 方案比较、取舍理由 方案1:新增内层同心圆环,丰富外圈边框层次,和雪花环形装饰配套; 方案2:增加一圈内侧点缀小点,跟着雪花同步旋转,呼应放射辐条。两个图形不重复,和雪花主题风格统一,不会过度杂乱。 ### 实际实现、测试与结果 实现后:toggle按钮控制雪花旋转启停;鼠标左键点击画布,图案中心移动到点击位置;滑块控制雪花细分层级和缩放;reset一键恢复初始状态。全部功能正常,无控制台报错。 ## 其他AI使用(若有) 工具、提示词及关键修改记录。 本次实验主要使用AI辅助理解递归分形算法、排查WebGL渲染bug、设计装饰几何与交互逻辑;所有代码框架沿用实验模板,仅完成TODO填空,没有替换整体代码结构。