Движения точки по кривой....

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fl@nker
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 16.11.2008 (Вс) 23:41

Движения точки по кривой....

Сообщение Fl@nker » 16.11.2008 (Вс) 23:45

Всем хорошего дня. Такой вопросик.. Задумал разработать программу моделирования работы железной дороги (движение поездов)... Планирую в программе использовать реальную карту железной дороги, то есть в программе должна отображаться кривая. Теперь следует реализовать движение потяга по колеи, то есть точки по кривой. Каким образом посоветуете лучше реализовать данную идею методами vb6. Наперид благодарный)

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Движения точки по кривой....

Сообщение Денис » 17.11.2008 (Пн) 9:06

Удобнее всего описать кривую функцией (или массивом функций для разных участков кривой), и при задании координат точки использовать функцию(-ции) которой строилась сама кривая.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Fl@nker
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 16.11.2008 (Вс) 23:41

Re: Движения точки по кривой....

Сообщение Fl@nker » 17.11.2008 (Пн) 10:29

Была такая мисль... но после того как я увидел карту железной дороги, начал искать другое решение...

M.A.R.K
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 68
Зарегистрирован: 11.11.2007 (Вс) 11:50
Откуда: Иркутск

Re: Движения точки по кривой....

Сообщение M.A.R.K » 17.11.2008 (Пн) 10:40

Денис писал(а):Удобнее всего описать кривую функцией (или массивом функций для разных участков кривой), и при задании координат точки использовать функцию(-ции) которой строилась сама кривая.

Ты имеешь ввиду диффиренциальные уравнения!?
А не слишком ли муторно? :wink:
-Решил Хакер блины печь...
-Первый блин у него вышел, как обычно - Комом...
-А второй - Экзешником...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Движения точки по кривой....

Сообщение Денис » 17.11.2008 (Пн) 11:15

Fl@nker
Окей, если кривая слижком уж, ммм, стохастическая, то предлагаю такой вариант: Создаешь массив пар координат, по которым рисуешь линию. Массив хранишь в памяти и используешь, как "функцию для получения координат точки.
M.A.R.K
Судя по описанию задачи, муторно будет в любом случае. Осталось найти минимально-муторное из всех возможных решений. Как говорится, "лучше день потерять, но потом за пять минут долететь!"
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Движения точки по кривой....

Сообщение Хакер » 17.11.2008 (Пн) 13:31

Автор, объясни, в чём вообще проблема.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

IIaTpuOT
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 27.07.2008 (Вс) 18:41

Re: Движения точки по кривой....

Сообщение IIaTpuOT » 17.11.2008 (Пн) 20:59

Ничего в голову не лезит кроме как задавать 2 точки и искать полином по которому можно интерполировать, затем движение точки по заданой ф-ии будет изменение лишь одного аргумента...

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Движения точки по кривой....

Сообщение Денис » 18.11.2008 (Вт) 15:01

В общем, Fl@nker и все заинтересовавшиеся. Вот простенький пример.
Traectory.zip
Пример передвижения по траектории
(1.53 Кб) Скачиваний: 61

Принцип работы прост: Сначала мышкой рисуем траекторию, потом пыримся, как по траектории движется точка. Массив точек создается при рисовании — вы можете задавать массив и самостоятельно. и не надо ни функций, ни интерполяций. Точка даже скорость рисования повторяет!
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Движения точки по кривой....

Сообщение Debugger » 18.11.2008 (Вт) 18:39

Денис писал(а):Точка даже скорость рисования повторяет!

:D Так скажем, надо не так: "Точка, к сожалению, повторяет скорость рисования. Но вы можете сами поправить эту "фишку".
В этом примере красный кружок перемещается по точкам. А надо бы между точками.
Added - поправил, смотрите. Есть два бажка - первый, что после прохождения траектории отметка отправляется в ад точку [0,0] (мне просто влом править); второй - что при очень часто расставленных точках наша отметка дергается (это от того, что она слишком быстро движется)
Вложения
BetterTraectory.rar
(1.79 Кб) Скачиваний: 48

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Движения точки по кривой....

Сообщение iGrok » 18.11.2008 (Вт) 19:09

Debugger писал(а):
Денис писал(а):Точка даже скорость рисования повторяет!

:D Так скажем, надо не так: "Точка, к сожалению, повторяет скорость рисования. Но вы можете сами поправить эту "фишку".
В этом примере красный кружок перемещается по точкам. А надо бы между точками.
Added - поправил, смотрите. Есть два бажка - первый, что после прохождения траектории отметка отправляется в ад точку [0,0] (мне просто влом править); второй - что при очень часто расставленных точках наша отметка дергается (это от того, что она слишком быстро движется)

Ну и двигай точку с постоянной скоростью по прямым между отметками.. Уж это-то сделать - проще некуда...
label:
cli
jmp label

Fl@nker
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 16.11.2008 (Вс) 23:41

Re: Движения точки по кривой....

Сообщение Fl@nker » 19.11.2008 (Ср) 11:31

Всім велике спасибі!!!!!!!!!

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Движения точки по кривой....

Сообщение Денис » 20.11.2008 (Чт) 16:06

Да в первой версии были глючки и бажки. Вот все пофиксил. Теперь рисуется линия. А насчет скорости все в силе. Можете проверить провести мышью сначала быстрее потом медленнее и точка пойдет с такими ж скоростями.
Вложения
Traectory.zip
Пофикшенная траектория.
(1.63 Кб) Скачиваний: 66
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 56

    TopList