【技术实现步骤摘要】
一种2D绘图中的碰撞检测方法及系统
本专利技术涉及一种2D绘图中的碰撞检测方法及系统,属于计算机图形处理
技术介绍
在很多图形界面软件或者游戏中,元件的相互碰撞检测在整个交互过程都是很重要的部分,碰撞检测做得好不好往往很大程度决定了软件或者游戏最终的呈现效果。在二维空间中,形状含其面积,而其边界则是由3条以上直线或者1条以上的曲线所定义。当试图判断两个图形之间是否有碰撞发生时,因为常常存在一些很复杂不规则几何图形,这将导致碰撞检测变得很复杂。当然目前也挺有很多方案来检测几何图形有无发生碰撞,如何把整个检测过程变得简单清晰,如何把硬件资源CPU、内存占用降到最低,如何更高效的检测几何图形之间的碰撞过程。在2D游戏中,通常使用矩形、圆形、射线/线段来代替复杂图形的相交检测。如果要求提高精度,则会使用三角形等多边形来进行碰撞检测;如果精度还是不够,最细粒度将会使用像素进行检测。若嫌精度不够,则会使用三角形或网格来进行检测。基于对于目前的碰撞检测方案,可以分为两种离散点的碰撞检测和连续碰撞检测。离散点的碰撞 ...
【技术保护点】
1.一种2D绘图中的碰撞检测方法,其特征在于,包括如下步骤:/n第1步,在二维坐标系中,获得待检测的第一图形和第二图形的轮廓,并且将轮廓上的顶分别作为第一图形和第二图形的离散点;/n第2步,使第一图形和第二图形发生相对位置变动,并在变动过程中对第一图形的离散点依次进行遍历,判定是否存在第一图形的离散点位于于第二图形的轮廓线的内部:第一图形的任意一个离散点处于第二图形的轮廓线内部时,则认定发生了碰撞。/n
【技术特征摘要】
1.一种2D绘图中的碰撞检测方法,其特征在于,包括如下步骤:
第1步,在二维坐标系中,获得待检测的第一图形和第二图形的轮廓,并且将轮廓上的顶分别作为第一图形和第二图形的离散点;
第2步,使第一图形和第二图形发生相对位置变动,并在变动过程中对第一图形的离散点依次进行遍历,判定是否存在第一图形的离散点位于于第二图形的轮廓线的内部:第一图形的任意一个离散点处于第二图形的轮廓线内部时,则认定发生了碰撞。
2.根据权利要求1所述的2D绘图中的碰撞检测方法,其特征在于,在一个实施方式中,判定第一图形的离散点是否位于第二图形的轮廓线的内部的方法是:
S1,将所述的第一图形的离散点上作出任意一个方向的直线;
S2,如果直线与第二图形的轮廓线的交点个数为0或者2,则所述的第一图形的离散点在第二图形的外部;
S3,如果直线与第二图形的轮廓线的交点的个数为1,并且第二图形的分散点全部位于直线的同一侧或直线上,则所述的第一图形的离散点在第二图形的外部;否则,所述的第一图形的离散点在第二图形的内部。
3.根据权利要求1所述的2D绘图中的碰撞检测方法,其特征在于,在一个实施方式中,若第一图形的至少一个离散点位于第二图形的内部、至少一个离散点位于第二图形的外部时,则认为第一图形和第二图形为相交位置关系。
4.根据权利要求1所述的2D绘图中的碰撞检测方法,其特征在于,在一个实施方式中,若第一图形的全部的离散点都在第二图形的内部,则认为第二图形中包含第一图形。
5.根据权利要求1所述的2D绘图中...
【专利技术属性】
技术研发人员:陈旋,王冲,杨涛,
申请(专利权)人:江苏艾佳家居用品有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。