Método para la combinación de cuadrados tejados definidos como puntos en vectores
Solución
Lo primero que se me ocurre es (probablemente no es la forma más económica):
1) Obtener el cuadro delimitador de todo su suelo de baldosas - que es min (x), min (y) a max (x), max (y) para todo x e y de sus azulejos
2) Para cada fila, comenzar con ESTADO == VACÍO, iterar sobre cada columna: cambios de estado a la plena cuando se pulse un cuadrado, y vacío cuando se encuentra un agujero. Cada estado del tiempo de vacío a lleno, guardar el segmento de línea de mano izquierda de ese cuadrado y cada vez ESTADO va de lleno a vacío, guardar el segmento de línea de mano derecha de ese cuadrado.
3) Repetir anteriormente en el eje Y
Ahora usted tiene un conjunto que sólo contiene los segmentos de línea más exteriores, se pueden combinar las que son co-lineales, etc y obtener la forma general.
Esto funcionará para formas no convexos y también si tiene agujeros en su suelo de baldosas.