如何在代数中平均两点?
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]
}
我有一个三角形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]
}