1. Берешь точку и от неё все остальные точки смотришь и определяешь насколько далеко находится остальные.
2. Определяй цвет кубиков и считай аналогично к белым кругам дополнительно.
Сначала находишь коэф. удаления точек(сумма дельты точек с текущей точкой, деленное на кол-во точек).
Берешь самую удаленную точку(f) и смотришь от неё ближайшие точки(n) (которые не более максимальной дистанции от точки до точки на кубике), также проверяя у каждой ближайшей точки её ближайшие точки(ni). По итогу так ты должен узнать что точка более не имеет возможных ближайших точек и точно определить какому пространству кубика она принадлежит. Если определили, что точки принадлежат кубику, то их из масива убрать, чтобы их более не проверяло.
И все это повторять пока точки не закончатся.
Математику я за тебя бесплатно писать не буду.)
Это выходит очень похоже на A*, в целом, только с небольшими изменениями.
Запретить кубику быть прямоугольным. Создается rectangle вокруг пятна, если пятно имеет форму |h/w| < 15%, тогда rectangle преобразуется в два объекта разрезанные на пополам относительно самой длинной грани.
Автор привет, вопрос не по теме. Я вот решил расширить свой кругозор и смочь в python. Может подскажешь по каким материалам учиться? Я скачал серию видеоуроков, но они занудные :(
