Движение спутника

Опубликовано: 13 Май 2026
на канале: Константин Белоушко
429
18

Компьютерная модель движения спутника. Тело движется в центральном гравитационном поле с ньютоновским потенциалом, т.е. под действием силы притяжения, описываемой классическим законом всемирного тяготения. Уравнения движения численно интегрируются простейшим методом Эйлера.
--------------------------------
Теория по теме:
Закон всемирного тяготения в векторном виде
   • Закон всемирного тяготения в векторном виде  
--------------------------------
Литература по теме:
1. 3D графика в PascalABC.NET - возможности модуля Graph3D
http://pascalabc.net/downloads/Presen...
2. Майер Р.В. Компьютерное моделирование. Глава 7. Движение системы частиц в силовом поле
http://maier-rv.glazov.net/KM/Mayer_K...
3. Гулд Х., Тобочник Я. Компьютерное моделирование в физике. Часть 1. Глава 4. Задача Кеплера
http://www.newlibrary.ru/download/gul...
---------------------------------
Листинг программы:
---------------------------------
uses Graph3D;
const GM = 1E3;
dt = 1E-3;
var x,y,z : real; // координаты спутника
x0,y0,z0 : real; // координаты планеты
vx,vy,vz: real; // проекции скорости
ax,ay,az: real; // проекции ускорения
r : real; // расстояние от центра планеты


begin
View3D.BackgroundColor := Colors.Black;
var Earth:= Sphere(0,0,0,1,Colors.Wheat);
Earth.Material := ImageMaterial('Earth.jpg',1,1);
x:=2;
y:=2;
z:=0;
vx:=17;
vy:=-15;
var Sputnik:=Sphere(x,y,z,0.1,RGB(255,255,255));
repeat
r:=sqrt(sqr(x-x0)+sqr(y-y0)+sqr(z-z0));
// проекции ускорения
ax:=-GM*(x-x0)/(r*r*r);
ay:=-GM*(y-y0)/(r*r*r);
az:=-GM*(z-z0)/(r*r*r);
// проекции скорости
vx:=vx+ax*dt;
vy:=vy+ay*dt;
vz:=vz+az*dt;
segment3d(P3D(x,y,z),P3D(x+vx*dt,y+vy*dt,z+vz*dt),2,RGB(0,255,0));
// координаты спутника
x:=x+vx*dt;
y:=y+vy*dt;
z:=z+vz*dt;
sputnik.MoveOn(vx*dt,vy*dt,vz*dt);
sleep(1);
until x?100; // вместо символа "?" вставить символ "больше"
end.
#задачаКеплера #Graph3D #спутник #компьютерноемоделирование #небеснаямеханика #законвсемирноготяготения #Pascal