Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Упражнение: Геометрия

Мы напишем несколько вспомогательных функций для трёхмерной геометрии, представляя точку как [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));
}