Показать сообщение отдельно
Старый 04.01.2009, 00:33   #20
Morganolla
Бывалый
 
Аватар для Morganolla
 
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений
(для 245 пользователей)
Ответ: Гравитация в X Y Z

Коорд. объекта x,y,z. сферы cx,cy,cz. Массы Мо,Мс. Гравитац. константа - g. Скорость объекта vx,vy,vz.

mx = cx - x
my = cy - y
mz = cz - z

Расстояние между телами:

ml = sqrt(mx^2 + my^2 + mz^2)

Общее ускорение а:

а= g*Mc/ml^2

Ускорение по осям:
аx = а*mx / ml
аy = а*my / ml
аz = а*my / ml

Приращение скоростей:

vx = vx + ax*dt
vy = vy + ay*dt
vz = vz + az*dt

где dt - шаг интегрирования (время отрисовки кадра)

Новые координаты тела:

x=x+vx*dt
y=y+vy*dt
z=z+vz*dt
И все! Очень просто!
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
(Offline)
 
Ответить с цитированием