java - fusionar rectángulos adiacentes en un polígono

Tengo un conjunto de rectángulos que tienen el mismo ancho y alto y son siempre adiacentes. Conozco la posición de todos los vértices, cada uno con solo 4. (porque es un cuadrado).

Esta imagen puede explicar esto:

Si hay espacios, está bien si el algoritmo "llenará" el espacio.

Busqué mucho y no pude encontrar nada bueno. Necesito un algoritmo simple, no tiene que ser tan eficiente. Digamos que tenemos 7 rectángulos como en el segundo ejemplo de polígono de la imagen. Está bien si primero fusiono 1 con 2, luego fusiono nuestro nuevo polígono con 3, y así sucesivamente, no tiene que ser tan rápido, porque habrá un máximo de 50 rectángulos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta