İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
Bu proje için yerçekiminin bir güneş sistemindeki gezegen cisimlerinin hareketini nasıl etkilediğine dair bir simülasyon oluşturmaya başladım. Yukarıdaki videoda\, Güneş gövdesi tel örgü küre ile temsil edilir ve gezegenler rastgele oluşturulur.
Gezegenlerin hareketi gerçek fiziğe, Evrensel Yerçekimi Yasasına dayanmaktadır. Bu yasa, bir kütleye başka bir kütle tarafından uygulanan yerçekimi kuvvetini tanımlar; bu durumda tüm gezegenler üzerinde Güneş, birbirleri üzerinde gezegenler.
Bu proje için Java tabanlı bir programlama ortamı olan Processing'i kullandım. Ayrıca gezegenlerin yerçekimini simüle eden Processing örnek dosyasını da kullandım. Bunun için tek ihtiyacınız olan İşleme yazılımı ve bir bilgisayar.
Adım 1: 2 Boyutlu Simülasyon
Dan Shiffman'ın YouTube Kanalında Kodlama Treni (Bölüm 1/3) üzerinde oluşturduğu bu kodlamanın nasıl yapılacağına dair bazı videolar izleyerek başladım. Bu noktada, Shiffman'ın sadece fizik yasalarını kullanarak yaptığı gibi, güneş sistemini oluşturmak için özyinelemeyi kullanacağımı düşündüm.
'Çocuk gezegenleri' olan ve aynı zamanda 'çocuk' gezegenleri olan bir gezegen nesnesi yarattım. 2B simülasyonun kodu tamamlanmamıştı çünkü her gezegen için yerçekimi kuvvetlerini simüle etmek için harika bir yolum yoktu. Yerçekimi çekiminin yerleşik işleme örneğine dayanan bir yönde bu düşünce biçiminden döndüm. Sorun şu ki, her gezegendeki diğer tüm gezegenlerden gelen yerçekimi kuvvetini hesaplamam gerekiyordu, ancak tek bir gezegenin bilgisini kolayca nasıl çekeceğimi düşünemiyordum. İşleme öğreticisinin bunu nasıl yaptığını gördükten sonra, bunun yerine döngüler ve diziler kullanarak tam olarak nasıl yapılacağını anladım.
Adım 2: 3 Boyuta Getirmek
İşleme ile birlikte gelen Gezegensel Çekim için örnek kodu kullanarak, 3B simülasyon için yeni bir program başlattım. En büyük fark, iki gezegen arasındaki çekim kuvvetini hesaplayan bir çekim fonksiyonu eklediğim Planet sınıfında. Bu, gezegenlerin sadece güneşe değil, aynı zamanda diğer tüm gezegenlere çekildiği güneş sistemlerimizin nasıl çalıştığını simüle etmeme izin verdi.
Her gezegenin kütle, yarıçap, ilk yörünge hızı vb. gibi rastgele oluşturulmuş özellikleri vardır. Gezegenler katı kürelerdir ve Güneş bir tel örgü küredir. Ek olarak, kamera konumu pencerenin merkezi etrafında döner.
3. Adım: Gerçek Gezegenleri Kullanma
3B simülasyonun çerçevesini indirdikten sonra, güneş sistemimizin gerçek gezegen verilerini bulmak için Wikipedia'yı kullandım. Bir dizi gezegen nesnesi yarattım ve gerçek verileri girdim. Bunu yaptığımda, tüm özellikleri küçültmek zorunda kaldım. Bunu yaptığımda, değerleri küçültmek için gerçek değerleri alıp bir faktörle çarpmalıydım, bunun yerine bunu Dünya birimlerinde yaptım. Yani Dünya'nın değerinin diğer nesnelerin değerine oranını aldım, örneğin Güneş, Dünya'dan 109 kat daha fazla kütleye sahip. Ancak bu, gezegenlerin boyutlarının çok büyük veya çok küçük görünmesine neden oldu.
4. Adım: Son Düşünceler ve Yorumlar
Bu simülasyon üzerinde çalışmaya devam edecek olsaydım, birkaç şeyi düzeltir/iyileştirirdim:
1. İlk önce, aynı ölçeklendirme faktörünü kullanarak her şeyi eşit şekilde ölçeklendirirdim. Ardından yörüngelerin görünürlüğünü iyileştirmek için her bir devrimin bir öncekiyle nasıl karşılaştırıldığını görmek için her gezegenin arkasına bir iz eklerdim.
2. Kamera etkileşimli değildir, bu da yörüngelerin bir kısmının ekranın dışında, "kişinin arkasında" görüntülendiği anlamına gelir. Coding Train'in bu konuyla ilgili video serisinin 2. Kısmında kullanılan Peazy Cam adında bir 3D kamera kütüphanesi var. Bu kitaplık, izleyicinin bir gezegenin tüm yörüngesini takip edebilmesi için kamerayı döndürmesine, kaydırmasına ve yakınlaştırmasına olanak tanır.
3. Son olarak, gezegenler şu anda birbirinden ayırt edilemez. İzleyicilerin Dünya'yı ve benzerlerini tanıyabilmeleri için her gezegene ve Güneş'e 'kaplamalar' eklemek istiyorum.
Önerilen:
Pille Çalışan Ofis. Otomatik Geçişli Doğu/Batı Güneş Panelleri ve Rüzgar Türbinli Güneş Sistemi: 11 Adım (Resimlerle)
Pille Çalışan Ofis. Doğu/Batı Otomatik Geçişli Güneş Sistemi Güneş Panelleri ve Rüzgar Türbini: Proje: 200 metrekarelik bir ofisin pille çalışması gerekiyor. Ofis ayrıca bu sistem için gerekli tüm kontrolörleri, pilleri ve bileşenleri içermelidir. Güneş ve rüzgar enerjisi pilleri şarj edecek. Sadece ufak bir sorun var
Güneş Enerjili 'Akıllı' WiFi Kontrollü Sulama Sistemi: 6 Adım (Resimli)
Güneş Enerjili 'Akıllı' WiFi Kontrollü Sulama Sistemi: Bu proje, ev yapımı, tamamen güneş enerjili, akıllı bir bahçe elektrik şebekesi ve sulama oluşturmak için Shelly IoT cihazları ve openHAB'daki bazı temel programlama ile birlikte ebay'den standart DIY güneş ve 12v parçaları kullanır. setup.Sistemin Öne Çıkan Özellikleri: Fu
Pilsiz Güneş Işığı veya Güneş Gün Işığı Neden Olmasın?: 3 Adım
Pilsiz Güneş Işığı veya Güneş Gün Işığı… Neden Olmasın?: Hoş Geldiniz. ingilizcem için özür dilerimDaylight? Güneş? Niye ya? Gündüzleri biraz karanlık bir odam var ve kullanırken ışıkları açmam gerekiyor. Gündüz ve gece güneş ışığını kurun (1 oda): (Şili'de)-Güneş paneli 20w: 42 $-Pil: 15 $-Güneş enerjisi şarj kontr
Güneş Enerjili Bir Santralin Uzaktan Enerji İzleme ve Dağıtım Sistemi: 10 Adım
Güneş Enerjili Bir Santralin Uzaktan Güç İzleme ve Dağıtım Sistemi: Bu projenin amacı, güç sistemlerindeki (güneş enerjisi sistemleri) gücün izlenmesi ve dağıtılmasıdır. Bu sistemin tasarımı özette şu şekilde açıklanmıştır. Sistem, içinde yaklaşık 2 güneş paneli bulunan birden fazla ızgara içerir
Pilsiz Güneş Enerjili Sulama Sistemi: 10 Adım
Pilsiz Güneş Enerjisi Sulama Sistemi: Bu derste, tatillerde bile ihtiyaç duyulduğunda bitkilere su veren bir sistemi nasıl kurduğumu açıklamak istiyorum. Bitkiler havada ne kadar nem olduğuna bağlı olarak suya ihtiyaç duyar ve bazen zor olduğunu unutmayın