Skip to content

Latest commit

 

History

143 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Physics Sandbox Universe · 物理沙盒宇宙

纯 HTML / CSS / JavaScript 物理实验交互平台 — 零构建工具、零依赖、即开即用

51 个交互式物理实验 · 37 位科学家 · 6 大物理分类 · 17 个学科 · 5 套主题皮肤

项目概览

本项目是一个完全运行在前端浏览器的物理教学与探索平台。每个实验均为独立的单页 HTML 文件,通过 shared-theme.js / shared-theme.css 共享主题系统与导航。无需安装任何构建工具,用浏览器直接打开 index.html 即可使用。

核心特性

  • 零依赖 — 除 Three.js(部分 3D 实验通过 CDN 加载)外,不依赖任何框架或库
  • 五套主题 — 学术 (academic) · 液态玻璃 (glass) · 卡通 (cartoon) · 赛博朋克 (cyber) · 苏维埃 (soviet),通过 localStorage 持久化、跨页面同步
  • 知识体系 — 每个实验关联物理分类、学科分支与科学家,形成完整的知识图谱
  • 教学辅助 — 内置知识图谱、知识追踪(关系网络)、教师备课三大教学页面

页面结构

physics-sandbox-v2/
├── index.html              # 首页(气泡导航)
├── knowledge-graph.html    # 知识图谱(D3.js 力导向图)
├── taxonomy.html           # 知识追踪(关系网络与详情面板)
├── teacher-prep.html       # 教师备课(教案与科学家档案)
├── physics-building.html   # 物理大厦
├── demo-intro.html         # 演示介绍
├── shared-theme.css        # 共享主题样式
├── shared-theme.js         # 共享主题引擎(导航栏 + 主题切换)
├── shared-music.js         # 背景音乐模块
├── exp-*.html              # 51 个实验子页面
├── lib/                    # Three.js 本地副本(部分实验使用)
│   ├── three.module.js
│   └── OrbitControls.js
├── music/                  # 背景音乐文件
│   ├── Midnight_Ink.mp3
│   └── rain_on_the_glass.mp3
└── physics-vault/          # 物理知识库(Markdown 笔记)
    └── 00-初高中物理基础/   # 100+ 知识点与科学家笔记

实验列表

经典物理

经典力学

实验 文件 说明
弹簧振子 exp-spring.html 简谐振动与阻尼振荡
刚体沙盒 exp-matter.html 刚体碰撞与链式反应模拟
悬臂梁分析 exp-cantilever.html 悬臂梁受力与变形分析
齿轮与自行车 exp-bicycle.html 齿轮传动比与自行车速度动力学
克莱因瓶 exp-klein-bottle.html 克莱因瓶三维参数化可视化
牛顿摆 exp-newton-cradle.html 动量守恒与能量守恒 · 完全弹性碰撞
多缸内燃机 exp-engine.html 奥托循环热力学分析 · P-V图与四冲程
抛体运动 exp-projectile.html 斜抛运动轨迹 · 速度分解与射程计算
斜面滑块 exp-incline.html 斜面受力分析 · 摩擦力与临界角
弹性碰撞 exp-elastic-collision.html 动量守恒与能量守恒 · 恢复系数
自由物理画布 exp-physics-canvas.html 自由创建物理场景 · 碰撞与重力沙盒

流体力学

实验 文件 说明
泰勒-库埃特流 exp-taylor.html 旋转圆柱间的流体不稳定性
伯努利原理 exp-bernoulli.html 流体速度与压强关系
浮力 exp-buoyancy.html 阿基米德原理 · 浮力与排开体积 · 3D水槽交互 (Three.js Water+Sky)

电磁学

实验 文件 说明
特斯拉线圈 exp-tesla.html 高频共振变压器原理
磁场与铁粉 exp-magnetic.html 磁偶极子模型与铁粉分布可视化
磁场圆周运动 exp-magnetic-circle.html 洛伦兹力与回旋运动 · 回旋半径与周期
电场偏转 exp-electric-deflection.html 带电粒子在匀强电场中的类平抛运动

波动光学与声学

实验 文件 说明
波的干涉 exp-wave.html 波的叠加与干涉图样
克拉尼图形 exp-chladni.html 薄板上的驻波振动模式
多普勒效应 exp-doppler.html 波源运动致频率偏移 · 激波与马赫锥
利萨茹曲线 exp-lissajous.html 两个正交简谐振动的合成轨迹

量子物理

实验 文件 说明
双缝干涉 exp-quantum.html 电子双缝干涉实验模拟
一维势阱 exp-potential.html 量子粒子在势阱中的行为

相对论与宇宙学

广义相对论

实验 文件 说明
黑洞吸积盘 exp-blackhole.html 黑洞周围物质吸积过程
黑洞吸积盘(高级) exp-blackhole-advanced.html 高级黑洞吸积盘模拟
爱因斯坦-罗森桥 exp-wormhole.html 虫洞时空结构可视化

天体物理

实验 文件 说明
地动说·太阳系 exp-solar.html 日心说与地心说可视化 · 三参照系切换
太阳系沙盘 exp-solar-system.html 行星轨道与深空探测器 · 太阳系全景
地球卫星 exp-earth-satellite.html Cesium 3D地球 · 实时卫星轨道追踪 · 开普勒轨道力学 · 13颗在轨卫星
引力波探测 exp-gravitational-wave.html 双黑洞合并与引力波生成探测
忒伊亚撞击 exp-theia-impact.html SPH光滑粒子流体动力学模拟地月形成

引力

实验 文件 说明
万有引力 exp-gravity.html N体引力系统 · 3D三体问题

统计与混沌

混沌理论

实验 文件 说明
混沌双摆 exp-pendulum.html 双摆系统的混沌动力学 · 蝴蝶效应
洛伦兹吸引子 exp-lorenz.html 三维混沌吸引子轨迹
分形几何 exp-fractal.html L-System分形生成与连续折叠插值
卡拉比-丘流形 exp-calabi-yau.html 弦理论额外维度紧致化流形可视化

概率统计

实验 文件 说明
高尔顿钉板 exp-galton.html 中心极限定理的可视化演示
名医的诞生 exp-medical.html 医疗诊断中的概率模型
成功随机性 exp-pluchino.html 才能与运气关系的随机模型 (Pluchino模型)
布朗运动 exp-brownian.html 随机游走与扩散现象

相变与临界

实验 文件 说明
伊辛模型 exp-ising.html 铁磁相变的格点模型

计算物理

多体系统

实验 文件 说明
3D元胞自动机 exp-ca3d.html 三维细胞自动机演化
社会力模型 exp-social-force.html 基于社会力模型的行人流仿真

三维视觉

实验 文件 说明
点云探索 exp-pointcloud.html 三维点云数据交互可视化

地球科学

实验 文件 说明
地球物理 exp-geophysics.html 3D可旋转地球 · 内部结构 · 地震波 · 地磁场 · 板块构造 (Three.js)

初中光学

实验 文件 说明
初中光学 exp-optics.html 光的反射定律 · 平面镜成像特点 · 凸透镜成像规律
光的折射 exp-refraction.html 斯涅尔定律 · 全反射 · 菲涅尔反射率
透镜成像 exp-lens.html 薄透镜方程 · 三条特殊光线 · 实像与虚像
双缝干涉 exp-interference.html 杨氏双缝实验 · 波粒二象性 · 波动+粒子双表达
检流计 exp-galvanometer.html 双镜光束控制 · 反射定律 · PID闭环

科学家列表(37 位)

科学家 关联实验 主要贡献
牛顿 弹簧振子, 万有引力, 刚体沙盒, 地动说, 牛顿摆, 抛体运动, 弹性碰撞, 自由物理画布 经典力学奠基人 · 万有引力定律
爱因斯坦 黑洞吸积盘, 黑洞吸积盘(高级), 爱因斯坦-罗森桥, 引力波探测 相对论创立者 · 质能方程
薛定谔 双缝干涉, 一维势阱 量子力学波动方程提出者
洛伦兹 洛伦兹吸引子, 混沌双摆 混沌理论先驱 · 蝴蝶效应
曼德博 分形几何 分形几何学之父 · 自相似理论
伯努利 伯努利原理, 泰勒-库埃特流 流体力学奠基人 · 伯努利方程
阿基米德 浮力 浮力定律(阿基米德原理)发现者 · 杠杆原理
克拉尼 克拉尼图形 声学振动模式可视化先驱
特斯拉 特斯拉线圈 交流电与高频电力先驱
法拉第 磁场与铁粉 电磁感应之父 · 磁力线提出者
高尔顿 高尔顿钉板 统计学与回归分析先驱
布朗 布朗运动 布朗运动发现者
伊辛 伊辛模型 相变统计模型提出者
克莱因 克莱因瓶 拓扑学与几何学大师
欧拉 悬臂梁分析, 齿轮与自行车 微积分与梁理论奠基人
Helbing 社会力模型 社会力模型提出者
Canup 忒伊亚撞击 大撞击假说数值模拟先驱
利萨如 利萨茹曲线 利萨茹曲线发现者 · 声学振动可视化
Pluchino 成功随机性 随机才能模型提出者 · 运气与成功
伽利略 地动说, 刚体沙盒, 弹簧振子, 抛体运动, 斜面滑块 现代天文学之父 · 望远镜观测与运动学
开普勒 地动说, 万有引力, 地球卫星 行星运动三定律提出者
哥白尼 地动说 日心说创立者 · 现代天文学奠基人
冯·诺依曼 3D元胞自动机 元胞自动机创始人 · 计算机科学先驱
Conway 3D元胞自动机 生命游戏发明者 · 元胞自动机先驱
Sutherland 点云探索 计算机图形学之父 · 三维交互先驱
卡拉比 卡拉比-丘流形 微分几何学家 · 卡拉比猜想提出者
丘成桐 卡拉比-丘流形 菲尔兹奖得主 · 证明卡拉比猜想
多普勒 多普勒效应 多普勒效应提出者 · 波源运动与频率变化
洛伦兹(力) 磁场圆周运动 洛伦兹力提出者 · 电磁理论与电子论
库仑 电场偏转 库仑定律提出者 · 电荷间相互作用
惠更斯 弹性碰撞, 双缝干涉 碰撞定律与摆钟 · 光的波动说
莫霍洛维奇 地球物理 地壳-地幔界面(莫霍面)发现者 · 地震学先驱
古登堡 地球物理 地核-地幔界面(古登堡面)发现者 · 地震学家
莱曼 地球物理 地球固体内核发现者 · 女性地震学先驱
魏格纳 地球物理 大陆漂移学说提出者 · 板块构造理论奠基人
斯涅尔 初中光学, 光的折射 光的折射定律(斯涅尔定律)提出者 · 几何光学奠基人
托马斯·杨 双缝干涉 杨氏双缝实验提出者 · 光的波动说奠基人

主题系统

五套主题通过 CSS 变量实现,由 shared-theme.js 统一管理:

主题 标识 风格描述
学术 academic 简洁白底 · 适合课堂演示
液态玻璃 glass 暗色毛玻璃 · 现代质感
卡通 cartoon 暖色圆角 · 活泼亲和
赛博朋克 cyber 霓虹发光 · 深空黑底
苏维埃 soviet 红色硬核 · 复古工业

主题状态通过 localStorage (key: psu-theme-v1) 持久化,在页面间自动同步。

本地运行

# 方式一:Python 内置服务器
cd physics-sandbox-v2
python -m http.server 8000

# 方式二:Node.js
npx serve .

# 方式三:直接打开
# 用浏览器直接打开 index.html

访问 http://localhost:8000 即可。

技术栈

  • 渲染:原生 Canvas 2D API · Three.js (WebGL) · D3.js (知识图谱)
  • 样式:CSS 变量 + 主题覆盖 · 零 CSS 框架
  • 交互:原生 DOM 事件 · requestAnimationFrame 动画循环
  • 3D 实验:Three.js (通过 importmap 从 CDN 加载或本地 lib/ 目录)
  • 部署:GitHub Pages 静态托管

知识库

physics-vault/ 目录包含 100+ 篇 Markdown 物理笔记,覆盖初高中物理基础知识点与科学家传记,按主题分类组织。

分支策略

仅使用 main 分支进行开发与部署。

License

MIT

About

Physics Sandbox - migrated from physics-sandbox

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages