我有一个旋转的矩形,由4个顶点的坐标表示(实际上由4个lat-lon表示)。我想将矩形划分为相等的区域网格 我需要这个来找到2个旋转矩形的近似交叉区域(使用采样方法)。
如何将矩形划分为相等的区域网格?我只想要网格的中心点。这是因为我将检查这些中心点中有多少位于第二个矩形内并找到近似交叉区域。
我尝试过搜索,但大部分解决方案都不适用于旋转的矩形。
注意:我正在使用JavaScript进行实施。代码将有所帮助:)
编辑:此代码不适用于旋转的矩形。
var numDivide = 7;
var i = (region1[1].x - region1[0].x) / numDivide;
var j = (region1[2].y - region1[0].y) / numDivide;
var xPos = region1[0].x;
var yPos = region1[0].y;
var gridCenters = [];
for(var k = 0; k < numDivide; ++k)
{
var newPosX = (xPos + (i / 2));
for(var l = 0; l < numDivide; ++l)
{
var newPosY = (yPos + (j / 2));
gridCenters.push({x: newPosX, y: newPosY});
yPos = yPos + j;
}
xPos = xPos + i;
yPos = region1[0].y;
}