Позвольте мне сначала объяснить идею. Фактический математический вопрос находится под скриншотами. Для музыкальных целей я создаю алгоритм грува, в котором позиции событий переводятся с помощью математической функции F (X). Позиции нормализуются внутри диапазона канавок, поэтому я в основном имею дело со значениями между нулем и единицей (что значительно упрощает формирование кривых канавок — единственное ограничение — x'>=0). Этот алгоритм канавки принимает любое положение события, а также работает путем фильтрации статических заметок из структуры данных, такой как дорожка заметок на временной шкале. Для фильтрации событий в определенном диапазоне (размер аудиоблока) мне нужна обратная функция грува, чтобы найти ноты на дорожке и преобразовать их в пространство грува. Все идет нормально. Оно работает!
Вкратце: я использую обратную функцию для того, чтобы она зеркально отображалась на (y=x). Так что я могу подставить значение x и получить y. Этот y, очевидно, можно подключить к обратной функции, чтобы снова получить первый x.
Проблема: теперь я хочу иметь возможность смешивать канавку с другой, но обычный линейный (подсказка-подсказка) код смешивания ведет себя не так, как я ожидал. Чтобы упростить задачу, я сначала попытался смешать y=x.
B(x)=alpha*F(x) + (1-alpha)*x;
iB(x)=alpha*iF(x) + (1-alpha)*x;
Для альфа=1 мы получаем полную кривую. Для альфа=0 мы получаем прямую линию. Но для альфы между 0 и 1 B(x) и iB(x) больше не зеркально отражены (близко, но недостаточно), F(x) и iF(x) все еще зеркально отражены.
Есть ли решение для этого (помимо квантования кривой на отрезки)? Любая тема, на которую я должен обратить внимание?
F(x)
иG(x)
, которые обе принимают значения от 0 до 1, когдаx
находится между 0 и 1, и обратные значения этих функций —iF(x)
иiG(x)
. Теперь вы создаете новую функциюB(x) = alpha*F(x) + (1-alpha)*G(x)
и вам нужно найти обратную этой функции черезiF(x)
иiG(x)
? Если это так, я думаю, вы могли бы задать этот вопрос на математическом сайте, возможно, параллельно с этим вопросом здесь. Они могут сказать вам, существует ли полезная математическая процедура. - person David Z   schedule 26.08.2011