ExercĂ­cio: Geometria

Vamos criar algumas funçÔes de utilidade para geometria tridimensional, representando um ponto como [f64;3]. Cabe a vocĂȘ determinar as assinaturas das funçÔes.

// Calcule a magnitude de um vetor somando os quadrados de suas coordenadas
// e tirando a raiz quadrada. Use o método `sqrt()` para calcular a raiz quadrada,
// como `v.sqrt()`.


fn magnitude(...) -> f64 {
    todo!()
}

// Normalize um vetor calculando sua magnitude e dividindo todas as suas
// coordenadas por essa magnitude.


fn normalize(...) {
    todo!()
}

// Use o seguinte `main` para testar seu trabalho.

fn main() {
    println!("Magnitude de um vetor unitĂĄrio: {}", magnitude(&[0.0, 1.0, 0.0]));

    let mut v = [1.0, 2.0, 9.0];
    println!("Magnitude de {v:?}: {}", magnitude(&v));
    normalize(&mut v);
    println!("Magnitude de {v:?} após normalização: {}", magnitude(&v));
}