저는 수학에별로 좋지 않아서 수식을 코드로 변환하는 데 어려움을 겪고 있습니다. 기성품 인터넷 검색은 찾을 수 없습니다. 큰 직사각형에 작은 사각형이 많이 포함되어 있습니다. 가장 큰 빈 사각형을 계산하면됩니다. Anyone이 나를 도울 수 있습니까?사각형 내에서 가장 큰 빈 사각형
내가 여기서 생각해 낸 것은 ... 말할 것도없고, 큰 실패입니다. 당신의 Perdue Docs Link에서
Rect result = new Rect();
for (Double l = 0; l < bigRect.Width; ++l)
{
for (Double t = 0; t < bigRect.Height; ++t)
{
Double h = 0;
Double w = 0;
while ((h <= bigRect.Width) && (w <= bigRect.Height))
{
Rect largestEmpty = new Rect(l, t, w, h);
if (smallRects.TrueForAll(smallRect => !smallRect.IntersectsWith(largestEmpty)) && ((largestEmpty.Height * largestEmpty.Width) > (result.Height * result.Width)))
result = largestEmpty;
else
break;
++h;
++w;
}
}
}
좌표가 정수 또는 수레입니까? – miniBill
또한 해결 방법에 대한 아이디어가 있습니까? 그렇지 않으면 질문은 stackoverflow보다 math.stackexchange.com에 더 적합 할 수 있습니다. – miniBill
WPF에서 일하기 때문에 일반적으로 좌표는 Double이되어야합니다.하지만 정수는 내 필요에 맞고 예, 해결 방법에 대해 주위를 읽습니다. 그것은 ...하지만 제가 말했듯이 ... 수학 공식을 코드로 변환하는 것이 어렵습니다. –