تمرین: هندسه

ما چند توابع کاربردی برای هندسه سه بعدی ایجاد خواهیم کرد که نقطه ای را به عنوان [f64;3] نشان می دهد. تعیین امضاهای عملکرد به عهده شماست.

// اندازه یک بردار را با جمع مربعات مختصات آن محاسبه کنید
// و سپس جذر آن را بگیرید. از متد `sqrt()` برای محاسبه جذر استفاده کنید، مثل `v.sqrt()`.


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

// یک بردار را با محاسبه اندازه‌ی آن و تقسیم تمام مختصات آن
// بر آن اندازه، نرمال‌سازی کنید.


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

// از `main` زیر برای تست کار خود استفاده کنید.

fn main() {
    println!("اندازه‌ی یک بردار واحد: {}", magnitude(&[0.0, 1.0, 0.0]));

    let mut v = [1.0, 2.0, 9.0];
    println!("اندازه‌ی {v:?}: {}", magnitude(&v));
    normalize(&mut v);
    println!("اندازه‌ی {v:?} پس از نرمال‌سازی: {}", magnitude(&v));
}