§ Ньютон и яблоко
Существовал однажды в некоторой точке пространства Ньютон (Исаак, вот как). Сидел он под древесным дубом и неистово размышлял о сути Гравитации (я не про эту). Вдруг откуда ни возьмись и яблоко прямо по башке съездило. Из глаз несчастного Ньютона полетели формулы и он отключился. Когда очнулся, внезапно на него снизошло знание и он записал формулу:Здесь это масса одного тела (в кг), - масса второго и собственно, - расстояние между ними в метрах. Что до - это гравитационная постоянная, которая никогда не меняется и которая равна приблизительно м^3 с^−2 кг^−1
§ Какое же ускорение свободного падения?
Чтобы понять и разобраться в этом, надо понять то, что существует закон (который придумал тот же самый Ньютон), который гласит, что сила, приложенная к предмету, равна произведению его массы на ускорение . Отсюда действует и другой закон (Ньютона, конечно же!) что сила действия равна силе противодействия с отрицательным знаком, или .Собственно, чтобы вычислить ускорение, достаточно узнать силу, которую прилагают к предмету, в данном случае это сила тяготения, и массу предмета:
Сила гравитации известна и я ее выше записал. Теперь надо поставить ее в формулу для получения ускорения.
Здесь - масса Земли, а - масса предмета. Из формулы прямо ясно видно, что масса предмета вообще никаким образом не влияет на то, с каким ускорением оно будет лететь к Земле.
Вот теперь пришло время адовых расчетов. Если взять массу Земли, гравитационную постоянную и радиус Земли, то можно вычислить, какое же будет ускорение на поверхности:
- (сложный прикол)
- килограммов
- метров
Значение (или его называют ) приблизительно равно 9.82 м/с^2. Невероятно! Это и правда так.
§ Вектор ускорения к объекту
Почему я хочу это записать? Потому что забываю постоянно.Допустим, я получил ускорение, которое по формуле, равно . Если считать, что начальная скорость всегда равна 0, и время отсчитывается за 1 секунду, то ускорение будет равно скорости. Для того, чтобы рассчитать вектор, необходимо сначала найти длину от точки A к точке B между предметами притяжения, потом нормализовать это расстояние, разделив полученный вектор на длину этого вектора, тем самым получая нормализованный вектор. И уже после умножить на ускорение, получив необходимый вектор ускорения:
Вместо a подставляется , где - масса объекта, которому надо придать вектор, а - это сила тяготения, которую я ранее рассчитал. Выходит, что
Я приведу код на Javascript:
1velocity(A, B, dt = 1) 2{ 3 let dx = B.p.x - A.p.x; 4 let dy = B.p.y - A.p.y; 5 let dz = B.p.z - A.p.z; 6 7 let r = dx*dx + dy*dy + dz*dz; // На самом деле тут r^2 8 let a = B.m * Gv * dt / r; // Так что тут делится на r^2 9 let K = a / Math.sqrt(r); 10 11 return {x: dx*K, y: dy*K, z: dz*K}; 12}Здесь B - это объект, к которому притягивается объект A. В данном случае dt всегда равен 1, то есть, получаем длину вектора ускорения за 1 секунду. Gv здесь равна гравитационной постоянной, а
B.m
массе объекта, к которому идет притяжение. Не стоит забывать, что оба предмета притягиваются друг к другу! Но только вот, например, если рассчитывать Землю и ее притяжение, то оно совсем незначительное, к примеру, космическому кораблю.