diff options
author | eug-vs <eugene@eug-vs.xyz> | 2024-12-14 20:15:31 +0100 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2024-12-14 20:15:31 +0100 |
commit | 297efa5127e83bea57132c503680dd348a725db5 (patch) | |
tree | 667ee37e7398cc3321a784550477d1e4174ab36c /src/algebra/line.rs | |
parent | bd9424635e997ce70504b564a3561506ee6d51df (diff) | |
download | particle-physics-297efa5127e83bea57132c503680dd348a725db5.tar.gz |
feat: add generic Subspace struct with distance calculation
Diffstat (limited to 'src/algebra/line.rs')
-rw-r--r-- | src/algebra/line.rs | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/src/algebra/line.rs b/src/algebra/line.rs deleted file mode 100644 index 45733b9..0000000 --- a/src/algebra/line.rs +++ /dev/null @@ -1,24 +0,0 @@ -use crate::{particle_system::Scalar, Point, Vector}; - -pub struct Line { - pub point: Point, - - /// Has to be normalized - pub vector: Vector, -} - -impl Line { - pub fn new(point: Point, vector: Vector) -> Self { - Self { - point, - vector: vector.normalize(), - } - } - - pub fn distance_to_point(&self, point: Point) -> Scalar { - let diff = point - self.point; - let lambda = diff.dot(&self.vector); - - (diff - lambda * self.vector).norm() - } -} |