Упражнение: Геометрия
Мы напишем несколько вспомогательных функций для трёхмерной геометрии, представляя точку как [f64;3]. Сигнатуры функций вы определите сами.
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
// Вычислите длину вектора, сложив квадраты его координат
// и взяв квадратный корень. Для вычисления корня используйте метод `sqrt()`,
// например `v.sqrt()`.
fn magnitude(...) -> f64 {
todo!()
}
// Нормализуйте вектор: вычислите его длину и разделите все его координаты
// на эту длину.
fn normalize(...) {
todo!()
}
// Проверьте свою работу с помощью следующей `main`.
fn main() {
println!("Magnitude of a unit vector: {}", magnitude(&[0.0, 1.0, 0.0]));
let mut v = [1.0, 2.0, 9.0];
println!("Magnitude of {v:?}: {}", magnitude(&v));
normalize(&mut v);
println!("Magnitude of {v:?} after normalization: {}", magnitude(&v));
}