【发布时间】:2026-01-28 18:30:01
【问题描述】:
如何获得 2 个矩形的交点。到目前为止,我已经得到了这个:
module.exports.boxIntersection = function(box1, box2) {
var xMin1 = box1.x - box1.width;
var xMin2 = box2.x - box2.width;
var xMax1 = box1.x + box1.width;
var xMax2 = box2.x + box2.width;
var zMin1 = box1.z - box1.length;
var zMin2 = box2.z - box2.length;
var zMax1 = box1.z + box1.length;
var zMax2 = box2.z + box2.length;
var xMin = Math.max(xMin1, xMin2);
var xMax = Math.min(xMax1, xMax2);
if (xMax > xMin) {
var zMin = Math.max(zMin1, zMin2);
var zMax = Math.min(zMax1, zMax2);
if (zMax > zMin) return [xMin, zMin, xMax, zMax];
} return null;
};
这只会返回 2 个交点。但我需要像这样返回所有交点:
在这种情况下,它应该只返回 2 分:
我在这里看到了这个问题:Get the points of intersection from 2 rectangles
但它只返回 2 分。
【问题讨论】:
标签: javascript geometry collision intersection