p5.Vector Sınıfı (The p5.Vector Class)
p5.js, vektörlerle çalışmayı kolaylaştıran bir p5.Vector sınıfı sunar.
Bu sınıf x ve y değerlerini bir arada tutar ve üzerinde matematiksel işlemler
yapmamızı sağlar.
💡 Sınıf (Class) Nedir?
Sınıf, bir "şablon" gibidir. p5.Vector sınıfı, x ve y değerlerini
tutan ve toplama, çıkarma gibi işlemler yapabilen nesneler oluşturur.
createVector() ile Vektör Oluşturma
Yeni bir vektör oluşturmak için createVector(x, y) fonksiyonunu kullanırız:
// Vektör oluşturma
let position = createVector(100, 50);
// x ve y değerlerine erişim
console.log(position.x); // 100
console.log(position.y); // 50
// Değerleri değiştirme
position.x = 200;
position.y = 150;
// Veya set() ile
position.set(200, 150);
İlk Vektörlü Örnek: Zıplayan Top
Önceki bölümdeki zıplayan topu şimdi vektörlerle yazalım:
Vektörsüz vs Vektörlü Karşılaştırma:
let x, y, xSpeed, ySpeed; - 4 ayrı değişken
let position, velocity; - 2 vektör nesnesi
⚠️ Henüz add() Kullanmadık!
Bu örnekte hala position.x += velocity.x yazıyoruz.
Sonraki bölümde position.add(velocity) öğreneceğiz -
çok daha temiz!
Vektör Kullanmanın Avantajları
position = position + velocity
Şimdilik kod çok farklı görünmüyor. Asıl güç, vektör işlemlerini (toplama, çıkarma, çarpma) öğrendiğimizde ortaya çıkacak.
| İşlem | Vektörsüz | Vektörlü |
|---|---|---|
| Hareket | x += vx; y += vy; |
pos.add(vel); |
| Mesafe | sqrt((x2-x1)² + (y2-y1)²) |
p5.Vector.dist(a, b) |
| Yön | atan2(y, x) |
v.heading() |
| Normalize | Karmaşık formüller | v.normalize() |
Mover Sınıfı Tanıtımı (The Mover Class)
Hareket eden nesneler için bir Mover sınıfı oluşturalım.
Bu sınıf, position ve velocity vektörlerini içerecek:
Mover Sınıfı Yapısı:
📝 Bu Bölümün Özeti
- createVector(x, y): Yeni vektör oluşturur
- .x ve .y: Vektör bileşenlerine erişim
- .set(x, y): Bileşenleri değiştir
- p5.Vector: x ve y'yi bir arada tutan sınıf
- Mover: Hareket eden nesne sınıfı