Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Phyzics programming   Найти похожие ветки 

 
clim   (2003-07-30 01:19) [0]

как лучше работать с таймером, когда координаты объекта изменяются по законам физики, зависящиx от времени
например
V = V0 + a*t
x = x0 + v0*t + g*t*t/2
(желательно привести какой-нибудь пример)


 
Asteroid ©   (2003-07-30 02:00) [1]

dV = a*dt
dx = x0 + v0*dt + a*dt*dt/2
V = V + dV
x = x + dx,

где dt - время между двумя кадрами. Желательно измерять каждый кадр (раз на раз не приходится, даже с таймером).


 
Думкин ©   (2003-07-30 06:06) [2]

Зависит от того что ты хочешь.
Создать абсолютно реальную систему - сложно. Но если вся кинематика дается в конечных формулах - как приведено(без решения сложных дифуров - Z.b. пошагово), то можно. В момент отрисовки - берешь текущее время и выводишь объекты в получившейся конфигурации.

>
> Asteroid © (30.07.03 02:00)
> dV = a*dt
> dx = x0 + v0*dt + a*dt*dt/2
> V = V + dV
> x = x + dx,

x0 = 0

Но тут это и не нужно, т.к. есть прямой метод вычисления и x и V.


 
nobody ©   (2003-07-30 10:13) [3]

"Желательно измерять каждый кадр " -- как? (пример)


 
хм ©   (2003-07-30 14:37) [4]

GetTickCount()


 
Asteroid ©   (2003-07-30 20:15) [5]

> Думкин © (30.07.03 06:06)
Да, спасибо за замеченную ошибку. Оно должно быть так:

dV = a*dt
V = V + dV
dx = V*dt

x = x + dx

А насчет прямого метода - это только если параметры остаются такими, какие они есть. Если же ускорение меняется от времени, да еще и не по закону (а как пользователь захочет) - прямой метод не поможет.


 
C3H7OH   (2003-08-04 03:16) [6]

да,, замудрили слегка так

если смотреть как изменяются координаты по по-шагово
то так:

v = v + a*dt
x = x + v*dt

а если мы не следили за телом а просто хотим знать зависимость x(t).
зная что оно движется равноускоренно,
то пишем так:

x( t ) = x0 + v0*t + a*t^2/2 - интеграл вон тех выражений, есно при а = const


 
Думкин ©   (2003-08-04 05:39) [7]

> C3H7OH (04.08.03 03:16)
Как раз никто ничего не мудрил, Ваш ответ полностью содержится в предыдущих постах.


 
C3H7OH   (2003-08-04 07:43) [8]

я просто пояснил что где применяется...
к тому же x( t ) = x0 + v0*t + a*t^2/2 содержит именно t а не dt
так что разница есть:)



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

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-38892
_Dmitry_
2004-02-04 15:42
2004.02.13
Форма внутри потока


14-39043
ИМХО
2004-01-26 02:24
2004.02.13
Наушники <-> колонки


7-39101
shurik_
2003-11-24 02:51
2004.02.13
реестр


14-39072
Knight
2004-01-20 21:24
2004.02.13
Прокладка постоянной локалки..


14-39028
NeyroSpace
2004-01-26 11:14
2004.02.13
Передача