0

我有一个三角形 ABC,我想生成三角形 DEF。

三角形 DEF 是使用 ABC 的所有边的中心创建的。Nalgebra 似乎不允许我将点加在一起,只有向量。

use nalgebra::Point2;

fn get_def(a: Point2<f32>, b: Point2<f32>, c: Point2<f32>) -> [Point2<f32>; 3] {
    let d = (a + b) / 2.0; // error
    let e = (b + c) / 2.0; // error
    let f = (c + a) / 2.0; // error

    [d, e, f]
}

三角形 ABC 和 DEF.

4

1 回答 1

4

Nalgebra has a function specifically for this, nalgebra::center.

use nalgebra::{Point2, center};

fn get_def(a: Point2<f32>, b: Point2<f32>, c: Point2<f32>) -> [Point2<f32>; 3] {
    let d = center(&a, &b);
    let e = center(&b, &c);
    let f = center(&c, &a;

    [d, e, f]
}
于 2020-02-19T13:33:32.373 回答