如何在代数中平均两点?

How to average two points in nalgebra?

我有一个三角形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]
}

.

Nalgebra 有专门针对此的函数,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]
}