Оглавление:
- Шаг 1: 2-мерное моделирование
- Шаг 2: доведение до трех измерений
- Шаг 3: Использование реальных планет
- Шаг 4: Заключительные мысли и комментарии
Видео: Моделирование солнечной системы: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Для этого проекта я намеревался создать симуляцию того, как гравитация влияет на движение планетных тел в солнечной системе. На видео выше / тело Солнца представлено сферой из проволочной сетки, а планеты генерируются случайным образом.
Движение планет основано на реальной физике, Законе всемирного тяготения. Этот закон определяет гравитационную силу, действующую на массу другой массой; в данном случае Солнце на всех планетах и планеты друг на друге.
Для этого проекта я использовал Processing, среду программирования на основе Java. Я также использовал файл примера Processing, который имитирует гравитацию планет. Все, что вам понадобится для этого, - это программное обеспечение для обработки и компьютер.
Шаг 1: 2-мерное моделирование
Я начал с просмотра нескольких видеороликов о том, как писать код, которые Дэн Шиффман создал на своем канале YouTube, The Coding Train (Часть 1/3). В этот момент я подумал, что буду использовать рекурсию для создания солнечной системы, подобно тому, как это делает Шиффман, используя только законы физики.
Я создал объект-планету, у которого были «дочерние планеты», которые, в свою очередь, также имели «дочерние» планеты. Код для 2D-моделирования не был закончен, потому что у меня не было отличного способа имитировать гравитационные силы для каждой планеты. Я отказался от этого образа мышления в направлении, основанном на примере встроенной обработки гравитационного притяжения. Проблема заключалась в том, что мне нужно было вычислить гравитационную силу от всех других планет на каждой планете, но я не мог придумать, как легко получить информацию об отдельной планете. Увидев, как это делается в руководстве по обработке, я точно понял, как это сделать, используя вместо этого циклы и массивы.
Шаг 2: доведение до трех измерений
Используя пример кода для планетарного притяжения, который идет с обработкой, я запустил новую программу для трехмерного моделирования. Основное отличие заключается в классе Planet, где я добавил функцию притяжения, которая вычисляет гравитационную силу между двумя планетами. Это позволило мне смоделировать работу нашей солнечной системы, в которой планеты притягиваются не только к Солнцу, но и ко всем остальным планетам.
Каждая планета имеет случайно сгенерированные характеристики, такие как масса, радиус, начальная орбитальная скорость и т. Д. Планеты - это твердые сферы, а Солнце - сфера из проволочной сетки. Кроме того, камера вращается вокруг центра окна.
Шаг 3: Использование реальных планет
После того, как я разработал основу для 3D-моделирования, я использовал Википедию, чтобы найти фактические планетарные данные для нашей Солнечной системы. Я создал массив объектов планет и ввел реальные данные. Когда я это сделал, мне пришлось уменьшить все характеристики. Когда я сделал это, я должен был взять фактические значения и умножить их на коэффициент, чтобы уменьшить значения, вместо этого я сделал это в единицах Земли. То есть я взял отношение стоимости Земли к стоимости других объектов, например, Солнце имеет массу в 109 раз больше, чем Земля. Однако это привело к тому, что размеры планет выглядели слишком большими или слишком маленькими.
Шаг 4: Заключительные мысли и комментарии
Если бы я продолжил работу над этой симуляцией, я бы уточнил / улучшил пару вещей:
1. Сначала я бы масштабировал все равномерно, используя один и тот же коэффициент масштабирования. Затем, чтобы улучшить видимость орбит, я бы добавил след за каждой планетой, чтобы увидеть, как каждый оборот сравнивается с предыдущим.
2. Камера не интерактивная, а это значит, что часть орбит находится за пределами экрана, «за спиной» просмотра. Существует библиотека 3D-камер Peazy Cam, которая используется во второй части серии видеороликов Coding Train по этой теме. Эта библиотека позволяет зрителю вращать, панорамировать и масштабировать камеру, чтобы они могли следить за всей орбитой планеты.
3. Наконец, планеты в настоящее время неотличимы друг от друга. Я хотел бы добавить «скины» к каждой планете и Солнцу, чтобы зрители могли узнать Землю и тому подобное.
Рекомендуемые:
Создание собственной фотоэлектрической системы 5 В: 4 шага (с изображениями)
Создание собственной фотоэлектрической системы 5 В: в ней используется понижающий преобразователь в качестве выхода 5 В для зарядки аккумулятора (Li Po / Li-ion). И повышающий преобразователь для батареи 3,7 В на выход 5 В USB для устройств, требующих 5 В. Подобно оригинальной системе, которая использует свинцово-кислотную батарею в качестве заряда для хранения энергии, e
Моделирование на основе изображений / Фотограмметрическая портретная съемка: 4 шага
Моделирование на основе изображений / Фотограмметрическая портретная съемка: Привет всем, в этой инструкции я собираюсь показать вам процесс создания 3D-моделей с использованием цифровых изображений. Этот процесс называется фотограмметрией, также известной как моделирование на основе изображений (IBM). В частности, этот вид процесса используется для повторного
Моделирование железнодорожного сигнала: 4 шага
Имитация железнодорожных сигналов: светофор для железных дорог (имитация реальности) Простое объяснение кода: код позволяет постоянно ощущать поезда. Если поезд должен пройти через выбранный участок железной дороги, светофор станет красным, предупреждая других
МОДЕЛИРОВАНИЕ ЩУПАК МЕДУНИ: 4 шага
МОДЕЛИРОВАНИЕ ЩУПАК МЕДУЗЫ: Моделирование щупалец медузы
Solidworks: статическое тепловое моделирование: 4 шага
Solidworks: Статическое тепловое моделирование: это руководство демонстрирует, как выполнить простой статический термический анализ в Solidworks