Mam dużo prostopadłościanów w przestrzeni 3D, każda ma punkt początkowy na (x, y, z) i ma rozmiar (Lx, Ly, Lz). Zastanawiam się, jak znaleźć największą kostkę w tej przestrzeni 3D, która jest zawarta w unii prostopadłościanów. Czy istnieje na to wydajny algorytm?
Na przykład, jeśli mam następujące prostopadłościany:
- prostopadłościan zaczynający się od (0,0,0) o rozmiarze (10,10,10),
- prostopadłościan w (10,0,0) o rozmiarze (12,13,15),
- prostopadłościan o (0,10,0) o rozmiarze (10,10,10),
- prostopadłościan o (0,0,10) o rozmiarze (10,10,10), oraz
- prostopadłościan przy (10,10,10) o rozmiarze (9,9,9).
Zatem największą kostką zawartą w połączeniu tych prostopadłościanów będzie sześcian zaczynający się od (0,0,0) o rozmiarze (19,19,19).
Bardziej ogólna wersja tego pytania:
Biorąc pod uwagę zbiór pól w , znajdź największą hipersześcian zawarty w unii pól.R d