Tenía un error que ya corregí (no era la unión de las componentes conexas, sino de las "concavidades" de las partes conexas). La envolvente convexa de un conjunto es la unión de todos los segmentos de recta con extremos en el conjunto. Lo que hago es en cada componente conexa, tomo la envolvente convexa y luego quito el conjunto original, quedándome sólo con lo que le faltaba a la componente para ser covexa (es decir, me quedo con las"concavidades"). Si el conunto en algún paso tiene puras componentes conexas que sean convexas, en el siguiente paso será vacío (pues no hay concavidades).