تمرين: هندسة الأشكال
We will create a few utility functions for 3-dimensional geometry, representing a point as [f64;3]
. It is up to you to determine the function signatures.
// احسب مقدار المتجه (magnitude of a vector) بجمع مربعات إحداثياته // وأخذ الجذر التربيعي (square root). استخدم طريقة `sqrt()` لحساب الجذر // التربيعي، مثل `v.sqrt()`. fn magnitude(...) -> f64 { todo!() } // قم بتطبيع المتجه (Normalize a vector) بحساب مقداره (magnitude) وقسمة جميع إحداثياته // على هذا المقدار (magnitude). 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)); }