Я пытаюсь выяснить, возможно ли реализовать следующий интерфейс Mathematica.
Я хотел бы создать интерфейс в Mathematica, с помощью которого пользователь сможет графически и интерактивно определять произвольное числочисловые параметры, с учетом ограничения.
Параметры, о которых идет речь, представляют собой числовые веса [0,1]
, каждый из которых связан с соответствующим критерием и ограничен суммированием до единицы.Очевидно, что это ограничение вызывает компромисс с весами, которые могут быть связаны с каждым критерием, и я хотел сделать такой компромисс очевидным графически, имея интерактивный график в соответствии с тем, что следует (сделано в Excel, к сожалению):
В этом примере есть 6 критериев, но я хотел бы обобщить это на произвольное число (например, от 2 до 7).
Интерфейс будет работать, перетаскивая каждую из вершин многоугольника (соответствующего определенному весу) вдоль соответствующей оси, и заставляя остальных корректироваться равномерно, чтобы они всегда составляли 1.
Затем числовые значения будут возвращены для использования в последующих вычислениях.
Я оглянулся и, кажется, не смог найти кого-то, у кого была такая же проблема (определение поисковых запросов нетривиально, вероятно).
Самое близкое, что я нашел среди примеров Mathematica, это следующее приложениепанели локатора, где 3 квадрата разрешено перемещать по квадрату и их позиция возвращается:
DynamicModule[{pt = {{1, 1}/2, {-1, 1}/2, {1, -1}/2}}, {LocatorPane[
Dynamic[pt], Graphics[{Gray, Disk[]}]], Dynamic[pt]}]