旋风模拟器 - 基于粒子系统的龙卷风可视化模拟工具
| Files | Last commit | Last update |
|---|---|---|
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 18 days ago |
🌪️ 旋风模拟器 (Tornado Simulator)
基于 HTML5 Canvas 粒子系统的龙卷风/旋风可视化模拟工具。
✨ 功能特性
- 粒子系统模拟:数百至数千粒子实时渲染,模拟旋风动态效果
- 多维度参数控制:旋风强度、影响半径、粒子数量、旋风高度、旋转方向
- 4种颜色模式:渐变彩虹、热力图、沙尘色、冰晶蓝
- 鼠标交互:移动鼠标改变旋风中心,点击产生爆发效果
- 实时数据统计:粒子数、风速、转速、FPS 实时显示
- 3D视觉效果:粒子按高度排序渲染,模拟立体旋风柱
🚀 快速开始
# 克隆仓库
git clone https://gitcode.com/Eddygit/tornado-simulator.git
cd tornado-simulator
# 启动本地服务器(任选一种)
python3 -m http.server 8080
# 或
npx http-server -p 8080
# 浏览器打开 http://localhost:8080
📂 项目结构
tornado-simulator/
├── index.html # 主页面
├── style.css # 样式文件
├── simulator.js # 旋风模拟核心逻辑
└── README.md # 项目说明
🎮 使用说明
| 操作 | 效果 |
|---|---|
| 移动鼠标 | 改变旋风中心位置 |
| 点击画布 | 产生粒子爆发效果 |
| 强度滑块 | 调整旋风旋转速度(1~10) |
| 半径滑块 | 调整旋风影响范围(50~300) |
| 粒子滑块 | 调整粒子数量(100~2000) |
| 高度滑块 | 调整旋风柱高度(100~500) |
| 方向按钮 | 切换顺时针/逆时针 |
| 颜色模式 | 切换4种视觉风格 |
🔧 技术栈
- HTML5 Canvas - 2D图形渲染
- JavaScript (ES6+) - 粒子系统逻辑
- CSS3 - 响应式UI设计
- 无第三方依赖 - 纯原生实现
📊 技术指标
- 粒子数上限:2000
- 渲染方式:Canvas 2D + 拖影叠加
- 排序优化:按高度排序确保正确遮挡关系
- 帧率目标:60 FPS
📝 License
MIT