hgeometry
Copyright(C) Frank Staals
Licensesee the LICENSE file
MaintainerFrank Staals
Safe HaskellNone
LanguageGHC2021

HGeometry.Plane.LowerEnvelope.Connected.BruteForce

Description

The O(n^4) time algorithm.

Synopsis

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.

belowAll :: (Plane_ plane r, Ord r, Num r, Foldable f) => Point 3 r -> f plane -> Bool Source #

test if v lies below (or on) all the given planes