摘要: 直线方程的一般式:ax+by+c=0 点p(x1, y1)到直线的距离: //点到直线的距离(一般式表示直线) public static float PointToLineDistance(Vector2 point, float a, float b, float c) { //直线一般式: a 阅读全文
posted @ 2023-11-05 23:19 yanghui01 阅读(227) 评论(0) 推荐(0) 编辑
摘要: ap1×ab与ap2×ab的结果异号,则表示两点在线段两侧;同号则表示在线段同侧 有一个点在线段上或两个点都在线段上,当做在线段同侧处理 //两点是否在线段同侧 public static bool IsTwoPointSameSideOfSegment(Vector2 a, Vector2 b, 阅读全文
posted @ 2023-11-05 21:12 yanghui01 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 分离轴算法 1) 英文名Separating Axis Theorem,简称SAT 2) 就是利用投影法将多边形所有点都投影到分离轴上,如果在分离轴上的投影不重叠,则两凸多边形不相交。 那将哪个轴作为分离轴呢? 多边形的每条边的法线都分别作为分离轴来计算一次,在所有分离轴上都测试通过,则两个多边形相 阅读全文
posted @ 2023-11-05 01:33 yanghui01 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1) 以矩形的中心作为原点,建立坐标系。 2) 通过圆到矩形的最短距离<=r来判断是否相交,几种情况 2-a) bc.x>0&bc.y>0时,圆到矩形的最短距离为|bc|,所以|bc|>r则圆和矩形没有相交 2-b) bc.x<=0&bc.y>0时,圆到矩形的最短距离为|bc.y|即|dc|,把bc 阅读全文
posted @ 2023-11-05 00:40 yanghui01 阅读(323) 评论(0) 推荐(0) 编辑