返回赛题列表

高尔顿板(Galton Board)

挑战

模拟经典高尔顿板——小钢珠从顶部落下,经钉阵随机弹跳,底部堆积成正态分布曲线。用物理模拟直观演示中心极限定理。

规则说明

模型需要生成一个单文件 HTML 网页。

页面是一个高尔顿板(Galton Board / Bean Machine)的交互式物理模拟。小钢珠从顶部中央释放,经过三角形排列的钉阵,每遇到一颗钉子随机向左或右弹跳,最终落入底部的收集槽中。随着钢珠数量增加,底部槽中的堆积自然呈现正态分布(钟形曲线)。

phase1:仅给出一句话需求,零约束,考验模型是否知道高尔顿板是什么、能否实现基本的物理弹跳和分布可视化
phase2:给出完整的功能列表,要求参数可调、实时统计、理论曲线叠加、性能优化等
phase3:在 phase2 基础上追加物理约束提醒,针对常见致命 Bug(钢珠过大、边界反弹导致 U 形分布)给出明确修复指引,考察模型在提示下的纠错能力

Prompt
phase1:
做一个单文件 HTML 的高尔顿板(Galton Board)模拟器,小钢珠从顶部落下经过钉阵弹跳,底部堆积出正态分布。
phase2:
做一个单文件 HTML 的 **高尔顿板(Galton Board)** 交互式物理模拟。小钢珠从顶部落下,经过钉阵随机弹跳,底部堆积成正态分布曲线。 ```` ### 物理模拟 - 钢珠受重力加速度下落 - 钉子呈三角形/等距网格排列,钢珠碰到钉子后随机向左或右弹开(各 50% 概率) - 碰撞要有物理感:弹跳角度自然、速度衰减合理,不能是瞬移式的左右跳 - 钢珠之间不需要互相碰撞(穿透即可,优先保证性能) - 钢珠落入底部收集槽后堆叠,像真实的小球一样一颗颗垒起来 ### 参数控制面板 1. **钉子行数**:可调范围 6–20 行(默认 12),行数决定底部槽的数量(行数 + 1) 2. **钢珠释放速度**:控制每秒释放多少颗钢珠(慢速 1 颗/秒 ~ 快速 50 颗/秒) 3. **左右概率偏移**:默认 50/50,可调为如 60/40,观察分布偏移效果 4. **重力强度**:可调,影响下落速度 5. **一键释放**:按钮点击后一次性释放大量钢珠(如 100/500 颗) 6. **暂停/继续**:暂停物理模拟 7. **重置**:清空所有钢珠和统计数据 ### 统计与可视化 8. 底部收集槽旁显示每个槽的钢珠计数 9. 实时柱状图:以收集槽的堆积高度直接作为柱状图 10. **理论正态曲线叠加**:根据当前参数(n 行钉子、左右概率 p)计算二项分布 B(n, p) 的理论概率质量函数,以半透明曲线叠加在柱状图上方,随钢珠数量增加观察实际分布逼近理论曲线 11. 实时统计面板显示:已释放钢珠总数、均值(μ)、标准差(σ)、当前分布与理论分布的拟合度 12. 可选:显示每颗钢珠的路径轨迹(淡色线条,展示随机游走路径) ### 视觉设计 - 钢珠有金属质感(径向渐变 + 高光点模拟球体感) - 钉子用小圆点表示,排列整齐 - 整体配色科学感/教具感:深色或浅色背景均可,重点是清晰可读 - 钢珠下落和弹跳的动画流畅(目标 60fps) - 底部堆积的钢珠有轻微的随机色差,增加视觉层次 - 理论曲线用醒目但不抢眼的颜色(如半透明红色虚线) - 响应式布局,移动端可用 ````
phase3:
做一个单文件 HTML 的 **高尔顿板(Galton Board)** 交互式物理模拟。小钢珠从顶部落下,经过钉阵随机弹跳,底部堆积成正态分布曲线。 ```` ### 物理模拟 - 钢珠受重力加速度下落 - 钉子呈三角形/等距网格排列,钢珠碰到钉子后随机向左或右弹开(各 50% 概率) - 碰撞要有物理感:弹跳角度自然、速度衰减合理,不能是瞬移式的左右跳 - 钢珠之间不需要互相碰撞(穿透即可,优先保证性能) - 钢珠落入底部收集槽后堆叠,像真实的小球一样一颗颗垒起来 ### 参数控制面板 1. **钉子行数**:可调范围 6–20 行(默认 12),行数决定底部槽的数量(行数 + 1) 2. **钢珠释放速度**:控制每秒释放多少颗钢珠(慢速 1 颗/秒 ~ 快速 50 颗/秒) 3. **左右概率偏移**:默认 50/50,可调为如 60/40,观察分布偏移效果 4. **重力强度**:可调,影响下落速度 5. **一键释放**:按钮点击后一次性释放大量钢珠(如 100/500 颗) 6. **暂停/继续**:暂停物理模拟 7. **重置**:清空所有钢珠和统计数据 ### 统计与可视化 8. 底部收集槽旁显示每个槽的钢珠计数 9. 实时柱状图:以收集槽的堆积高度直接作为柱状图 10. **理论曲线叠加**:根据当前参数(n 行钉子、左右概率 p)计算二项分布 B(n, p) 的理论概率质量函数,以半透明曲线叠加在柱状图上方,随钢珠数量增加观察实际分布逼近理论曲线 11. 实时统计面板显示:已释放钢珠总数、均值(μ)、标准差(σ)、当前分布与理论分布的拟合度 12. 可选:显示每颗钢珠的路径轨迹(淡色线条,展示随机游走路径) ### ⚠️ 物理约束提醒(务必注意) 以下是常见的致命实现错误,请特别注意避免: 13. **钢珠半径必须远小于钉子间距**:钢珠半径应不超过钉子水平间距的 1/4,否则钢珠会卡在钉子之间无法正常弹跳,导致分布严重失真 14. **边界不能反弹**:钢珠碰到左右边界墙壁时应沿墙壁滑入对应的最边缘收集槽,而不是反弹回钉阵。反弹会导致钢珠堆积在两侧,形成 U 形分布(两边高中间低),这与正态分布完全相反 15. **收集槽必须有明确的物理边界**:每个槽之间要有隔板,钢珠落入槽后不能滑到相邻槽中 16. **钢珠释放点要在第一行钉子正上方足够高的位置**:释放点与第一颗钉子之间需要有足够的下落空间,让钢珠获得初速度后再碰到钉子 ### 视觉设计 - 钢珠有金属质感(径向渐变 + 高光点模拟球体感) - 钉子用小圆点表示,排列整齐 - 整体配色科学感/教具感:深色或浅色背景均可,重点是清晰可读 - 钢珠下落和弹跳的动画流畅(目标 60fps) - 底部堆积的钢珠有轻微的随机色差,增加视觉层次 - 理论曲线用醒目但不抢眼的颜色(如半透明红色虚线) - 响应式布局,移动端可用 ````

Claude Opus 4.7

Anthropic · 中转站API (C)

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代

Claude Sonnet 4.6

Anthropic · Blink New

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代

Deepseek V4 Flash

DeepSeek · Accio Work Coder

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代

DeepSeek V4 Pro Xhigh Thinking

DeepSeek · Zenmux AI

极简 Prompt
7m1 次迭代
详细要求
7m1 次迭代
物理约束提醒
9m1 次迭代

Gemini 3.1 Pro Preview High Thinking

Google · Vertex AI Studio

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代

GPT 5.5

OpenAI · Stilla AI Web Chat

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代

GLM 5.1

ZhipuAI · GLM Coding Plan API

极简 Prompt
1 次迭代
详细要求
1 次迭代
物理约束提醒
1 次迭代