Ana içerik
Bilgisayar Programlama
Konu: Bilgisayar Programlama > Ünite 5
Ders 4: Vektörler- Vektörlere giriş
- Zor görev: Vektör yürüyüşçüsü
- Daha fazla vektör matematiği
- Zor görev: Işın kılıcı
- Vektör büyüklüğü & normalizasyonu
- Zor Görev: Büyüklük görselleştirme
- Vektör hareketi
- Zor görev: Fren yapan araba
- Statik işlevler ve anlık yöntemler
- Zor görev: Statik fonksiyonlar
- Etkileşimli vektör hareketi
- Zor Görev Fare takipçisi
© 2023 Khan AcademyKullanım ŞartlarıGizlilik PolitikasıÇerez Politikası
Daha fazla vektör matematiği
Toplama aslında ilk adımdı. Vektörlerle kullanılan birçok matematiksel işlem vardır. Aşağıda, ProcessingJS'deki
PVector
nesnesinde fonksiyon olarak bulunan işlemlerin kapsamlı bir listesini bulabilirsiniz. Şimdi bunların önemli birkaçının üstünden geçeceğiz. İlerideki kısımlarda, örneklerimiz zorlaştıkça, başka fonksiyonların detaylarını ortaya çıkarmaya devam edeceğiz.add()
— vektörleri toplayınsub()
— vektörleri çıkarmamult()
— vektörü çarpmayla ölçeklemediv()
— vektörü bölmeyle ölçeklememag()
— bir vektörün büyüklüğünü hesaplamanormalize()
— vektörü 1 uzunluğundaki birim vektörle normalleştirmelimit()
— bir vektörün büyüklüğünü sınırlamaheading2D()
— bir vektörün açı olarak ifade edilen 2 boyutlu yönüdist()
— (nokta olarak düşünülen) iki vektör arasındaki Öklid uzaklığıangleBetween()
— iki vektörün arasındaki açıyı bulmadot()
— iki vektörün iç çarpımıcross()
— iki vektörün vektör çarpımı (sadece üç boyutta geçerlidir)
Toplamayı bitirdiğimize göre, çıkarmaya başlayalım. Bu çok da kötü değil; artı işaretini alın ve yerine eksi koyun!
Vektörlerde çıkarma
şöyle yazılabilir:
ve böylece, PVector'ün içindeki fonksiyon şuna benzer:
PVector.prototype.sub = function(vector2) {
this.x = this.x - vector2.x;
this.y = this.y - vector2.y;
};
Aşağıdaki örnek, vektörlerde çıkarmayı, iki noktanın farkı—fare imleci ve pencerenin merkezi— olarak gösterir.
Vektörlerde Temel Sayı Özellikleri
Gerçel sayılarla matematik çözerken, bu sayılar şu temel kurallara uyar:
Değişme kuralı:
Birleşme kuralı:
Aynı kurallar vektörlerle matematikte de geçerlidir:
Değişme kuralı:
Birleşme kuralı:
Vektörlerle Çarpma
Çarpmaya geçtiğimizde, biraz daha farklı düşünmemiz gerekir. Bir vektörü çarpmaktan söz ettiğimizde, genellikle vektörü ölçeklemeyi kastediyoruz. (Yönünü aynı bırakarak) bir vektörü iki katı boyuta veya üçte bir boyuta ölçeklemek isteseydik, şöyle derdik: “Vektörü2 ile çarpın” veya “Vektörü 1/3 ile çarpın.” Dikkat ederseniiz, vektörü başka bir vektörle değil, bir skalerle, bir sayıyla çarpıyoruz.
Bir vektörü ölçeklemek için, her bileşeni (x ve y) bir skalerle çarpıyoruz.
şöyle yazılabilir:
Vektör notasyonlu bir örneğe bakalım.
Bu nedenle, PVector nesnesinin içindeki fonksiyon şöyle yazılır:
PVector.prototype.mult = function(n) {
this.x = this.x * n;
this.y = this.y * n;
}
Ve kodda
mult
kullanmak şöyle basittir:var u = new PVector(-3,7);
// Bu, PVector şimdi üç katı boyuttadır ve (-9,21).
u.mult(3);e eşittir;
İşte önceki örnek, ama her seferinde vektörü 0,5 ile çarpıyoruz, böylece yarısıyla ölçekliyoruz:
Yukarıda 0,5 ile çarpmak yerine, 2'ye de bölebilirdik. Bölme aynen çarpma gibi işler—sadece çarpı işaretini (yıldız) bölü işaretiyle (eğik çizgi) değiştiririz.
İşte div yöntemini şu şekilde uyguluyoruz:
PVector.prototype.div = function(n) {
this.x = this.x / n;
this.y = this.y / n;
}
Ve bunu kodda şöyle kullanabiliriz:
PVector u = new PVector(8,-4);
u.div(2);
Vektörlerle Daha Fazla Sayı Özellikleri
Toplamada olduğu gibi, çarpmanın temel cebirsel kuralları vektörlere uygulanır.
Birleşme kuralı:
2 skaler, 1 vektörle dağılma özelliği:
2 vektör, 1 skalerle dağılma özelliği:
Vektör matematiğiyle alıştırma yapmak ister misiniz? Burada Khan Akademi'de, Lineer Cebir: Vektörler ünitemizde daha fazlasını öğrenebilirsiniz.
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.