Vektör çapraz çarpım
- Algoritmalar kursu
- Uzman seviye
- Ders 19/41
- 4 dk
Çapraz çarpımla yön belirlemeyi öğrenirsin.
Vektör çapraz çarpım
Çapraz çarpım, üç noktanın yönelimini belirler: sola dönük (saat tersi), sağa dönük (saat yönü) veya doğrusal. Bu, geometrik algoritmaların temel taşıdır.
A, B, C noktaları için çapraz çarpım (B-A) × (C-A) ile hesaplanır. İki boyutta bu, (bx-ax)·(cy-ay) - (by-ay)·(cx-ax) formülüyle bir skaler verir.
Pozitif sonuç sola dönük, negatif sağa dönük, sıfır doğrusal demektir.
Yönelim formülü
Üç noktanın yönelimini hesaplamak için iki kenar vektörü türetiriz: AB = (bx-ax, by-ay) ve AC = (cx-ax, cy-ay).
Çapraz çarpım AB × AC bu iki vektörün determinantıdır. Sonuç, paralelkenarın işaretli alanını verir.
Bu hesap O(1)'dir ve daha karmaşık algoritmalarda sürekli kullanılır.
Uygulama cross_product fonksiyonu
cross_product(ax, ay, bx, by, cx, cy) yaz. Üç noktanın çapraz çarpımını döndür. print(cross_product(0, 0, 4, 0, 2, 3)) ile 12 yazdır.
Başlangıç kodu
def cross_product(ax, ay, bx, by, cx, cy):
# Üç noktanın çapraz çarpımıÖrnek çözüm
def cross_product(ax, ay, bx, by, cx, cy):
# Üç noktanın çapraz çarpımı
return (bx - ax) * (cy - ay) - (by - ay) * (cx - ax)
print(cross_product(0, 0, 4, 0, 2, 3))Beklenen çıktı
12
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Çapraz çarpım negatifse ne anlama gelir?
cp = (bx-ax)*(cy-ay) - (by-ay)*(cx-ax)- Sola dönük (saat tersi)
- Doğrusal
- Sıfır
- Sağa dönük (saat yönü) Doğru cevap
Açıklama: Negatif çapraz çarpım sağa dönük (saat yönü) anlamına gelir.
2 çapraz çarpım hesabı
cp = (bx - ax) * (cy - ay) - (____ - ay) * (cx - ax)
cp = (bx - ax) * (cy - ay) - (by - ay) * (cx - ax)
Açıklama: (by - ay) doğru terimdir.
3 Yönelim kavramları
| Kavram | Anlamı |
|---|---|
pozitif |
Sola dönük |
negatif |
Sağa dönük |
sıfır |
Doğrusal |
determinant |
İşaretli alan |