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

Help!   Найти похожие ветки 

← →
xman   (2003-04-16 10:52) [0]

Делаю игруху типа вормс только в космосе среди планет. У каждой планеты свое гравитационное поле.
Вопрос: Какая формула или как сделать так чтобы пуля или что то в этом роде в зависимости от силы выстрела притягивалась к планете если она в пределах гравитационного поля планеты?


← →
Владимир Ткачук   (2003-04-16 12:54) [1]

Во первых, пределов у гравитационного поля нет. Каждый момент времени на ваш обьект действует ускорение равное J*M/(R*R), где J - константа, M - маса планеты, R - растояние до планеты.
Ваш объект должен иметь 3 скорости Vx,Vy,Vz (скорости по соответствующим осям). Каждый момент времени они будут менятся в соответствии с формулами:
R:=sqrt(sqr(x-xp)+aqr(y-yp)+sqr(z-zp));
g:=J*M/(R*R);
Vx:=vx+(xp-x)/R*g;
Vy:=vy+(yp-y)/R*g;
Vz:=vz+(zp-z)/R*g;

(x,y,z) - координаты объекта.
(xp,yp,zp) - координаты планеты


← →
Arch-vile ©   (2003-04-16 16:46) [2]

постоянная J (у нас в школе и в зборниках указывается G) имеет значение в 6,672*10^(-11) (Н*м^2)/(кг^2) - ньютон метр квадрат поделить на кг квадрат
Если что пиши :)


← →
neuro ©   (2003-04-16 16:55) [3]

Единственное, что непонятно, так это как все от времени-то зависит? Неявно? =) Попонятней надобно рассказать =).


← →
Arch-vile ©   (2003-04-16 18:09) [4]

a (ускорение) равно g (ускорение свобоного падения)
пройденный путь S=(at^2)/2 равен половине от ускорения умноженного на квадрат времени
Ускорения от всех точек векторно суммируются. То есть: если ворм расположен ровно посредине двух одинаковых планет он остаётся на месте


← →
neuro ©   (2003-04-16 18:20) [5]

Да я-то в курсе =)
Просто в приведенных выше формулах явно время задействовано не было..Да и неявно его не видно.


← →
C3H5(OH)3   (2003-04-18 11:35) [6]

зачем время там? можно конечно сделать как в школе учили, там
x = x0 + v0*t + a*t/2, можно но зачем?
проще сделать так

на каждый тик делаем

v = v + a*t
x = x + v*t

идея понятна? гравитацию сюда сами как нибудь..


← →
Pavel_S ©   (2003-04-18 16:09) [7]

Есть исходник игры связанной с гравитацией на pascal.source.ru


← →
neuro ©   (2003-04-18 17:26) [8]

2C3H5(OH)3:
Ну дык,а t - это не время?=)


← →
C3H5(OH)3   (2003-04-19 02:47) [9]

че -то затупил я
там dt должно стоять - тик таймера


← →
Taras55   (2003-04-24 15:53) [10]

g:=G*m1*m2/r*r;
g - Сила притяжения планеты
G=6.02*10^(-11);//приблизительно
m1 - Маса планеты
m2 - Маса черьвя
r - расстояние между центрами объектов


← →
Arch-vile ©   (2003-04-24 18:49) [11]

2Taras55
Если уж на то пошло тогда
F:=G*m1*m2/r*r
Все таки, чтобы разобраться можно было, что это есь сила, а не ускорение
G=6,672*10^(-11) точнее
а >G=6.02*10^(-11);//приблизительно это смесь числа Авогадро 6,02*10^23 и гравитационной постоянной



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

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



Память: 0.47 MB
Время: 0.017 c
4-89638
Andrey_g
2003-08-21 18:52
2003.10.27
Как прочитать данные по конкретному адресу на CD


14-89458
gn
2003-10-07 07:55
2003.10.27
Мастера а нетли у кого библиотек для Delphi


7-89622
_man_
2003-08-12 15:30
2003.10.27
Как считать default-значение ключа реестра?


14-89533
Сатир
2003-10-08 15:36
2003.10.27
Угнали джип


6-89449
mfender
2003-09-02 12:23
2003.10.27
Drag&Drop




   Наверх