Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Игры";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
1-89273
ctranik
2003-10-14 15:18
2003.10.27
как определить какой формат в данное время в буфере


1-89333
$Hic0
2003-10-16 12:49
2003.10.27
Сохранение TList в файл


1-89325
LocalNet
2003-10-16 15:58
2003.10.27
Передача файла в локальной сети


3-89111
Term
2003-10-08 11:21
2003.10.27
Народ помогите прицениться


4-89654
Bes
2003-08-20 17:32
2003.10.27
Что-то у меня не получается...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский