Алгоритм ползунка / булавки - PullRequest
1 голос
/ 14 мая 2009

У меня есть ползунок с x количеством баров, каждый из которых представляет диапазон значений. Каждая полоса имеет верхнюю и нижнюю рукоятки, которые используются для манипулирования диапазоном. Стержни могут быть соединены между собой, таким образом, некоторые из ручек будут влиять на два стержня (то есть ручка находится в середине двух стержней), из которых их движения могут влиять на движения других стержней вниз по цепочке. Прутки могут иметь максимальную ширину, и их все равно можно толкать / тянуть, сохраняя их максимальную ширину. Мой вопрос заключается в том, существует ли документированный алгоритм для проверки перемещения, при котором пользователь пытается переместить маркер до значения V, который, в свою очередь, будет либо толкать, либо тянуть все подключенные шины вниз по цепочке?

Это немного сложно объяснить, так что, надеюсь, это имело смысл. Я не ищу фактического решения, просто некоторые алгоритмы, которые могут помочь мне прийти к решению (т. Е. Волшебные условия поиска Google для этого типа проблемы). Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 14 мая 2009

Похоже, вы имеете дело с особым случаем программирования ограничений. Я думаю, что вы могли бы смоделировать свои ползунки в виде ряда ограничений, т.е.

диапазон слайдера1: (a, b) где a> = MIN, b <= MAX <br> диапазон slider2: (c, d) где c> a + x, d <= MAX <br> ...

где x изменяется, когда пользователь перемещает нижний диапазон ползунка 2?

Потребовалось бы линейное время по числу ограничений, чтобы просто оценить все затронутые уравнения, когда пользователь перемещает ползунок, что не так уж плохо. Я не уверен, что ты можешь сделать это лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...