
Съдържание:
2025 Автор: John Day | [email protected]. Последно модифициран: 2025-01-23 14:36

За този проект се опитах да създам симулация на това как гравитацията влияе върху движението на планетарните тела в Слънчевата система. Във видеото по -горе \, слънчевото тяло е представено от сфера от телена мрежа, а планетите са генерирани на случаен принцип.
Движението на планетите се основава на реалната физика, Закона за всеобщото привличане. Този закон определя гравитационната сила, упражнявана върху маса от друга маса; в този случай Слънцето на всички планети, и планетите една върху друга.
За този проект използвах Processing, среда за програмиране, базирана на java. Използвах и примерния файл за обработка, който симулира гравитацията на планетите. Всичко, от което се нуждаете, е софтуерът за обработка и компютър.
Стъпка 1: 2 -мерна симулация

Започнах с гледане на няколко видеоклипа за това как да кодирам това, което Дан Шифман създаде в канала си в YouTube, Кодиращият влак (част 1/3). В този момент си помислих, че ще използвам рекурсия за генериране на Слънчевата система, подобно на това, което Шифман прави само използвайки законите на физиката.
Създадох обект на планета, който имаше „детски планети“, които от своя страна също имаха „детски“планети. Кодът за 2D симулация не беше завършен, защото нямах чудесен начин да симулирам гравитационните сили за всяка планета. Аз се отклоних от този начин на мислене, в посока, основана на вградения пример за обработка на гравитационното привличане. Въпросът беше, че трябваше да изчисля гравитационната сила от всички останали планети на всяка планета, но не можех да измисля как лесно да извлека информацията за отделна планета. След като видях как работи урокът за обработка, разбрах как точно да го направя, използвайки вместо това цикли и масиви
Стъпка 2: Привеждане в 3 измерения

Използвайки примерния код за планетарно привличане, който идва с обработка, стартирах нова програма за 3D симулация. Основната разлика е в класа Planet, където добавих функция за привличане, която изчислява гравитационната сила между две планети. Това ми позволи да симулирам как работят нашите слънчеви системи, където планетите не са привлечени само от слънцето, но и от всяка друга планета.
Всяка планета има произволно генерирани характеристики като маса, радиус, начална орбитална скорост и др. Планетите са твърди сфери и Слънцето е сфера от телена мрежа. Освен това местоположението на камерата се върти около центъра на прозореца.
Стъпка 3: Използване на истински планети

След като свалих рамката за 3D симулация, използвах Wikipedia, за да намеря действителните планетарни данни за нашата Слънчева система. Създадох масив от планетни обекти и въведох реалните данни. Когато направих това, трябваше да намаля всички характеристики. Когато направих това, трябваше да взема действителните стойности и да умножа по коефициент, за да намаля мащабите на стойностите, вместо това го направих в единици на Земята. Тоест взех съотношението между стойността на Земята и стойността на другите обекти, например Слънцето има 109 пъти по -голяма маса от Земята. Това обаче доведе до това, че размерите на планетите изглеждат твърде големи или твърде малки.
Стъпка 4: Заключителни мисли и коментари
Ако продължа да работя върху тази симулация, бих усъвършенствал/подобрил няколко неща:
1. Първо бих мащабирал всичко еднакво, използвайки същия коефициент на мащабиране. След това, за да подобря видимостта на орбитите, бих добавил следа зад всяка планета, за да видя как всяка революция се сравнява с предишната
2. Камерата не е интерактивна, което означава, че част от орбитите са извън екрана, гледайки „зад човека“. Има библиотека с 3D камери, наречена Peazy Cam, която се използва във част 2 от видео поредицата на Coding Train по тази тема. Тази библиотека позволява на зрителя да завърта, премества и приближава камерата, така че да може да следи цялата орбита на планетата.
3. И накрая, в момента планетите са неразличими една от друга. Бих искал да добавя „кожи“към всяка планета и Слънцето, така че зрителите да могат да разпознаят Земята и подобни.
Препоръчано:
Софтуер за симулация на LED куб: 5 стъпки

Софтуер за симулация на LED куб: Почти завърших изграждането на моя 8x8x8 LED куб и с него дойде този софтуер за компютъра! Той ви помага да създавате анимации и да ги симулира на 2D екран, преди да бъдат качени на 3D. (Все още) няма подкрепа за комуникация чрез
Как да направим рекордер за данни за влажност и температура в реално време с Arduino UNO и SD-карта - DHT11 регистратор на данни Симулация в Proteus: 5 стъпки

Как да направим рекордер за данни за влажност и температура в реално време с Arduino UNO и SD-карта | DHT11 симулация на регистратор на данни в Proteus: Въведение: Здравейте, това е Liono Maker, ето линк към YouTube. Ние правим творчески проект с Arduino и работим върху вградени системи. Data-Logger: Регистратор на данни (също регистратор на данни или запис на данни) е електронно устройство, което записва данни във времето с
Проследяване на интензитета на слънчевата светлина: 3 стъпки

Проследяване на интензитета на слънчевата светлина: Има много проекти, които разчитат на топлината или светлината на слънцето. Напр. сушене на плодове и зеленчуци. Интензитетът на слънчевата светлина обаче не винаги е постоянен и се променя през целия ден. Този проект се опитва да картографира слънчевите
Сензор за температура и влажност на слънчевата енергия Arduino като 433mhz Oregon сензор: 6 стъпки

Сензор за температура и влажност на слънчевата енергия Arduino като 433mhz Oregon сензор: Това е изграждането на сензор за температура и влажност на слънчева енергия. Сензорът емулира 433mhz Oregon сензор и е видим в Telldus Net gateway. Какво ви трябва: 1x " 10-LED Сензор за движение на слънчева енергия " от Ebay. Уверете се, че пише 3.7v batter
Възстановяване на слънчевата градинска светлина от захранване от мрежата: 7 стъпки

Възстановяване на слънчева градина със захранване от мрежата: Това наистина произтича от някои от моите предишни проекти, захранвани от мрежата, но е тясно свързано с преди това документирания LED Teardown. Сега всички сме излезли и ги купихме през лятото, тези малки цветни рамки, които са със слънчево захранване