Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Алгоритм движения по траектории... |
Автор: Jolyn 25.10.2003, 14:17 |
Здравствуйте! Очень надеюсь, что кто-нибудь подскажет мне возможные пути решения след. задачи. Я пишу программку на VC++, которая должна промоделировать движение объекта по некоторой заданной траектории (в БД хранятся "опорные" точки этой траектории). Есть ли какие-нибудь оптимальные способы просчитывания текущей координаты объекта (если считать "в лоб" - получится много "корней" и "степеней" с учетом того, что объектов на экране много). Может быть, есть какие-нибудь ссылки в интернете на подобную тему? Буду очень признательна... |
Автор: RAN 25.10.2003, 16:42 |
Модератор: Перенесено из C++ |
Автор: DENNN 25.10.2003, 17:20 |
Я думаю стоит поискать различные алгоритмы интерполяции функции по ее контрольным точкам. Если траектория криволинейная, то возможно удобными окажутся сплайны. А о том, как оптимально просчитать следующую точку - то это вопрос слишком размытый, все зависит от алгоритма самой программы. Если это OpenGL приложение, то возможно придется запустить несколько нитей, чтоб распараллелить выполняемые задачи => надо учить средства синхронизации много поточных приложений. Кроме того, видимо, для хранения и быстрого доступа к данным не лишне будет прочитать про STL ![]() |
Автор: podval 25.10.2003, 18:38 |
Также рекомендую сплайны. Если взять сплайны минимального шаблона, то вычислительных затрат будет как раз очень мало. Ну и степень сплайна не надо брать очень уж большую. |
Автор: Elve 2.11.2003, 20:29 |
ну не знаю сплайнами ли будет легче![]() ![]() если сплайны не подойдут попробуйте полином Ньютона, а если узловые точки идут с постоянным шагом то вообще все довольно легко если воспользоваться конечными разностями я думаю что все получится |
Автор: frost 2.11.2003, 20:49 | ||
при большом числе точек - очень сильно размахивается в стороны. Может, лучше Безье? |
Автор: neutrino 2.11.2003, 22:27 |
Оставьте все интерпляционные полиномы. Сплайн легче и линия красивей получится. |
Автор: DENNN 3.11.2003, 11:37 |
Задача поставлена не точно. Может быть автору просто необходимо по ломанной двигаться? ![]() |
Автор: neutrino 3.11.2003, 13:19 |
Ну тогда пусть смотрит соседнюю тему: "Как составить уравнение прямой" ![]() |