연습문제: 도형

3차원 도형을 위한 몇 가지 유틸리티 함수를 만들어 보겠습니다. 3차원 상의 한 점을 [f64;3]으로 나타내도록 합니다. 함수 서명은 개발자가 결정합니다.

// 해당 좌표의 제곱을 더하고
// 제곱근을 사용하여 벡터의 크기를 계산합니다. `v.sqrt()`와 같은 `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));
}