Мазмұны:

Күн жүйесін модельдеу: 4 қадам
Күн жүйесін модельдеу: 4 қадам

Бейне: Күн жүйесін модельдеу: 4 қадам

Бейне: Күн жүйесін модельдеу: 4 қадам
Бейне: Өлді деп жерлемек болған еді. Бірақ Алланың қалауымен тірілген Бала 2024, Шілде
Anonim

Бұл жоба үшін мен Күн жүйесіндегі планеталық денелердің қозғалысына гравитация қалай әсер ететінін модельдеуді қолға алдым. Жоғарыдағы видеода Күн денесі торлы сферамен бейнеленген, ал планеталар кездейсоқ пайда болады.

Планеталардың қозғалысы нағыз физикаға, Бүкіләлемдік тартылыс заңына негізделген. Бұл заң басқа массаға әсер ететін тартылыс күшін анықтайды; бұл жағдайда барлық планеталарда Күн, бір -біріне планеталар.

Бұл жоба үшін мен java негізіндегі бағдарламалау ортасы болып табылатын Processing қолдандым. Мен сондай -ақ планеталардың гравитациясын модельдейтін өңдеу мысал файлын қолдандым. Бұл үшін сізге тек Өңдеу бағдарламасы мен компьютер қажет.

1 -қадам: 2 Өлшемді модельдеу

Мен Дэн Шиффманның YouTube каналындағы Кодтау пойызында жасаған кодты қалай жасау керектігі туралы бірнеше бейнені көруден бастадым (1/3 бөлім). Осы кезде мен Шифманның тек физика заңдарын қолданатыны сияқты Күн жүйесін құру үшін рекурсияны қолданамын деп ойладым.

Мен «балалар планеталары» бар планета объектісін жасадым, оларда да «балалар» планеталары болды. 2D модельдеудің коды аяқталмады, себебі менде әр планета үшін тартылыс күштерін модельдеудің керемет әдісі болмады. Мен осы ойлау тәсілінен гравитациялық тартымдылықтың өңделген үлгісіне негізделген бағытқа бұрылдым. Мәселе мынада, мен әр планетаның барлық басқа планеталарынан тартылыс күшін есептеуім керек еді, бірақ жеке планетаның ақпаратын қалай оңай алу керектігін ойлай алмадым. Өңдеу оқулығының мұны қалай істейтінін көргеннен кейін, мен оның орнына ілмектер мен массивтерді қолдану арқылы дәл қалай жасау керектігін түсіндім

2 -қадам: Оны 3 өлшемге жеткізу

Өңдеумен бірге келетін планетарлық тартудың мысал кодын қолдана отырып, мен 3D модельдеуге арналған жаңа бағдарламаны бастадым. Негізгі айырмашылық екі планетаның арасындағы тартылыс күшін есептейтін тарту функциясын қосқан Planet класында. Бұл маған планеталар күнді ғана емес, сонымен қатар басқа планеталарды да тартатын біздің күн жүйелерінің қалай жұмыс істейтінін модельдеуге мүмкіндік берді.

Әр планетаның кездейсоқ пайда болған сипаттамалары бар, мысалы, массасы, радиусы, бастапқы орбиталық жылдамдығы және т. Сонымен қатар, камераның орналасуы терезенің ортасында айналады.

3 -қадам: Нағыз планеталарды қолдану

Image
Image

Мен 3D модельдеудің негізін түсіргеннен кейін, Уикипедияны пайдаланып, біздің күн жүйесіне қатысты нақты планеталық деректерді таптым. Мен планета объектілерінің массивін құрдым және нақты деректерді енгіздім. Мен мұны істегенде, мен барлық сипаттамаларды төмендетуге тура келді. Мен мұны істегенде, мен нақты мәндерді алып, мәндерді төмендету үшін факторға көбейтуім керек еді, мен оны Жер бірліктерінде жасадым. Яғни мен Жердің басқа объектілердің мәніне қатынасын алдым, мысалы, Күннің массасы Жерден 109 есе көп. Алайда, бұл планеталардың мөлшерін тым үлкен немесе тым кішкентай етіп көрсетті.

4 -қадам: Қорытынды ойлар мен түсініктемелер

Егер мен осы модельдеу бойынша жұмысты жалғастыра берсем, мен бірнеше нәрсені жақсартатын едім:

1. Алдымен мен барлығын бірдей масштабтау коэффициентімен біркелкі масштабтайтын едім. Содан кейін орбиталардың көрінуін жақсарту үшін мен әр революцияның алдыңғы революциямен қалай салыстырылатынын көру үшін әр планетаның артына із қосар едім.

2. Камера интерактивті емес, яғни орбиталардың бір бөлігі экранда емес, «адамның артында» қарап тұрады. Peazy Cam деп аталатын 3D камералық кітапханасы бар, ол осы тақырып бойынша кодтау пойызының бейне сериясының 2 -бөлімінде қолданылады. Бұл кітапхана көрерменге камераны айналдыруға, айналдыруға және үлкейтуге мүмкіндік береді, осылайша олар планетаның бүкіл орбитасын бақылай алады.

3. Ақырында, қазіргі уақытта планеталар бір -бірінен ажыратылмайды. Көрермендер Жерді тануы үшін мен әр планета мен Күнге «терілер» қосқым келеді.

Ұсынылған: