3.6 练习:几何
练习:几何 — Comprehensive Rust
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/references/exercise.html
3.6 练习:几何
我们将编写几个三维几何的工具函数,用 [f64;3] 表示点。函数签名由你自行确定。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| // Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
// 计算向量的模长:对各坐标平方求和再开方。
// 用 `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));
}
|
01-解答 — Comprehensive Rust