优化算法迭代对比 / 制作与迭代记录 任务与构图 制作前把模糊的“看算法下山”拆成可完整完成的工作:定义目标与初始点、比较真实更新、读停止原因、导出全部路径。三维是科学对象本身的相机投影和深度几何,不用 CSS 倾斜模拟。颜色用来指认算法,不能替代数值。 从第一版到最终场景 review/first.html、first-3d.png 和 first-map.png 保留第一次真正能工作的 Rosenbrock 场景。当时曲面前缘的挤出墙挡住了谷底路径。去掉立墙、采用连续材质、调整相机后更清楚,但主视图仍被两侧高坡占据。同伴明确指出狭谷压缩了最需要理解的优化关系。 最终将默认改为旋转凸二次曲面,并采用线性 f 高度归一化。共同起点与解析最小点的标签由实际相机投影定位,三条路径在曲面内都可追踪。Rosenbrock 保留为独立实验并有面向谷口的视角;对数高度作为明确可选模式,不偷偷改变数值。二维报告始终同步。 同伴进一步发现游标 range 输入在取消/隐藏而未触发 change 时可能残留快照,随后撤销错误地跨过一次模型编辑。加入 finishCursor 统一提交当前游标并清空快照;Node VM 实际执行 ui-code 的 8 条状态序列,确认取消、失焦、隐藏、离页、编辑、撤销与连续拖动的历史一致。替身只验证逻辑,不代表浏览器实际事件时序。 实际默认参数是不同方法使用各自学习率,因此把原来容易误导的“同一步长”标题改为“从同一起点出发”。路径比较需要一起读取参数。 模型与导出 AppModel.evaluate 返回目标函数和解析梯度;run/derive 求完整数值路径。SceneApp 只把同一组点转换成几何。Artwork 生成等高线、收敛图及三维覆盖注释。PNG 原生核对直接使用嵌入式 Atelier3D 的 A.frame;注释合成使用页面实际函数,没有事后手绘新元素。 独立核对 三函数梯度在多处与中心差分比较;凸二次首步与手算一致;Adam 首步含偏差修正;β=0 动量等于 GD。最小点立即停止,越界尝试不伪装成收敛。所有方法关闭时仍能导出,3000 步文档完整回读、未知字段拒绝。 默认 a=1,b=18,θ=32°,起点 (2.4,1.8)。GD、动量、Adam 实际分别在 142、232、233 步达到 10⁻⁵ 梯度容差。具体终点与数值见 default-summary.json。 真实证据与评价 最终 default-3d.png 是带同源覆盖注释的原生场景;default-map.png 是完整二维结果。edited-3d.png 为多峰实验,boundary-map.png 展示大步长越界原因。首次工作版本真实保留,没有为制造改进效果补造差图。 默认景物与优化过程的关联已经比初版明确,用户能从共同起点追踪每种路径,再去二维图核算。有限网格、曲面高度归一化和观察窗保护均公开。未使用获准浏览器,DOM/CSS、设备交互与帧率均不在验收范围内;原生渲染时间不等于浏览器帧率。