演習: ジオメトリ

ここでは、点を [f64;3] として表現する 3 次元ジオメトリのユーティリティ関数をいくつか作成します。関数シグネチャは任意で指定してください。

// 座標の二乗を合計して平方根を取り、
// ベクターの大きさを計算します。`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));
}