/// ์ง์ ๋ ๋ฒกํฐ์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค.
fn magnitude(vector: &[f64; 3]) -> f64 {
let mut mag_squared = 0.0;
for coord in vector {
mag_squared += coord * coord;
}
mag_squared.sqrt()
}
/// ๋ฐฉํฅ ๋ณ๊ฒฝ ์์ด ๋ฒกํฐ ํฌ๊ธฐ๋ฅผ 1.0์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
fn normalize(vector: &mut [f64; 3]) {
let mag = magnitude(vector);
for item in vector {
*item /= mag;
}
}
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));
}