1 puan yazan GN⁺ 2024-07-30 | 1 yorum | WhatsApp'ta paylaş

GPU'da dünya simülasyonu

4 milyar yıl 4 dakikada

  • Bu yazı, GLSL fragment shader ile yazılmış prosedürel bir Dünya simülasyonunun nasıl gerçekleştirildiğini ele alıyor
  • Dünya benzeri bir gezegenin tüm tarihini birkaç dakika içinde simüle ediyor ve saniyede 60 kare hızında güncelleniyor

İlkel gezegen

  • Hikâye, 4,5 milyar yıl önce bir lav kütlesiyle başlıyor
  • Erken Dünya, asteroit çarpışmaları nedeniyle kızıl ve sıcak bir ilkel gezegendi
  • Prosedürel olarak üretilen topoğrafya haritası üzerinden arazinin yüksekliği hesaplanıyor
  • Farklı boyutlarda asteroit çarpma kraterleri oluşturuluyor ve bunlar üzerinden arazi yüksekliği belirleniyor
  • Asteroit kraterleri 3D bir grid üzerinde oluşturuluyor ve düzensizlik katmak için hash fonksiyonu kullanılıyor
  • Sonuçta üretilen yükseklik haritası, erken Dünya'nın görünümünü yeniden oluşturuyor

Levha tektoniği

  • Dağ sıraları, hendekler ve kıtasal topoğrafya oluşturmak için levha tektoniği modeli kullanılıyor
  • Başlangıç hızlarıyla levha tohum konumları rastgele oluşturuluyor ve levhalar zamanla büyüyor
  • Levha sınırlarında çarpışma meydana geldiğinde arazi yüksekliği artıyor
  • Bu çarpışma, termal erozyon modeli aracılığıyla çevredeki piksellere yayılıyor

Hidrolik erozyon

  • Doğal arazinin engebeli görünümü büyük ölçüde nehir havzalarının oluşumu tarafından belirleniyor
  • Düşük çözünürlüklü topoğrafya haritalarında bile nehirleri simüle edebilen bir model kullanılıyor
  • Her piksel, çevresindeki 8 pikseli inceleyerek suyu en büyük eğim yönüne akıtıyor
  • Erozyon, stream power yasası tarafından yönlendiriliyor
  • Su akışı ile erozyonun etkileşimi sonucunda doğal nehir havzaları oluşuyor

Küresel iklim

  • İklim sistemi simülasyonu, ortalama deniz seviyesi basıncı (MSLP) haritasına dayanıyor
  • MSLP haritası, kara ve okyanusların konumundan ve enlemden etkileniyor
  • Mevsimsel değişimlere göre iklim örüntülerinin değişmesi için MSLP haritası ayarlanıyor
  • MSLP temel alınarak rüzgâr ve sıcaklık üretiliyor
  • Rüzgâr, yüksek basınçtan alçak basınca doğru hareket ediyor ve Coriolis etkisi hesaba katılıyor
  • Yağış, rüzgâr vektör alanı aracılığıyla okyanustan karaya taşınıyor

Yaşam

  • İklim, gezegendeki yaşamın dağılımını etkiliyor
  • Yağış örüntüleri ve sıcaklık değişimleri, bitki büyüme hızını belirliyor
  • Otçullar ve yırtıcılar, mevsimsel değişimlere göre göç ediyor
  • Bu dinamik değişimler, Lotka-Volterra difüzyon modeli kullanılarak simüle ediliyor

İnsanlık

  • Erken Dünya'nın açılış perdesi sona erdikten sonra insanlık gezegen yüzeyini kolonileştiriyor
  • Fosil yakıtları yakarak atmosfere karbon salıyor
  • Yüzlerce yıl boyunca insanlık tüm fosil yakıt kaynaklarını tüketiyor ve atmosfere 5 trilyon ton karbon salıyor
  • Bunun sonucunda sera etkisi güçleniyor ve Dünya'nın ortalama sıcaklığı yaklaşık 10 derece yükseliyor
  • Ekvator çevresindeki geniş bölgeler, aşırı sıcaklıklar nedeniyle insanlar için yaşanamaz hâle geliyor

GN⁺ özeti

  • Bu yazı, prosedürel Dünya simülasyonunun gerçekleştirilme sürecini ayrıntılı biçimde açıklıyor
  • GLSL fragment shader kullanarak topoğrafya, levha tektoniği, hidrolik erozyon, iklim ve yaşamı simüle ediyor
  • İnsan faaliyetlerinin Dünya çevresi üzerindeki etkisini simüle ederek farkındalık yaratıyor
  • Benzer özelliklere sahip projeler arasında "SimEarth" ve "Universe Sandbox" öneriliyor

1 yorum

 
GN⁺ 2024-07-30
Hacker News görüşü
  • "I don't know, Timmy, being God is a big responsibility" adlı kısa öykü, dünya simülasyonu temasını ele alıyor
  • Bir uygarlıkta gece aydınlatması varsa tüm fosil yakıtların yakılıp çölleşmenin yaşanacağı varsayımı, yalnızca bizim uygarlık yörüngemize dayanıyor
    • Nükleer savaş, temiz füzyonun geliştirilmesi, salgın hastalık, uzaylıların gezegeni istila etmesi gibi başka olasılıklar da var
    • Sıcaklık artışı kuraklıkla eşdeğer tutuluyor ve ek CO2'nin bitkiler üzerindeki etkisi hesaba katılmıyor
  • 1996/1997'de levha tektoniği hareketi, sıcaklık, yükseklik ve yağışı simüle eden bir CD-ROM oyunu geliştirmiş
    • 28 yılda bilgi işlem donanımı ve yazılımındaki ilerleme şaşırtıcı
  • "Permutation City" adlı hard SF kitabı bu konuyla yakından ilgili
    • Bu yazının başlığını okurken rüya görüyormuş gibi hissetmiş
  • Üniversitede enerji politikası analizi dersinde, MIT'de geliştirilen EPPA modelini kullanarak enerji depolama maliyetini 10 kat azaltma gibi simülasyonlar yapmış
    • Çok eğlenceliydi ama iş hayatında benzer bir iş bulamamış
  • Simülasyonda bazı ayrıntıların atlandığını belirtiyor
  • Neden yalnızca fragment shader kullanıldığını merak ediyor
    • Yükseklik haritası için vertex shader da kullanılırsa yüzeye kadar yakınlaştırma yapılabilir
  • Shadertoy örneği sayfada 0.6 FPS ile oynatılıyor ama Shadertoy web sitesinde 60 FPS ile sorunsuz çalışıyor
  • Bazen simüle edilmiş bir evrende yaşamanın nasıl bir şey olacağını merak ediyor
  • Tüm videoya eşlik eden müzik tanıdık geliyordu ama kaynağını çıkaramamış
    • Yapay zeka tarafından üretilmiş müzik olma ihtimali de var