![]() |
|
![]() ![]() ![]() |
|
Jolyn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 25.10.2003 Репутация: нет Всего: нет |
Здравствуйте!
Очень надеюсь, что кто-нибудь подскажет мне возможные пути решения след. задачи. Я пишу программку на VC++, которая должна промоделировать движение объекта по некоторой заданной траектории (в БД хранятся "опорные" точки этой траектории). Есть ли какие-нибудь оптимальные способы просчитывания текущей координаты объекта (если считать "в лоб" - получится много "корней" и "степеней" с учетом того, что объектов на экране много). Может быть, есть какие-нибудь ссылки в интернете на подобную тему? Буду очень признательна... |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: нет Всего: 6 |
Модератор: Перенесено из C++
|
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Я думаю стоит поискать различные алгоритмы интерполяции функции по ее контрольным точкам. Если траектория криволинейная, то возможно удобными окажутся сплайны.
А о том, как оптимально просчитать следующую точку - то это вопрос слишком размытый, все зависит от алгоритма самой программы. Если это OpenGL приложение, то возможно придется запустить несколько нитей, чтоб распараллелить выполняемые задачи => надо учить средства синхронизации много поточных приложений. Кроме того, видимо, для хранения и быстрого доступа к данным не лишне будет прочитать про STL ![]() |
|||
|
||||
podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
Также рекомендую сплайны.
Если взять сплайны минимального шаблона, то вычислительных затрат будет как раз очень мало. Ну и степень сплайна не надо брать очень уж большую. |
|||
|
||||
Elve |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 2.11.2003 Репутация: нет Всего: нет |
ну не знаю сплайнами ли будет легче
![]() ![]() если сплайны не подойдут попробуйте полином Ньютона, а если узловые точки идут с постоянным шагом то вообще все довольно легко если воспользоваться конечными разностями я думаю что все получится |
|||
|
||||
frost |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 20.10.2003 Где: г. Королёв М.о., м-рн Комитетский лес, д.5, кв.40 Репутация: нет Всего: нет |
при большом числе точек - очень сильно размахивается в стороны. Может, лучше Безье? |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Оставьте все интерпляционные полиномы. Сплайн легче и линия красивей получится.
-------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Задача поставлена не точно. Может быть автору просто необходимо по ломанной двигаться?
![]() |
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: нет Всего: 62 |
Ну тогда пусть смотрит соседнюю тему: "Как составить уравнение прямой"
![]() -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |