Alıştırma: Geometri

3 boyutlu geometri için, bir noktayı [f64;3] olarak temsil eden birkaç yardımcı fonksiyon oluşturacağız. Fonksiyon imzalarını belirlemek size kalmış.

// Bir vektörün büyüklüğünü, koordinatlarının karelerini toplayarak hesaplayın
// ve karekökünü alın. Karekökü hesaplamak için `sqrt()` metodunu kullanın,
// örneğin `v.sqrt()` gibi.


fn magnitude(...) -> f64 {
    todo!()
}

// Bir vektörü, büyüklüğünü hesaplayarak ve tüm koordinatlarını bu büyüklüğe
// bölererek normalize edin.


fn normalize(...) {
    todo!()
}

// Çalışmanızı test etmek için aşağıdaki `main` fonksiyonunu kullanın.

fn main() {
    println!("Birim vektörünün büyüklüğü: {}", magnitude(&[0.0, 1.0, 0.0]));

    let mut v = [1.0, 2.0, 9.0];
    println!("{v:?} vektörünün büyüklüğü: {}", magnitude(&v));
    normalize(&mut v);
    println!("Normalize edildikten sonra {v:?} vektörünün büyüklüğü: {}", magnitude(&v));
}