If you're seeing this message, it means we're having trouble loading external resources on our website.

Bağlandığınız bilgisayar bir web filtresi kullanıyorsa, *.kastatic.org ve *.kasandbox.org adreslerinin engellerini kaldırmayı unutmayın.

Ana içerik

Yerçekimi ve sürtünmeyi modelleme

Şimdi, kuvvetlerimizi gerçek hayata daha uygun yapmak için, son örnekteki yerçekimini geliştirelim ve bir sürtünme kuvveti tanıtalım.

Dünyada Yerçekimi

Geçtiğimiz örnekte, bununla ilgili son derece yanlış bir şeyi farketmiş olabilirsiniz. Çember ne kadar küçükse, o kadar hızlı düşer. Bunun bir mantığı vardır; ne de olsa, (Newton’un ikinci yasasına göre) belirttiğimiz üzere, kütle ne kadar küçükse, ivme o kadar yüksektir. Ama gerçek hayatta böyle olmaz. Pisa Kulesi'nin tepesine çıkıp, farklı kütleli iki topu atsanız, hangisi yere daha önce çarpar? Efsaneye göre, Galileo bu testi 1859'da yapmıştır, ve aynı ivmeyle düştüklerini ve aynı anda yere çarptıklarını keşfetmiştir. Neden böyle olur? Bu derste daha sonra göreceğimiz gibi, yerçekimi kuvveti, bir nesnenin kütlesine göre hesaplanır. Nesne ne kadar büyükse, kuvvet de o kadar fazla olur. Onun için, kuvvet kütleye göre ölçeklenirse, ivme kütleyle bölündüğünde sadeleşir. Bunu, planımızda, uydurduğumuz yerçekimi kuvvetini kütleyle çarparak kolaylıkla uygulayabiliriz.

for (var i = 0; i < movers.length; i++) {
    var wind = new PVector(0{,}01, 0);
    var gravity = new PVector(0, 0{,}1 * movers[i].mass);
    movers[i].applyForce(wind);
    movers[i].applyForce(gravity);
    movers[i].update();
    movers[i].display();
    movers[i].checkEdges();
}
Artık nesneler aynı hızla düşüyor da olsa, rüzgar kuvveti kütleden bağımsız olduğundan, küçük nesneler yine sağa doğru daha hızlı hızlanır.
Kuvvetleri uydurmak aslında ilerlememize yardımcı olur. ProcessingJS dünyası piksellerden oluşan uydurma bir dünyadır ve siz onun efendisisiniz. Yani, neyin bir kuvvet olmasını uygun bulursanız, o, kuvvet olur. Yine de, şunu merak edebilirsiniz: “Ancak, bunlar gerçekten nasıl işler?”
Herhangi bir lise fizik ders kitabını açtığınızda, birçok farklı kuvveti tanımlayan şemalar ve formüller bulabilirsiniz—yerçekimi, elektromanyetizm, sürtünme, gerilim, esneklik, ve dahası. Veya, Khan Academy'deki fizik derslerine bakın. Bu derste, bu kuvvetlerin ikisine bakacağız—sürtünme ve yerçekimi. Burada söylemek istediğimiz şey, sürtünme ve yerçekiminin tüm ProcessingJS programlarınızda bulunması gereken temel kuvvetler olduğu değildir. Aksine, bu iki kuvvetin değerini, aşağıdaki sürecin vaka çalışmaları için bulmak istiyoruz:
  • Bir kuvvetin ardındaki kavramı anlama
  • Kuvvet formülünü iki parçaya bölme:
    • Kuvvetin yönünü nasıl hesaplarız?
    • Kuvvetin büyüklüğünü nasıl hesaplarız?
  • Bu formülü Mover'ın applyForce() fonksiyonuna geçirecek bir PVector hesaplayan ProcessingJS koduna dönüştürme.
İki kuvvetle üstteki adımları izleyebilirseniz, o zaman sabahın 3'ünde Google'da “atom çekirdeği zayıf nükleer kuvvet” araması yaparken bulduklarınızı alıp ProcessingJS programlarına adapte etme beceriniz olacaktır.
Formüllerle uğraşmak
Tamam, birazdan sürtünmenin formülünü yazacağız. Bu derste ilk defa bir formül görmüyoruz; Newton’ın ikinci yasasını konuşmayı daha yeni bitirdik, F=M×A(veya kuvvet = kütle * ivme). Bu formülde çok zaman geçirmedik, çünkü çok güzel ve basit bir formüldür. Yine de, dışarıda korkutucu bir dünya var. Girişte (formülüne bakmadan) anlattığımız “normal” dağılımın denklemine bir bakın.
f(x,μ,σ)=1σ2πe((xμ)22σ2)
Burada gördüğümüz şey, formüllerin pek çok simge kullanmayı sevdiğidir (çoğu zaman da bunlar Yunan alfabesinden harfler olur). Sürtünme kuvvetinin formülüne bakalım.
Sürtünme=µNv^
Matematik ve fizikten bir formüle bakalı çok uzun zaman olduysa, devam etmeden önce yapmamız gereken üç kilit nokta vardır.
  • Sağ tarafın değerini bulun, sol tarafa atayın. Bu, aynen kodda olduğu gibidir! Burada yaptığımız şey, denklemin sağ tarafının değerini bulmak ve sol tarafa atamaktır. Üstteki durumda, sürtünme kuvvetini hesaplamak istiyoruz—sol taraf neyi hesaplamak istediğimizi söyler ve sağ taraf bunu nasıl yapacağımızı söyler.
  • Bahsettiğimiz şey bir vektör mü, yoksa skaler mi? Bazı durumlarda vektör; başka durumlarda skaler incelediğimizi anlamak önemlidir. Örneğin, bu durumda, sürtünme kuvveti bir vektördür. Bunu “sürtünme” sözcüğünün üstündeki oktan anlayabiliriz. Hem büyüklüğü, hem de yönü vardır. Denklemin sağ tarafında da, v^ sembolüyle gösterildiği gibi bir vektör vardır; bu durumda bu, hız birim vektörünü ifade eder.
  • Semboller yan yana konulduğunda, onların çarpıldığını kastederiz. Üstteki formülde aslında dört öge vardır: -1, µ, N, ve v^. Bunları çarpmak ve formülü şöyle yazmak istiyoruz: Sürtünme=µNv^

Sürtünme

Sürtünmeyle başlayalım ve adımları izleyelim.
Sürtünme yitirgen bir kuvvettir. Yitirgen kuvvet, nesne hareket halindeyken sistemin toplam enerjisinin azaldığı bir kuvvettir. Araba kullandığınızı düşünelim. Fren pedalına bastığınızda, arabanın frenleri tekerleklerin hareketini yavaşlatmak için sürtünme kuvvetini kullanır. Kinetik enerji (hareket) termal enerjiye (ısı) dönüştürülür. İki yüzey temasta olduğunda, sürtünme yaşanır. Tam bir sürtünme model, statik sürtünme (bir yüzetde duran bir cisim) ve kinetik sürtünme (bir yüzeyde hareket eden bir cisim) için farklı durumlar içerirdi. ama biz sadece kinetik duruma bakacağız.
İşte sürtünme formülü, ve bir örnek:
Kızak kayan birisinin resmi ve sürtünme formülü, Sürtünme =−1µN*v
Şimdi, bu formülü, sürtünmenin yönüyle büyüklüğünü belirleyen iki bileşene ayırmak bize kalmış. Üstteki şemaya göre, sürtünme hızın ters yönündedir. Aslında, burası formülde 1v^, veya -1 çarpı hız birim vektörü denilen kısımdır. ProcessingJS'de bunun anlamı, hız vektörünü almak, normalize etmek, ve -1 ile çarpmaktır.
var friction = velocity.get();
friction.normalize();
// Sürtünme kuvvetinin yönünü bulalım
//  (süratin tersi yönde bir birim vektör).
friction.mult(-1);
Buradaki iki ek adımı unutmayın. Öncelikle, hız vektörünün bir kopyasını yapmanız önemlidir, kazara nesnenin yönünü ters çevirmek istemeyiz. İkinci olarak, vektörü normalize ederiz. Bunun nedeni, sürtünme katsayısının ne kadar hızlı gittiğiyle ilgili olmamasıdır, ve kolayca ölçeklemek için büyüklüğü 1 olan bir sürtünme vektörüyle başlamak isteriz.
Formüle göre, büyüklük, μN. μ, Yunan harfi mu (“miyu” okunur), sürtünme katsayısını tanımlar. Sürtünme katsayısı, belirli bir yüzey için sürtünme kuvvetinin gücünü ifade eder. Ne kadar fazlaysa, sürtünme o kadar güçlü olur; ne kadar düşükse, o kadar zayıf olur. Örneğin, bir buz kalıbının sürtünme katsayısı, zımpara kağıdından çok daha düşüktür. Hayali bir ProcessingJS dünyasında olduğumuz için, simüle etmek istediğimiz sürtünmeye göre, katsayıyı istediğimiz gibi ayarlayabiliriz.
var c = 0{,}01;
Şimdi ikinci kısım: N. N normal kuvveti belirtir, bir nesnenin bir yüzey üzerindeki hareketine dik olan kuvveti. Bir yolda giden aracı düşünün. Araç, yerçekimiyle yolu aşağı iter, ve Newton’un üçüncü yasası yolun aracı geri ittiğini söyler. Normal kuvvet budur. Yerçekimi kuvveti ne kadar fazlaysa, normal kuvvet de o kadar büyük olur. Bir sonraki bölümde göreceğimiz üzere, yerçekimi kütleyle ilgilidir, ve hafif bir spor araba, büyük bir traktör römork kamyonundan daha az sürtünme yaşar. Ancak, üstteki şemaya göre, nesne yüzey üzerinde belirli bir açıda hareket ediyorsa, normal kuvveti hesaplamak biraz daha karmaşıktır, çünkü bu, yerçekimiyle aynı yönde değildir. Açılar ve trigonometriyle ilgili bir şeyler bilmemiz gerekecek.
Bu özelliklerin hepsi önemlidir; ancal ProcessingJS'de bunlar olmadan da “yeterince iyi”bir simülasyon elde edilebilir. Örneğin, normal kuvvetin büyüklüğünün her zaman 1 olacağı varsayımıyla sürtünmeyi oluşturabiliriz. Bir sonraki bölümde trigonometriye girdiğimizde, bu soruya dönmeyi unutmayalım ve sürtünme örneğimizi biraz daha karmaşıklaştıralım. Bu nedenle:
var normal = 1;
Artık sürtünmenin hem büyüklüğünü, hem yönünü bulduğumuza göre, hepsini birleştirebiliriz…
var c = 0{,}01;
var normal = 1;
var frictionMag = c * normal;
var friction = movers[i].velocity.get();
friction.mult(-1);
friction.normalize();
friction.mult(frictionMag);
…ve bunu “kuvvet” örneğimize ekleyelim, burada birçok nesne rüzgar, yerçekimi, ve şimdi de sürtünmeye tabidir:
Bu programın bir süre çalışmasını izlerseniz, çemberlerin gittikçe daha az hareket ettiğini, ve belli bir alanda kaldığını farkedersiniz. Sürtünme bir nesneyi hareketinin tam tersi yönde sürekli ittiğinden, nesne devamlı yavaşlar. Görselleştirmenizin hedeflerine göre, bu yararlı bir teknik veya bir sorun olabilir.

Bu "Doğal Simülasyonlar" dersi, Daniel Shiffman'ın"Kodun Doğası"'nın bir türevidir ve Creative Commons Yüklemesi-Ticari Olmayan 3,0 Dağıtıma Açık Lisansla kullanılmaktadır.

Tartışmaya katılmak ister misiniz?

Henüz gönderi yok.
İngilizce biliyor musunuz? Khan Academy'nin İngilizce sitesinde neler olduğunu görmek için buraya tıklayın.