Ответ: Гравитация в 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
|