Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Help!


xman ©   (2003-04-16 10:52:00) 

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


Arch-vile   (2003-04-24 18:49:00) [1]

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


Taras55   (2003-04-24 15:53:00) [2]

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


C3H5(OH)3   (2003-04-19 02:47:00) [3]

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


neuro   (2003-04-18 17:26:00) [4]

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


Pavel_S   (2003-04-18 16:09:00) [5]

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


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

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

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

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

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


neuro   (2003-04-16 18:20:00) [7]

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


Arch-vile   (2003-04-16 18:09:00) [8]

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


neuro   (2003-04-16 16:55:00) [9]

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


Arch-vile   (2003-04-16 16:46:00) [10]

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


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

Во первых, пределов у гравитационного поля нет. Каждый момент времени на ваш обьект действует ускорение равное 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) - координаты планеты


Наверх

Титульная страница Поиск, карта сайта Написать письмо