一个基于Web技术的交互式手势烟花应用,通过摄像头实时识别用户手势,实现粒子跟随和烟花绽放效果。 A web-based interactive gesture fireworks application that recognizes user gestures in real-time through a camera, achieving particle tracking and fireworks display effects.
- 初始状态:100个彩色粒子随机分布在屏幕上
- 粒子颜色:使用HSL颜色空间生成,每个粒子颜色随机
- 粒子大小:2-5像素半径
- 手掌检测:当摄像头捕捉到手掌时,所有粒子会跟随手掌移动
- 平滑跟随:使用物理引擎实现自然的粒子运动效果
- 回归原点:手掌消失后,粒子会缓慢回到初始位置
- 握拳触发:检测到握拳手势时,粒子会聚拢并向上飞起
- 圆形绽放:以圆形方式向外扩散,形成绚丽的烟花效果
- 重力模拟:粒子受重力影响,呈现自然的抛物线路径
- 烟花绽放后,屏幕中央显示"新年快乐"渐变色文字
- 文字使用彩虹渐变效果,带有光晕阴影
- HTML5 Canvas:用于绘制粒子和烟花效果
- MediaPipe Hands:实时手势识别库
- WebRTC:摄像头访问和视频流处理
- JavaScript:核心逻辑实现
- 粒子物理引擎:模拟粒子的速度、加速度和摩擦力
- 握拳检测:通过比较指尖和指关节的位置判断是否握拳
- 圆形烟花:使用极坐标系统实现均匀分布的粒子发射
- 打开index.html文件
- 允许浏览器访问摄像头权限
- 将手掌放在摄像头前,粒子会跟随手掌移动
- 握拳时触发烟花效果和新年祝福文字
- 手掌离开摄像头,粒子回到初始位置
├── index.html # 主应用文件
└── README.md # 项目说明文档
- Chrome 80+
- Firefox 79+
- Safari 14.1+
- Edge 80+
- 确保浏览器支持WebRTC和摄像头访问
- 避免摄像头被其他应用占用
- 在光线充足的环境下使用,以获得最佳手势识别效果
- 首次使用需要授予摄像头访问权限
- 初始状态:彩色粒子随机分布在屏幕上
- 手掌跟随:粒子跟随手掌移动
- 握拳效果:粒子聚拢上升并绽放成烟花
- 新年祝福:屏幕中央显示"新年快乐"文字
本项目使用纯前端技术实现,无需后端服务器支持。