Სარჩევი:

მზის სისტემის სიმულაცია: 4 ნაბიჯი
მზის სისტემის სიმულაცია: 4 ნაბიჯი

ვიდეო: მზის სისტემის სიმულაცია: 4 ნაბიჯი

ვიდეო: მზის სისტემის სიმულაცია: 4 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim

ამ პროექტისთვის მე შევქმენი სიმულაცია, თუ როგორ მოქმედებს გრავიტაცია მზის სისტემის პლანეტარული სხეულების მოძრაობაზე. ვიდეოზე \, მზის სხეული წარმოდგენილია მავთულის ბადის სფეროთი და პლანეტები შემთხვევით წარმოიქმნება.

პლანეტების მოძრაობა ემყარება რეალურ ფიზიკას, უნივერსალური გრავიტაციის კანონს. ეს კანონი განსაზღვრავს გრავიტაციულ ძალას, რომელიც მასაზე მოქმედებს სხვა მასით; ამ შემთხვევაში მზე ყველა პლანეტაზე, პლანეტები ერთმანეთზე.

ამ პროექტისთვის მე გამოვიყენე დამუშავება, Java პროგრამირების გარემო. მე ასევე გამოვიყენე დამუშავების მაგალითი ფაილი, რომელიც ახდენს პლანეტების სიმძიმის სიმულაციას. ამისათვის დაგჭირდებათ დამუშავების პროგრამა და კომპიუტერი.

ნაბიჯი 1: 2 განზომილებიანი სიმულაცია

დავიწყე რამოდენიმე ვიდეოს ყურებით, თუ როგორ უნდა დამეწყო კოდირება, რაც დენ შიფმანმა შექმნა თავის YouTube არხზე, კოდირების მატარებელზე (ნაწილი 1/3). ამ დროს ვიფიქრე, რომ მე გამოვიყენებდი რეკურსიას მზის სისტემის შესაქმნელად, ისევე როგორც შიფმანი აკეთებს მხოლოდ ფიზიკის კანონებს.

მე შევქმენი პლანეტის ობიექტი, რომელსაც ჰყავდა "ბავშვთა პლანეტები", რომლებსაც ასევე ჰქონდათ "ბავშვური" პლანეტები. 2D სიმულაციის კოდი არ დასრულებულა, რადგან მე არ მქონდა გრავიტაციული ძალების სიმულაციის დიდი გზა თითოეული პლანეტისთვის. მე გადავწყვიტე ამ აზროვნებიდან, იმ მიმართულებით, რომელიც დაფუძნებულია გრავიტაციული მიზიდულობის ჩამონტაჟებულ დამუშავების მაგალითზე. საკითხი ის იყო, რომ მე მჭირდებოდა თითოეული პლანეტის ყველა სხვა პლანეტის გრავიტაციული ძალის გამოთვლა, მაგრამ ვერ მოვიფიქრე, თუ როგორ ადვილად ამოვიღო ცალკეული პლანეტის ინფორმაცია. მას შემდეგ რაც ვნახე როგორ აკეთებს დამუშავების სამეურვეო პროგრამა, მივხვდი ზუსტად როგორ გავაკეთო ეს მარყუჟებისა და მასივების ნაცვლად

ნაბიჯი 2: მიიღეთ იგი 3 განზომილებაში

პლანეტარული მოზიდვის მაგალითის კოდის გამოყენებით, რომელიც დამუშავებას მოყვება, დავიწყე ახალი პროგრამა 3D სიმულაციისთვის. მთავარი განსხვავება არის პლანეტის კლასში, სადაც დავამატე მიზიდულობის ფუნქცია, რომელიც ითვლის გრავიტაციულ ძალას ორ პლანეტას შორის. ამან მომცა საშუალება გამომეხატა როგორ მუშაობს ჩვენი მზის სისტემა, სადაც პლანეტები იზიდავს არა მხოლოდ მზე, არამედ ყველა სხვა პლანეტა.

თითოეულ პლანეტას აქვს შემთხვევით გენერირებული მახასიათებლები, როგორიცაა მასა, რადიუსი, ორბიტის საწყისი სიჩქარე და სხვა. პლანეტები მყარი სფეროებია და მზე არის მავთულხლართების სფერო. გარდა ამისა, კამერის მდებარეობა ბრუნავს ფანჯრის ცენტრში.

ნაბიჯი 3: რეალური პლანეტების გამოყენება

Image
Image

მას შემდეგ რაც მივიღე ჩარჩო 3D სიმულაციისთვის, ვიკიპედია გამოვიყენე ჩვენი მზის სისტემის რეალური პლანეტარული მონაცემების მოსაძებნად. მე შევქმენი პლანეტის ობიექტების მასივი და შევიტანე რეალური მონაცემები. როდესაც ეს გავაკეთე, ყველა მახასიათებლის შემცირება მომიწია. როდესაც ეს გავაკეთე, მე უნდა ავიღო ფაქტობრივი მნიშვნელობები და გამრავლებული ფაქტორით, რომ შევამცირო მნიშვნელობები, სამაგიეროდ ეს გავაკეთე დედამიწის ერთეულებში. ანუ მე ავიღე დედამიწის მნიშვნელობის თანაფარდობა სხვა ობიექტების მნიშვნელობასთან, მაგალითად მზეზე 109 -ჯერ მეტი მასაა ვიდრე დედამიწა. თუმცა ამან გამოიწვია პლანეტების ზომები ძალიან დიდი ან ძალიან პატარა.

ნაბიჯი 4: საბოლოო აზრები და კომენტარები

თუ გავაგრძელებ მუშაობას ამ სიმულაციაზე, მე დავხვეწე/გავაუმჯობესებ რამდენიმე რამეს:

1. პირველ რიგში მე ყველაფერს ერთნაირად გავაფორმებ ერთი და იგივე მასშტაბის ფაქტორის გამოყენებით. შემდეგ ორბიტების ხილვადობის გასაუმჯობესებლად, მე დავამატებ ბილიკს თითოეული პლანეტის უკან, რომ ვნახო, როგორ ადარებს თითოეული რევოლუცია წინას

2. კამერა არ არის ინტერაქტიული, რაც იმას ნიშნავს, რომ ორბიტების ნაწილი ეკრანის მიღმაა, "პირის უკან" ათვალიერებს. არსებობს 3D კამერის ბიბლიოთეკა სახელწოდებით Peazy Cam, რომელიც გამოიყენება კოდირების მატარებლის ვიდეო სერიის მე -2 ნაწილზე ამ თემაზე. ეს ბიბლიოთეკა საშუალებას აძლევს მნახველს გადაატრიალოს, დაათვალიეროს და გაადიდოს კამერა ისე, რომ მათ შეეძლოთ პლანეტის მთლიანი ორბიტის თვალყურის დევნება.

3. დაბოლოს, პლანეტები ამჟამად ერთმანეთისგან არაფრით განსხვავდებიან. მინდა დავამატო "ტყავი" თითოეულ პლანეტასა და მზეს, რათა მაყურებელს შეეძლოს დედამიწის ამოცნობა და სხვა.

გირჩევთ: