Вниз
Скачать: CL | DM;

Как показать скорость?   Найти похожие ветки 

 
Goida ©   (2004-03-30 12:42) [0]

Как это сделать? Я знаю, что скорость говрит о том, как быстро меняется координата объекта, т.е. при равноускоренном движении я буду прибавлять, например к Х, всё большие и большие интервалы:
Х--Х---Х----Х-----Х--...
Таким образом, фигура будет выводиться в точках Х. Получается прерывистое движение, а мне нужно плавное...
И еще, мне нужно отследить во время движения объекта его пересечение с другим объектом. Но если я каждый раз прибавляю увеличивающиеся интервалы, то мне становятся не доступны положения между точками Х. Как в этом случае проверить пересечение траекторий и отобразить их столкновение? Что мне нужно делать?


 
Morok   (2004-03-30 14:19) [1]

x(t) - это координаты первого объекта в момент времени t

y(t) - это координаты второго объекта в момент времени t

h - шаг времени...

для нахожедения столкновения объектов самое простое это искать пересечение отрезков {y(t), y(t+h)} и {x(t), x(t+h)}

ну и вот собсна......


 
Morok   (2004-03-30 14:21) [2]

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


 
Goida ©   (2004-03-30 14:22) [3]

Т.е. перед каждым отображением объектов просчитать их пересечени и если нет, то нарисовать их там, где они должны быть. А если да, то определить их точку столкновения и нарисовать их там, а потом уже, расчитав их будущие траектории, продолжить путь. Так?


 
Goida ©   (2004-03-30 14:23) [4]

А что значит АДАПТИВНЫМ?


 
Morok   (2004-03-30 14:34) [5]

это значит что шаг интегрирования меняется в зависимости от ситуации, просто искать точку пересечения, дает не очень хороший результат объекты могут вести себя не правильно напалзать друг надруга, мне просто лень описывать пример такой ситуации.
далее об адаптивном шаге  если ты выяснил что объекты все же пересеклись то нужно отъехать на шаг назад( вернуть как бы старые координаты) и уменьшить шаг в двое и еще раз проверить пересечение и так далее пока точка пересечения будет не между промежутком (t) и (t+h) а в некоторой близости от района (t+h)

бр..........понятно нет?

а вообще читай "An Introduction to Physically Based Modelling" David Baraff


 
Shopot ©   (2004-03-30 23:36) [6]

Я делал так: за основу брал само быстро движущийся объект.
Выбирал его максимальную скорость такой, чтобы он не прыгал по
экрану. Скорость остальных объектов интерполировал относительно
этой скорости (а не относительно 0). Получалось, если присмотрется, что не этот разгоняется, а те замедляются. А выглядит хорошо, все плавно, без дерганий.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
14-1087495787
Алхимик
2004-06-17 22:09
2004.07.18
Миллион против Киркорова


1-1088962595
TUser
2004-07-04 21:36
2004.07.18
PAnsiChar и GetShortPathName


1-1088931987
ida
2004-07-04 13:06
2004.07.18
заставить работать клавиатурные сокращения в динамич меню


9-1080827916
Poooz
2004-04-01 17:58
2004.07.18
Ваше мнение о Blitz Basic


1-1089202095
Kurt
2004-07-07 16:08
2004.07.18
Ожидание события




   Наверх