Вы смотрите на это с точки зрения "У меня есть квадраты".
Но вы должны смотреть на это с точки зрения «У меня есть очки» (каждый квадрат - всего 4 очка).
То, что вы на самом деле ищете, называется "Выпуклая оболочка" - и на этот вопрос уже был дан ответ на вопрос:
Многоугольник, содержащий множество точек
На самом деле я начал строить схемы вашего решения, чтобы решить его, и именно тогда это произошло со мной.
Я понял, когда делал свои диаграммы, что контур этих фигур имеет несколько интересных свойств - когда я подумал: «Да, верно - кто-то уже сделал это - это должно быть уже».
Итак, я гуглил «построить наименьший многоугольник, охватывающий другие многоугольники»
И нашел другой С.О. вопрос.
Хотя у вас есть два, казалось бы, разнородных требования:
два квадрата, диагональные как прямоугольник с треугольниками в каждом
конец в 45 градусов - это, вероятно, самый нерегулярный / особый
случай ... три или четыре квадрата соединены, чтобы сделать выпуклую форму, как
Тетрис (ТМ) шт. 'L' шт.
В первом примере выше вы говорите, что хотите «Выпуклый корпус».
Но во втором примере выше (части тетриса) вам понадобится "Вогнутый корпус".
Удачи.
Вот мои диаграммы:
