Skip to content

纯C#实现的2D凸多边形碰撞检测,支持圆盘、矩形、胶囊、凸多边形、椭圆和扇形

Notifications You must be signed in to change notification settings

simplex86/Collision2D.Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

纯C#实现的2D凸多边形碰撞检测算法,目前支持的基本图形有

  • 线段
  • 矩形
  • 多边形
  • 胶囊
  • 椭圆
  • 扇形

支持任意角度的扇形

Featrues

  • 特定算法
    • 圆 - 圆
    • 圆 - 矩形
    • 圆 - 多边形
    • 圆 - 胶囊
    • 矩形 - 矩形
  • GJK
    • 线段
    • 矩形
    • 多边形
    • 胶囊
    • 椭圆
    • 扇形

GJK实现了所有基本图形的Support Method,支持任意基本图形间的碰撞检测

Todo

  • 图形
    • 射线
  • 算法
    • SAT

示例

collision

渲染并不是我关注的问题,直接用GDI+画

说明

  • 这个项目仅实现碰撞检测算法,并不是完备的碰撞系统,更不是物理系统
  • 演示程序中碰撞后,用相撞图形的重心坐标相减算出新的方向

参考文献

  1. 实时碰撞检测算法技术
  2. 3D数学基础: 图形与游戏开发
  3. 碰撞检测算法之GJK算法
  4. 随机凸多边形生成算法

About

纯C#实现的2D凸多边形碰撞检测,支持圆盘、矩形、胶囊、凸多边形、椭圆和扇形

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages