Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > график движения точки


Автор: bagos 20.1.2011, 09:31
Есть точки A и B, для них заданы x и y. Подскажите какими алгоритмами нужно воспользоваться для реализации подобных графиков

http://s1.ipicture.ru/Gallery/Viewfull/3174788.html

Автор: ksnk 20.1.2011, 09:39
bagos, автомобиль, приемник с gps и трекер на приемнике...  smile 

какая задача - такое и решение...

Автор: bagos 20.1.2011, 09:44
оу, да пропустил этот момент)))
просто график в программе нарисовать, из точки А в точку Б попасть, хотелось бы чтобы график траектории был максимально случайным, но все равно попадал в точку Б

Автор: ksnk 20.1.2011, 10:12
bagos, а зачем оно надо? В смысле, какие ограничения на генерацию пути-путей имеются? К примеру, вокруг земного шара несколько раз - не пойдет? Или только в пределах листочка бумаги?

Один из забавных методов - рисуешь "случайный" рельеф - Случайно разбрасываешь по плоскости точки со случайной высотой. Аппроксимируешь все это в 3-х мерный гладкий график поверхности. Потом отображаешь на эту поверхность какую-нибудь гладкую кривую, соединяющую нужную пару точек. Если смотреть на эту проекцию под разными углами - получатся разные пути.

Можно итерацию замутить. С каждым шагом итерации мы выбираем случайно направление, в котором будем двигаться. Фишка в том, чтобы движение в направлении, которое приблизит нас к конечной точке выбиралось с бОльшей вероятностью, чем то, которое будет отдалять. Ну и пересекать свой путь - неправильно...

Автор: bagos 20.1.2011, 10:21
ksnk, спасибо за ответы, да, порой трудно задавать правильно вопросы и давать максимум информации. Эти алгоритмы нужны для последующего создания приложения имитирующего человека за компьютером. Т.е. в определенной программе имеются кнопки с заранее известными координатами. Так вот нужно чтобы курсор двигался частично "случайным" образом. Поэтому встал вопрос о реализации такого движения.

Добавлено через 1 минуту и 18 секунд
вот насчет аппроксимации это идея, для моей задачи в двухмерном пространстве

Автор: Pavia 20.1.2011, 11:49
bagos, 
Почитайте про случайные алгоритмы генерации молний в играх и графике.

Автор: maxim1000 20.1.2011, 16:13
Цитата(bagos @  20.1.2011,  10:21 Найти цитируемый пост)
Эти алгоритмы нужны для последующего создания приложения имитирующего человека за компьютером. Т.е. в определенной программе имеются кнопки с заранее известными координатами. Так вот нужно чтобы курсор двигался частично "случайным" образом.

возможно, тогда есть смысл набрать "экспериментальных данных"
ИМХО, полностью случайная траектория - не совсем хорошая модель
скорее, тут подойдёт что-то с постепенным уточнением направления

Автор: _Y_ 21.1.2011, 18:27
Мне почему-то кажется, что особые сложности здесь не нужны.

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

Вариант 2. Точка движется тоже случайным образом, но вероятность движения в направлении цели задается большей, чем в направление от цели.

Вариант 3. Точка движется по прямой от исходной позиции к цели, но на каждом шаге случайным образом отклоняется от направления.

Чтобы не было совсем уже дурацких дерганий, в вариантах 2 и 3 можно случайно задавать не новую позицию, а отклонение от имеющейся траектории движения. Тогда движение будет более плавным.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)