Copyright | (C) Frank Staals |
---|---|
License | see the LICENSE file |
Maintainer | Frank Staals |
Safe Haskell | None |
Language | GHC2021 |
HGeometry.Plane.LowerEnvelope.Connected.BruteForce
Description
The O(n^4) time algorithm.
Synopsis
- bruteForceLowerEnvelope :: (Plane_ plane r, Ord plane, Ord r, Fractional r, Foldable set, Show r, Show plane) => set plane -> Maybe (MinimizationDiagram r (Point 2 r :+ Definers plane) plane)
- connectedLowerEnvelopeWith :: (Plane_ plane r, Ord r, Fractional r, Foldable set, Ord plane, Show plane, Show r) => (set plane -> VertexForm Map r plane) -> set plane -> Maybe (MinimizationDiagram r (Point 2 r :+ Definers plane) plane)
- computeVertexForm :: (Plane_ plane r, Ord plane, Ord r, Fractional r, Foldable set, Show plane, Show r) => set plane -> VertexForm Map r plane
- belowAll :: (Plane_ plane r, Ord r, Num r, Foldable f) => Point 3 r -> f plane -> Bool
Documentation
bruteForceLowerEnvelope :: (Plane_ plane r, Ord plane, Ord r, Fractional r, Foldable set, Show r, Show plane) => set plane -> Maybe (MinimizationDiagram r (Point 2 r :+ Definers plane) plane) Source #
Computes the lower envelope in O(n^4) time.
connectedLowerEnvelopeWith :: (Plane_ plane r, Ord r, Fractional r, Foldable set, Ord plane, Show plane, Show r) => (set plane -> VertexForm Map r plane) -> set plane -> Maybe (MinimizationDiagram r (Point 2 r :+ Definers plane) plane) Source #
Given an algorithm to compute the vertices of the lower envelope, computes the actual lower envelope. Returns a Nothing if there are no vertices
computeVertexForm :: (Plane_ plane r, Ord plane, Ord r, Fractional r, Foldable set, Show plane, Show r) => set plane -> VertexForm Map r plane Source #
Computes the vertices of the lower envelope
O(n^4) time.