İki Farklı Koordinat Sistemi (Polar vs Cartesian)

Şimdiye kadar Kartezyen koordinat sistemi kullandık: bir noktayı (x, y) ile tanımladık. Ama bazı durumlarda kutupsal koordinatlar çok daha pratik!

💡 Ne Zaman Kutupsal Kullanmalı?

Dairesel hareketler, spiral desenler, radyal dağılımlar için kutupsal koordinatlar çok daha doğal ve kolay.

Kartezyen vs Kutupsal (Cartesian vs Polar)

Kartezyen (x, y)
Noktayı yatay (x) ve dikey (y) uzaklıklarla tanımlar. "3 adım sağa, 4 adım yukarı" gibi.
Kutupsal (r, θ)
Noktayı merkeze uzaklık (r) ve açı (θ) ile tanımlar. "5 adım, kuzeydoğu yönünde" gibi.
Vektör bileşenleri ve açı
Şekil 3.5: Bir vektör v; x bileşeni, y bileşeni ve açısı ile tanımlanabilir.
KARTEZYEN (x, y) x y x = 100 y = 100 KUTUPSAL (r, θ) r θ

Dönüşüm Formülleri (Conversion Formulas)

İki sistem arasında dönüşüm yapmak için trigonometri kullanıyoruz:

Kutupsal → Kartezyen:
x = r × cos(θ)
y = r × sin(θ)
En sık kullanacağımız formüller!
Kartezyen → Kutupsal:
r = √(x² + y²)
θ = atan2(y, x)
Ters dönüşüm (daha az kullanılır)
// Kutupsal → Kartezyen (en sık kullanılan)
let r = 100;        // Merkeze uzaklık
let theta = PI / 4; // 45 derece

let x = r * cos(theta);  // ≈ 70.7
let y = r * sin(theta);  // ≈ 70.7

// Kartezyen → Kutupsal
let x = 70.7, y = 70.7;
let r = sqrt(x*x + y*y);  // ≈ 100
let theta = atan2(y, x);  // ≈ 0.785 (PI/4)

Dairesel Hareket (Circular Motion)

Kutupsal koordinatların en güzel kullanımı: dairesel hareket. Bir noktanın daire üzerinde hareket etmesi için sadece açıyı değiştirmemiz yeterli!

Satır Satır Açıklama:

Satır 1-2
r dairenin yarıçapı (merkeze uzaklık). theta şu anki açı (radyan).
Satır 13-14
Kutupsal → Kartezyen dönüşümü! Bu iki satır (r, theta) → (x, y) dönüşümünü yapar.
Satır 20
Her frame'de açıyı biraz artırıyoruz. Bu kadar basit! Daire hareketi otomatik olarak oluşuyor.

🎮 Neden Kutupsal Daha Kolay?

Kartezyen ile daire çizmek için karmaşık formüller gerekir. Kutupsal ile sadece açıyı değiştiriyoruz, x ve y otomatik hesaplanıyor!

Spiral Deseni (Spiral Pattern)

Daire hareketinde r sabit tutuyorduk. Eğer r'yi de değiştirirsek spiral elde ederiz!

🔬 Deneyin:

  1. Satır 19: r += 0.5 yapın. Beklenti: Spiral daha hızlı genişler
  2. Satır 17: theta += 0.2 yapın. Beklenti: Spiral daha sık sarmal yapar
  3. Satır 19: r -= 0.1 yapın. Beklenti: Spiral içe doğru daralır

🎮 Oyun Programlamada Kutupsal Koordinatlar

Kutupsal koordinatlar, oyun geliştirmede dairesel hareketler için vazgeçilmezdir. İşte bazı pratik kullanım alanları:

Radar Taraması
Dönen bir radar çizgisi? Sadece θ'yı artır, r sabit tut!
Dairesel Mermi Paterni
Bullet hell oyunlarında daire şeklinde yayılan mermiler. Her mermi için farklı θ, aynı r.
Gezegen Yörüngeleri
Uzay simülasyonlarında gezegenler güneş etrafında döner. Eliptik yörünge için r = f(θ) fonksiyonu kullan.
Joystick Girişi
Analog joystick (x, y) verir, ama yön ve güç için (r, θ) dönüşümü daha kullanışlı!
Kamera Döndürme
3D oyunlarda kamera karakterin etrafında dönerken kutupsal koordinatlar kullanılır.

🎮 İnteraktif: Kutupsal Koordinat Keşfi

Fareyi hareket ettirerek aynı noktanın hem Kartezyen hem Kutupsal koordinatlarını görün:

💡 Neden Kutupsal Daha Kolay?

Bir noktayı daire üzerinde hareket ettirmek için:

  • Kartezyen ile: x = cos(angle) * radius ve y = sin(angle) * radius - iki hesaplama
  • Kutupsal ile: Sadece theta += 0.01 - tek değer değiştir!

Kutupsal koordinatlar dairesel hareket için doğal bir yoldur.

📝 Bu Bölümün Özeti