Форум: "Прочее";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизОцените/покритикуйте программу... Найти похожие ветки
← →
Yegorchic © (2006-02-06 03:15) [0]Здравствуйте! Вообщем, писал я в прошлом году программу, для расчёта движения объектов под действием гравитационного поля. Называется она Space Object Motion Calculation или просто SOMC.
Вот, сообственно, readme.txt, в котором всё и описано:
"Программа предназначена для расчёта движения объектов под действием гравитационного поля. Расчёты движения тел под действием поля тяготения друг друга очень сложны. Так, например, такая задача уже для трёх тел не решается в аналитическом виде. Приходится применять очень сложные математические методы для решения подобных задач. Поэтому я решил пойти несколько другим путём. Как известно, тела действуют друг на друга с силой зависящей от их масс и расстояния между ними. причйм в случае нескольких тел, результирующюю силу, действующюю на тело, можно найти как векторную сумму сил, действующих со стороны остальных тел. Зная силу, можно легко найти ускорение, хотя в этом случае движение не является равноускоренным, так как ускорение зависит от расстояния между телами, а соответственно от положения тел в пространестве, которое постоянно изменяется, можно принять, что оно является постоянным в течении некоторого малого промежутка времени. это позволяет пересчитать координаты и скорости тел по обычной формуле для равноускоренного движения. Повторяя этот процесс много раз, мы получим картину передвижения тел в пространстве. Этот метод позволяет расчитывать движение для неограниченного числа тел. Однако, скорость вычисления элементарного изменения координат, т.е. скорость одной итерации сильно зависит от количества объектов и убывает приблизительно пропорционально квадрату их числа.
В исходном файле (input.txt) задаются начальные положения и начальные скорости тел в трёхмерной системе (Декартовой), а также время одной итерации. Результаты расчёта программы отображаются с испрользованием трёхмерной графики, а так же выводятся в файл. Пользователь всегда может посмотреть координаты, скорости, ускорения объектов и расстояния между ними как в векторной, так и в скаларной форме. Также записываются в файл координаты и скоростив тел через каждую тысячу итераций.
Правильность ввода исходных данных вы можете проконтрольровать с помощью выходного файла (output.txt). В нём также содержиться некоторая дополнительная информация об объектах, такая как плотность, сила тяжести на поверхности и т.п.
В качестве примера к данной программе реализована модель солнечной системы (\SolSystem\)."
Хотелось бы, что бы вы оценили/покритиковали программу. Не только с точки зрения оформления, к примеру, но и правильность реализации самих раcчётов движения объектов.
http://www.harmony-school.fatal.ru/mydir/somc/SOMC.ZIP
640kb
И, что бы не подумали, что это всякие там вирусы, трояны и прочее выкладываю исходники :)
http://www.harmony-school.fatal.ru/mydir/somc/somc_src.rar
Исходники (138kb) + требуется GLScene!
Вот.
← →
Yegorchic © (2006-02-06 03:21) [1]Извините, забыл сказать - здесь я впервые сделал что-то с 3D графикой...
← →
Джо © (2006-02-06 03:27) [2]
procedure TForm2.FormCreate(Sender: TObject);
begin
Form2.Objects.Cells[0,0]:="Имя";
Form2.Objects.Cells[1,0]:="X";
Form2.Objects.Cells[2,0]:="Y";
Form2.Objects.Cells[3,0]:="Z";
Form2.Objects.Cells[4,0]:="Масса";
Form2.Objects.Cells[5,0]:="Радиус";
Form2.Objects.Cells[6,0]:="Ускорение (X)";
Form2.Objects.Cells[7,0]:="Ускорение (Y)";
Form2.Objects.Cells[8,0]:="Ускорение (Z)";
Form2.Objects.Cells[9,0]:="Скорость (X)";
Form2.Objects.Cells[10,0]:="Скорость (Y)";
Form2.Objects.Cells[11,0]:="Скорость (Z)";
end;
Не нравится мне такая программа :(
← →
Yegorchic © (2006-02-06 03:45) [3]По-другому никак тогда не знал...
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c