| Copyright | (C) Frank Staals |
|---|---|
| License | see the LICENSE file |
| Maintainer | Frank Staals |
| Safe Haskell | None |
| Language | GHC2024 |
HGeometry.Point.EuclideanDistance
Description
Points that have to do with Euclidean distances between \(d\)-dimensional points.
Synopsis
- cmpByDistanceTo :: forall r point (d :: Nat) center. (Ord r, Num r, Point_ point d r, Point_ center d r, Metric_ (Vector d r) d r) => center -> point -> point -> Ordering
- squaredEuclideanDist :: forall r point (d :: Nat) point'. (Num r, Point_ point d r, Point_ point' d r, Metric_ (Vector d r) d r) => point -> point' -> r
- euclideanDist :: forall r point (d :: Nat). (Radical r, Point_ point d r, Metric_ (Vector d r) d r) => point -> point -> r
- class Metric_ (Vector (Dimension g) (NumType g)) (Dimension g) (NumType g) => HasSquaredEuclideanDistance g where
- squaredEuclideanDistTo :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> r
- pointClosestTo :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> Point d r
- pointClosestToWithDistance :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> (Point d r, r)
Documentation
cmpByDistanceTo :: forall r point (d :: Nat) center. (Ord r, Num r, Point_ point d r, Point_ center d r, Metric_ (Vector d r) d r) => center -> point -> point -> Ordering Source #
Compare two points by their distance to the first argument
squaredEuclideanDist :: forall r point (d :: Nat) point'. (Num r, Point_ point d r, Point_ point' d r, Metric_ (Vector d r) d r) => point -> point' -> r Source #
Squared Euclidean distance between two points
euclideanDist :: forall r point (d :: Nat). (Radical r, Point_ point d r, Metric_ (Vector d r) d r) => point -> point -> r Source #
Euclidean distance between two points
class Metric_ (Vector (Dimension g) (NumType g)) (Dimension g) (NumType g) => HasSquaredEuclideanDistance g where Source #
Types for which we can compute the squared Euclidean distance.
Minimal complete definition
Methods
squaredEuclideanDistTo :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> r Source #
Given a point q and a geometry g, the squared Euclidean distance between q and g.
pointClosestTo :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> Point d r Source #
Given q and g, computes the point p in g closest to q according to the Squared Euclidean distance.
pointClosestToWithDistance :: forall r (d :: Nat) point. (r ~ NumType g, d ~ Dimension g, Num r, Point_ point d r) => point -> g -> (Point d r, r) Source #
Given q and g, computes the point p in g closest to q according to the Squared Euclidean distance. Returns both the point and the distance realized by this point.
Instances
| (Vector_ v d r, Metric_ (Vector d r) d r) => HasSquaredEuclideanDistance (PointF v) Source # | |
Defined in HGeometry.Point.EuclideanDistance Methods squaredEuclideanDistTo :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> r0 Source # pointClosestTo :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> Point d0 r0 Source # pointClosestToWithDistance :: forall r0 (d0 :: Nat) point. (r0 ~ NumType (PointF v), d0 ~ Dimension (PointF v), Num r0, Point_ point d0 r0) => point -> PointF v -> (Point d0 r0, r0) Source # | |
| HasSquaredEuclideanDistance p => HasSquaredEuclideanDistance (p :+ extra) Source # | |
Defined in HGeometry.Point.EuclideanDistance Methods squaredEuclideanDistTo :: forall r (d :: Nat) point. (r ~ NumType (p :+ extra), d ~ Dimension (p :+ extra), Num r, Point_ point d r) => point -> (p :+ extra) -> r Source # pointClosestTo :: forall r (d :: Nat) point. (r ~ NumType (p :+ extra), d ~ Dimension (p :+ extra), Num r, Point_ point d r) => point -> (p :+ extra) -> Point d r Source # pointClosestToWithDistance :: forall r (d :: Nat) point. (r ~ NumType (p :+ extra), d ~ Dimension (p :+ extra), Num r, Point_ point d r) => point -> (p :+ extra) -> (Point d r, r) Source # | |