Войти
ПрограммированиеФорумОбщее

Фильтрация движения.

#0
5:43, 21 дек. 2015

В игре карта сдвигается/масштабируется естественно пальцами по тачскрину. Иногда бывают подергивания при этом, т.е. сдвиг карты резко меняется:
Фильтр | Фильтрация движения.
Черная линия - фактическое движение, красная - желаемое с фильтрацией.
Код писал не я, переделывать слишком долго. Я тут подумал,  что это можно как-то решить, если фильтровать значения координат или дельты сдвига. Есть ли какие-нибудь алгоритмы и как они называются(для гугления)?


#1
6:00, 21 дек. 2015

Вектор из первой точки в последнюю, не?

#2
6:01, 21 дек. 2015

что-нибудь типа экспоненциальное сглаживание и рядом с ним?

#3
6:21, 21 дек. 2015

k119_55524
А если так?
фильтр2 | Фильтрация движения.

#4
9:45, 21 дек. 2015

n0th1ng
Какой девайс? Какая ось? Тут, имхо, дело не в движении карты, а в обработке инпута

#5
11:43, 21 дек. 2015

У меня было нечто подобное.
В моем случае оказалось, что информация о касании экрана самопроизвольно изменялась в процессе обработки моей программой этой информации. Так как она работала в одном потоке, а информация предоставлялась другим потоком.
Вылечил выяснением, как правильно организовывать взаимодействие потоков. 

#6
23:08, 21 дек. 2015

n0th1ng
> Иногда бывают подергивания при этом
Паркинсонизм чтоль?

#7
23:44, 21 дек. 2015

n0th1ng
для начала нужно залогировать координаты тачей, посмотреть есть ли там скачки, потом уже думать о фильтровании
но больше похоже на баг в коде

#8
7:49, 22 дек. 2015

Да, знаю, где-то баг, до меня понаписали кучу говнокода в инпуте, переписывать слишком много надо, а исправить подергивание надо "вчера". Пока решил сравнивать дельту(скорость) с предыдущим значением, если там слишком большое отклонение, игнорировать или интерполировать. Вот такой вот костыль...

#9
20:40, 22 дек. 2015

n0th1ng
> а, знаю, где-то баг, до меня понаписали кучу говнокода в инпуте, переписывать
> слишком много надо, а исправить подергивание надо "вчера".
Читать: "Искать баг слишком сложно для меня. Лучше впилю еще один костыль, который прячет этот баг."

#10
3:43, 23 дек. 2015

MrShoor
Ага, так и живем, иначе не выжить. Потом конечно перепишу весь этот говнокод.

#11
11:42, 23 дек. 2015

n0th1ng
Так же говорили те кто "понаписали до этого" :)

ПрограммированиеФорумОбщее

Тема в архиве.