Evrensel Çekim Yasası (Gravitational Attraction)
Newton, elmanın düşmesini izlerken (efsaneye göre) büyük bir şey keşfetti: Her kütle, diğer her kütleyi çeker!
Bu kuvvet sadece dünyada değil, evrenin her yerinde geçerli. Gezegenler güneşin etrafında döner, ay dünya etrafında döner - hepsi bu kuvvet sayesinde.
Newton'un Evrensel Çekim Yasası (Universal Gravitation)
Formülün Parçaları
💡 Ters Kare Yasası
r² (mesafe karesi) birçok fizik yasasında görülür: ışık, ses, elektrik... Buna "ters kare yasası" denir. Uzaklaştıkça etki hızla zayıflar.
Kütlesel Çekimi Kodla Uygulama
Bir "çekici" (attractor) nesne oluşturalım. Bu nesne tüm diğer nesneleri kendine çeker.
class Attractor {
constructor(x, y, mass) {
this.position = createVector(x, y);
this.mass = mass;
}
// Mover'a çekim kuvveti uygula
attract(mover) {
// 1. Yön vektörü: mover'dan attractor'a
let force = p5.Vector.sub(this.position, mover.position);
// 2. Mesafe hesapla
let distance = force.mag();
// 3. Mesafeyi sınırla (çok yakın = patlama önleme)
distance = constrain(distance, 5, 25);
// 4. Kuvvet büyüklüğü: G × m1 × m2 / r²
let G = 1; // Simülasyon için
let strength = (G * this.mass * mover.mass) / (distance * distance);
// 5. Birim vektör yap ve büyüklük uygula
force.normalize();
force.mult(strength);
return force;
}
}
Adım Adım Açıklama
⚠️ constrain() Neden Gerekli?
Mesafe 1 piksel olsa: r² = 1, kuvvet devasa olur!
Mesafe 0.1 piksel olsa: r² = 0.01, kuvvet FELAKETTİR!
constrain(distance, 5, 25) mesafeyi 5-25 arasında tutar.
Hem patlamayı önler hem de çok uzakta etkisiz kalmasını engeller.
Örnek: Tek Çekici
Ortada büyük bir çekici, etrafında dönen toplar. Gezegen sistemi gibi!
🔬 Deneyin:
- Topların yörüngelerini izleyin. Elips mi, daire mi?
-
attractor.js Satır 17: G değerini
2yapın. Daha güçlü çekim, toplar merkeze çekilir - sketch.js: Daha fazla mover ekleyin.
- Mouse ile: Attractor'ı mouse konumuna taşıyın.
Örnek: Mouse ile Çekici
Çekiciyi mouse ile kontrol edelim. Mouse'a tıklayınca çekici aktif olsun!
🔬 Deneyin:
- Canvas'ta farklı yerlere tıklayarak topları çekin.
- Basılı tutun ve hareket edin - toplar sizi takip eder!
- Topları birbirine yaklaştırmaya çalışın.
Örnek: İki Cisim Birbirini Çeker
Newton'un 3. yasasını hatırlayın: "Her etkiye eşit ve zıt tepki vardır." İki cisim birbirini eşit kuvvetle çeker!
Dikkat Edilecekler:
İleri Seviye: N-Body Simülasyonu
Birden fazla cisim birbirini çekerse ne olur? Bu "N-body problemi" olarak bilinir ve çok karmaşık yörüngeler oluşur.
🎮 Oyun Fikirleri
- Gravity Wars: Gezegen sisteminde uzay gemisi yönlendirme
- Solar System: Güneş sistemi simülasyonu
- Black Hole: Kara delik etrafında hayatta kalma
📝 Bu Bölümün Özeti
- Evrensel Çekim: F = G × m₁ × m₂ / r²
- Ters kare: Mesafe 2x → Kuvvet 4x azalır
- constrain(): Mesafeyi sınırla, patlamayı önle
- İki yönlü: İki cisim birbirini eşit kuvvetle çeker
- N-body: Birden fazla cisim karmaşık dans eder
🎉 Tebrikler!
Kuvvetler bölümünü tamamladınız! Artık şunları biliyorsunuz:
- ✅ Newton'un hareket yasaları
- ✅ Kuvvet biriktirme
- ✅ Kütle ve ivme ilişkisi
- ✅ Sürtünme kuvveti
- ✅ Sürüklenme (akışkan direnci)
- ✅ Kütlesel çekim
Bu bilgilerle gerçekçi fizik simülasyonları, oyunlar ve interaktif sanat eserleri oluşturabilirsiniz!
📚 Sonraki Adımlar
Nature of Code'un devamında Oscillation (Salınım), Particle Systems ve daha fazlası var. Öğrenmeye devam edin!