Skip to content

About

一个基于Web技术的交互式手势烟花应用,通过摄像头实时识别用户手势,实现粒子跟随和烟花绽放效果。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

手势烟花

一个基于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.

功能特性

1. 彩色粒子系统

  • 初始状态:100个彩色粒子随机分布在屏幕上
  • 粒子颜色:使用HSL颜色空间生成,每个粒子颜色随机
  • 粒子大小:2-5像素半径

2. 手势追踪功能

  • 手掌检测:当摄像头捕捉到手掌时,所有粒子会跟随手掌移动
  • 平滑跟随:使用物理引擎实现自然的粒子运动效果
  • 回归原点:手掌消失后,粒子会缓慢回到初始位置

3. 烟花绽放效果

  • 握拳触发:检测到握拳手势时,粒子会聚拢并向上飞起
  • 圆形绽放:以圆形方式向外扩散,形成绚丽的烟花效果
  • 重力模拟:粒子受重力影响,呈现自然的抛物线路径

4. 新年祝福

  • 烟花绽放后,屏幕中央显示"新年快乐"渐变色文字
  • 文字使用彩虹渐变效果,带有光晕阴影

技术实现

前端技术栈

  • HTML5 Canvas:用于绘制粒子和烟花效果
  • MediaPipe Hands:实时手势识别库
  • WebRTC:摄像头访问和视频流处理
  • JavaScript:核心逻辑实现

关键算法

  • 粒子物理引擎:模拟粒子的速度、加速度和摩擦力
  • 握拳检测:通过比较指尖和指关节的位置判断是否握拳
  • 圆形烟花:使用极坐标系统实现均匀分布的粒子发射

使用方法

  1. 打开index.html文件
  2. 允许浏览器访问摄像头权限
  3. 将手掌放在摄像头前,粒子会跟随手掌移动
  4. 握拳时触发烟花效果和新年祝福文字
  5. 手掌离开摄像头,粒子回到初始位置

文件结构

├── index.html    # 主应用文件
└── README.md     # 项目说明文档

浏览器兼容性

  • Chrome 80+
  • Firefox 79+
  • Safari 14.1+
  • Edge 80+

注意事项

  1. 确保浏览器支持WebRTC和摄像头访问
  2. 避免摄像头被其他应用占用
  3. 在光线充足的环境下使用,以获得最佳手势识别效果
  4. 首次使用需要授予摄像头访问权限

效果展示

  • 初始状态:彩色粒子随机分布在屏幕上
  • 手掌跟随:粒子跟随手掌移动
  • 握拳效果:粒子聚拢上升并绽放成烟花
  • 新年祝福:屏幕中央显示"新年快乐"文字

开发者

本项目使用纯前端技术实现,无需后端服务器支持。

About

一个基于Web技术的交互式手势烟花应用,通过摄像头实时识别用户手势,实现粒子跟随和烟花绽放效果。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages