Math 如何检查三角形圆和三角形矩形之间的碰撞?(包括轮换)

Math 如何检查三角形圆和三角形矩形之间的碰撞?(包括轮换),math,2d,collision,shapes,intersect,Math,2d,Collision,Shapes,Intersect,我需要检查一些形状是否在2D世界中发生碰撞 为了检查圆形和矩形之间的碰撞,我发现: 但是现在我需要在代码中添加另一个形状(三角形),三角形也可以旋转 如何实现这一点?这个JSTS示例(javascript)演示了如何使两个多边形相交 要修改示例使其中一个圆,请使用以下代码段: // this returns a JSTS polygon circle approximation with provided center and radius function pointJSTS(center

我需要检查一些形状是否在2D世界中发生碰撞

为了检查圆形和矩形之间的碰撞,我发现:

但是现在我需要在代码中添加另一个形状(三角形),三角形也可以旋转

如何实现这一点?

这个JSTS示例(javascript)演示了如何使两个多边形相交

要修改示例使其中一个圆,请使用以下代码段:

// this returns a JSTS polygon circle approximation with provided center and radius
function pointJSTS(center,radius){
  var point = new jsts.geom.Point(center);
  return point.buffer(radius);
}
// ....
// insert this into the example above at line 17
b = pointJSTS({x:10,y:20}, 40);

对示例进行进一步修改,使第一个多边形变成三角形是很简单的。

使用库。几何图形,形状优美,但一般来说,矩形和三角形都是多边形。你真正需要知道的就是如何相交于直线和直线,以及如何相交于直线和圆。链接现在已失效(回购协议似乎已被删除并替换为其他版本。我发现这可能会有所帮助,抱歉,但我没有验证这一点:我给创建者发了消息,实际上回购协议已存档,新链接在这里: