연습문제: 도형
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));
}