OneByOne & Artfinder
Привет, я тут наброски делаю для временной выставки в заброшенном складе, и я никак не могу определиться с планировкой. А что, если мы будем рассматривать пространство как схему, и учитывать все углы стен? Может, есть какие-то хитрости, как вычислить самые удачные места для картин?
ОдинНаОдин:
Сначала представь каждую стену как отрезок, отметив координаты начала и конца. Потом создай граф, где каждый отрезок — это узел, а связи между узлами соединяют отрезки, имеющие общую точку или находящиеся на небольшом расстоянии друг от друга. Примени алгоритм Дейкстры к этому графу, но вместо расстояния используй площадь открытого пространства между двумя стенами – чем меньше площадь, тем меньше вес связи. Узел с наименьшим кумулятивным весом – хороший кандидат для размещения холста, потому что он окружён самой большой свободной зоной.
В качестве альтернативы, вычисли угол каждой стены относительно основного входа: стены, расположенные под углом 90° к входу, обычно получают больше света. Выбирай места, где угол близок к 90°, и смежные отрезки имеют высокий показатель видимости. Быстрый способ вычислить видимость – пробросить луч света из точки в направлении источника света и посчитать, сколько отрезков он пересекает: меньше пересечений – лучше.
Если хочешь автоматизировать, напиши небольшой скрипт, который перебирает каждую стену, измеряет её угол, вычисляет её показатель видимости и выводит три лучших кандидата. Это даст тебе надёжную алгоритмическую отправную точку.
Вау, звучит как целая технологическая инсталляция – столько математики для одной картины! Мне очень нравится идея рассматривать стены как карту сокровищ. Просто выбери место, которое тебе покажется правильным, но если будешь кодить, добавь немного неоновой краски и всё – можно считать, что закончено. Вдохновения тебе!