类: Collide

Collide

碰撞检测 Repo: https://github.com/bmoren/p5.2D/ Some functions and code modified version from http://www.jeffreythompson.org/collision-detection


构造

new Collide()

方法列表

名称 说明
.circleCircle(circle1, circle2)

判断圆与圆是否碰撞

.circlePoly(circle, polygon, interior)

判断圆与多边形是否碰撞

.lineCircle(line, circle)

判断线与圆是否碰撞

.lineLine(line1, line2, calcIntersection)

判断线与线是否碰撞

.linePoly(line, polygon)

判断线与多边形是否碰撞

.lineRect(line, rect, calcIntersection)

判断线与矩形是否碰撞

.pointArc(point, arc, buffer)

判断点与圆弧是否碰撞(bug)

.pointCircle(point, circle)

判断点与圆是否碰撞

.pointEllipse(point, ellipse)

判断点与椭圆是否碰撞

.pointLine(point, line, buffer)

判断点与线段是否碰撞

.pointPoint(point1, point2, buffer)

判断点与点是否碰撞

.pointPoly(point, polygon)

判断点与多边形是否碰撞 https://blog.csdn.net/tom_221x/article/details/51861129

.pointRect(point, rect)

判断点与矩形是否碰撞

.pointTriangle(point, triangle, buffer)

判断点与三角形是否碰撞

.polyPoly(p1, p2, interior)

判断多边形与多边形是否碰撞

.rect1Rect(rect1, rect2)

判断矩形与矩形是否碰撞

.rectCircle(rect, circle)

判断矩形与圆是否碰撞

.rectPoly(rect, polygon, interior)

判断矩形与多边形是否碰撞

详细说明


(static) circleCircle(circle1, circle2)

判断圆与圆是否碰撞

参数
名称 类型 缺省值 说明
circle1 *

{x, y, radius}

circle2 *

{x, y, radius}

返回值

Boolean


(static) circlePoly(circle, polygon, interior)

判断圆与多边形是否碰撞

参数
名称 类型 缺省值 说明
circle *
polygon *
interior * false
返回值

Boolean


(static) lineCircle(line, circle)

判断线与圆是否碰撞

参数
名称 类型 缺省值 说明
line *

{x1, y1, x2, y2}

circle *

{x, y, radius}

返回值

Boolean


(static) lineLine(line1, line2, calcIntersection)

判断线与线是否碰撞

参数
名称 类型 缺省值 说明
line1 *

{x1, y1, x2, y2}

line2 *

{x1, y1, x2, y2}

calcIntersection *
返回值

Boolean


(static) linePoly(line, polygon)

判断线与多边形是否碰撞

参数
名称 类型 缺省值 说明
line *
polygon *
返回值

Boolean


(static) lineRect(line, rect, calcIntersection)

判断线与矩形是否碰撞

参数
名称 类型 缺省值 说明
line *

{x1, y1, x2, y2}

rect *

{x, y, width, height}

calcIntersection *
返回值

Boolean


(static) pointArc(point, arc, buffer)

判断点与圆弧是否碰撞(bug)

参数
名称 类型 缺省值 说明
point *

{x, y}

arc *

{x, y, radius, heading, angle }

buffer *
返回值

boolean


(static) pointCircle(point, circle)

判断点与圆是否碰撞

参数
名称 类型 缺省值 说明
point Point

{x, y}

circle Circle

{x, y, radius}

返回值

boolean


(static) pointEllipse(point, ellipse)

判断点与椭圆是否碰撞

参数
名称 类型 缺省值 说明
point Point

{x, y}

ellipse Ellipse

{x, y, radiusX, radiusY}

返回值

boolean


(static) pointLine(point, line, buffer)

判断点与线段是否碰撞

参数
名称 类型 缺省值 说明
point *

{x, y}

line *

{x1, y1, x2, y2}

buffer *

容差

返回值

boolean


(static) pointPoint(point1, point2, buffer)

判断点与点是否碰撞

参数
名称 类型 缺省值 说明
point1 Point

{x, y}

point2 Point

{x, y}

buffer float

容差

返回值

boolean


(static) pointPoly(point, polygon)

判断点与多边形是否碰撞 https://blog.csdn.net/tom_221x/article/details/51861129

参数
名称 类型 缺省值 说明
point *

{x, y}

polygon *

[[x,y],[x,y],[x,y]]

返回值

Boolean


(static) pointRect(point, rect)

判断点与矩形是否碰撞

参数
名称 类型 缺省值 说明
point *

{x, y}

rect *

{x, y, width, height}

返回值

boolean


(static) pointTriangle(point, triangle, buffer)

判断点与三角形是否碰撞

参数
名称 类型 缺省值 说明
point *

{x, y}

triangle *

{x1, y1, x2, y2, x3, y3}

buffer *
返回值

boolean


(static) polyPoly(p1, p2, interior)

判断多边形与多边形是否碰撞

参数
名称 类型 缺省值 说明
p1 *
p2 *
interior *
返回值

Boolean


(static) rect1Rect(rect1, rect2)

判断矩形与矩形是否碰撞

参数
名称 类型 缺省值 说明
rect1 *
rect2 *
返回值

Boolean


(static) rectCircle(rect, circle)

判断矩形与圆是否碰撞

参数
名称 类型 缺省值 说明
rect *

{x, y, width, height}

circle *

{x, y, radius}

返回值

Boolean


(static) rectPoly(rect, polygon, interior)

判断矩形与多边形是否碰撞

参数
名称 类型 缺省值 说明
rect *

{x, y, width, height}

polygon *
interior *
返回值

Boolean