Я использую линейную интерполяцию для анимации объекта между двумя 2D-координатами на экране. Это довольно близко к тому, что я хочу, но из-за округления я получаю неровное движение. В ASCII-арте:
ooo
ooo
ooo
oo
Обратите внимание, как он движется по сетке Манхэттена, а не поворачивает на 45 градусов. Что мне нужно, так это линейная интерполяция вдоль линии, которую создал бы алгоритм Брезенхэма:
oo
oo
oo
oo
Каждому x соответствует только один y. (И поменяйте местами x/y на крутую линию)
Так почему бы мне просто не использовать алгоритм Брезенхэма? Я, конечно, мог бы, но этот алгоритм итеративный, и я хотел бы знать только одну координату вдоль линии.
Я собираюсь попытаться решить эту проблему, линейно интерполируя координату x, округляя ее до пиксельной сетки, а затем находя соответствующий y. (Опять же, поменяйте местами x/y для крутых линий). Однако независимо от того, как это решение сработает, меня будут интересовать другие предложения и, возможно, предыдущий опыт.