Сложный способ нарисовать лабиринт
Дополнение к заметке о трудных и сложных задачах. Посмотрим на примере картинки с лабиринтами, как трудоёмкую задачу можно преобразовать в изобретательскую. Пример не самый наглядный, но я постараюсь показать движение мысли на чём есть.
В тексте встречаются вводные Итак, Следовательно и Очевидно. Вы предупреждены.
Контекст
Итак, для статьи мне была нужна иллюстрация с двумя лабиринтами: обычным и линейным, из одного коридора без тупиков.
Лабиринты нужны в одном стиле и размере, но рисовать их весь вечер не хочется. Шансы подобрать готовые картинки нулевые, никому в голову не придёт рисовать лабиринт из одного коридора. Коллеги подсказали поискать генератор лабиринтов, но задать нужный рисунок в них нельзя, так что я решил рисовать сам.
Задача
Нарисовать два лабиринта как можно быстрее и проще.
Чтобы не тратить время на постройку обычного лабиринта, можно обвести в Фигме картинку из интернета, но это всё ещё трудная задача.
Сначала придётся нащёлкать каждую линию по сетке. Потом я обязательно увижу, что получилось некрасиво, и решу всё переделать. Для этого придётся двигать вершины линий, удалять-добавлять и всячески путаться в куче объектов. Для меня всё это долго и муторно.
Задачу стоит превратить в сложную: вместо непосредственного рисования придумать способ быстро нарисовать два лабиринта в одном стиле.
Поиски и решение
Если рисование каждой линии нас не устраивает, нужно получить рисунок другим способом: автоматизировать, делегировать или придумать какой-то приём. Автоматизировать нечем, искать исполнителя ещё дольше, чем нарисовать самому. Остаётся что-то придумать.
Лабиринты обычно рисуют по прямоугольной сетке. Следовательно, лабиринт — это куча квадратных комнат без одной, двух или трёх стенок.
Далее мысль совершает скачок: что, если не рисовать нужные стенки, а нарисовать вообще все и убрать лишние? Например, сделать ячейку лабиринта из четырёх отдельных линий и выделять ненужные рамкой.
Добавим к методу возможности инструмента. В Фигме стенки ячейки можно объединить в группу, загнать нужное количество ячеек в Auto Layout, получить сетку, а потом всё разгруппировать. Ещё можно закомпонентить лабиринт со всеми стенками и работать с его копиями.
В результате получается метод рисования лабиринта, который не требует точных движений и прощает ошибки. Таким образом, мы не только экономим время, но и снижаем когнитивную нагрузку.