Как мы знаем в обычной линейной интерполяции, конечный пункт назначения фиксирован. Я хочу использовать камеру, чтобы поймать движущиеся объекты, и координата может быть конечным пунктом назначения. Кто-нибудь может помочь мне закончить этот алгоритм в C-коде?Линейная интерполяция в реальном времени о трехмерном серводвигателе
ответ
Предполагая, что вы пытаетесь отслеживать движущийся объект с помощью камеры с шариками, проблема заключается в несоответствии между линейным, постоянным допуском скорости и движением камеры. Даже если ваш объект движется с постоянной скоростью, камера должна будет вращаться с постоянной скоростью, чтобы отслеживать объект. Например, камера должна будет быстро вращаться, когда объект находится рядом с камерой, но будет медленно вращаться, когда объект находится далеко.
1) Выясните декартовы (XYZ) координаты начальной и конечной точек.
2) Вычислить последовательность линейных интерполяций между начальной и конечной точками в декартовом пространстве. Это последовательность точек в декартовом пространстве, которые оценивают траекторию объекта.
3) Преобразование последовательности декартовых точек из декартовой системы координат в Spherical coordinate system.
4) Сферические координаты Theta и Phi - это углы, которые ваша камера должна двигаться во времени.
Все описанные выше вычисления являются простыми и замкнутыми. Вам не нужно применять какие-либо методы программирования «в реальном времени» в стороне от базовых понятий, таких как динамическое распределение, а также не интерпретируемых или мусорных языков. Если надежность очень важна, вы захотите использовать подходящую ОС реального времени. В Linux есть хороший патч реального времени, который обеспечивает довольно хорошую производительность в режиме реального времени.
К сожалению, я хочу достичь этой темы в SCM, я хочу использовать камеру как kinect, а затем использовать мотор для управления воронкой, чтобы поймать падающий шар. Возможно, мне следует использовать цифровую инкрементную линейную интерполяцию в сочетании с сигналом с камеры. Ты так думаешь? – Rafael
Наверное, нет. У Kinect и других подобных платформ есть способ точно оценить глубину. Вы не сможете это сделать, если не возникнут дополнительные ограничения для вашей проблемы. – David
Да, Kinect имеет способ точно оценить глубину, я хочу использовать этот способ для вычисления координаты шара, а затем пусть координата станет конечным пунктом назначения алгоритма. Но я не знаю, как объединить базовую линейную интерполяцию и выборку в реальном времени. – Rafael
Нет, это слишком широкий вопрос для Stackoverflow. – kaylum
«топоры деревьев» или «три оси»? Можно использовать [Stihl] (https://en.wikipedia.org/wiki/Stihl#Product_gallery) для первой задачи вместо топора. – chux
Thx много. Я первый раз задаю вопрос в Stackoverflow. – Rafael