Как усреднить две точки в налгебре? - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть треугольник AB C, и я хочу сгенерировать треугольник DEF.

Треугольник DEF создается с использованием центра всех ребер AB C. Налгебра, кажется, не позволяет мне добавлять очки вместе, только векторы.

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]
}

Triangles ABC and DEF.

1 Ответ

3 голосов
/ 19 февраля 2020

Налгебра имеет функцию специально для этого, Налгебра :: Центр .

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]
}
...