Expand description
Auto-generated module
🤖 Generated with SplitRS
Functions§
- alpha_
complex_ ty AlphaComplex : List Point2D -> Real -> TypeThe alpha complex at parameter alpha: a subcomplex of the Delaunay triangulation- alpha_
shape_ filtration_ ty AlphaShapeFiltration : List Point2D -> List (Real × AlphaComplex)The full filtration from alpha = 0 to alpha = infinity- any_
segments_ intersect_ ty AnySegmentsIntersect : (List Segment2D) -> PropShamos-Hoey: at least one pair of segments intersects- app
- app2
- app3
- arrangement_
face_ count_ ty ArrangementFaceCount : Nat -> Nat -> Natf(n, d) = number of faces (cells, facets, …) in a simple arrangement of n hyperplanes in ℝ^d- arrow
- bentley_
ottmann_ correctness_ ty BentleyOttmannCorrectness : BentleyOttmannOutput s = AllIntersections sCorrectness theorem for Bentley-Ottmann- bentley_
ottmann_ output_ ty BentleyOttmannOutput : List Segment2D -> List Point2DReports all k intersection points of n segments in O((n+k) log n) time- bool_ty
- brute_
force_ closest - build_
computational_ geometry_ env - Build the computational geometry kernel environment.
- build_
kd_ tree - Build a k-d tree from a slice of points.
- build_
kd_ tree_ rec - build_
range_ tree_ 1d - Build a 1D range tree (BST by
key) from a sorted slice. - cech_
complex_ ty CechComplex : List Point2D -> Real -> TypeThe Čech complex at radius r: nerve of the union of balls of radius r- cell_
of_ arrangement_ ty CellOfArrangement : HyperplaneArrangement -> Point -> NatReturns the index of the cell containing a given point- circumcenter
- Compute the circumcenter of three points.
- circumcircle_
center_ ty CircumcircleCenter : Point2D -> Point2D -> Point2D -> Point2DThe circumcenter of three points- closest_
pair - Find the closest pair of points in O(n log n) time. Returns (distance, point_a, point_b).
- closest_
pair_ fn_ ty ClosestPair : (List Point2D) -> (Point2D × Point2D)Returns the closest pair of distinct points- closest_
pair_ rec - cole_
parallel_ binary_ search_ ty ColeParallelBinarySearch : (Real -> Prop) -> RealCole’s parametric search: find the critical lambda in O(T_seq * log n) time- compute_
persistence_ ty ComputePersistence : (Real -> Type) -> PersistenceDiagramCompute persistent homology from a filtration- configuration_
space_ ty ConfigurationSpace : Type -> TypeThe configuration space C-space of a robot: maps robot description to its C-space- convex_
hull_ fn_ ty ConvexHull : List Point2D -> List Point2DThe convex hull function mapping a point set to its extremal vertices- convex_
layer_ depth_ ty ConvexLayerDepth : List Point2D -> Point2D -> NatThe convex layer (depth) of a point: 0 = outermost hull- convex_
layers_ ty ConvexLayers : List Point2D -> List (List Point2D)Onion peeling: peel successive convex hulls until the set is exhausted- cross
- 2D cross product of vectors (p1-p0) × (p2-p0) Positive: p2 is to the left of p0→p1 (counter-clockwise) Negative: p2 is to the right (clockwise) Zero: collinear
- cross_
2d - cst
- delaunay_
refinement_ ty DelaunayRefinement : List Point2D -> Real -> List Point2DRuppert/Chew Delaunay refinement: insert Steiner points until all angles >= min_angle (typically 20.7 degrees)- delaunay_
triangulation - Bowyer-Watson incremental Delaunay triangulation. Returns a list of triangles (index triples) for the input point set.
- delaunay_
triangulation_ ty DelaunayTriangulation : List Point2D -> List (Nat × Nat × Nat)Delaunay triangulation: maximises minimum angle, empty circumcircle property- directed_
hausdorff_ ty DirectedHausdorff : List Point2D -> List Point2D -> RealDirected Hausdorff distance from A to B: max_{a in A} min_{b in B} d(a,b)- discrete_
frechet_ distance_ ty DiscreteFrechetDistance : List Point2D -> List Point2D -> RealDiscrete Fréchet distance (dog-leash metric on vertices)- dual_
arrangement_ ty DualArrangement : HyperplaneArrangement -> List Point2DConvert a hyperplane arrangement to its dual point set- epsilon_
net_ bound_ ty EpsilonNetBound : Nat -> Real -> NatUpper bound on epsilon-net size: O((d/eps) log (d/eps)) for VC-dim d- epsilon_
net_ ty EpsilonNet : List Point2D -> Real -> List Point2DAn epsilon-net: a subset R such that every heavy range contains a point of R- event_
queue_ ty EventQueue : Type -> TypeA priority queue of future events ordered by event time- facility_
location_ ty FacilityLocation : List Point2D -> Real -> List Point2DMetric facility location: open facilities to minimise opening cost + assignment cost- fractional_
cascading_ ty FractionalCascading : List (List Real) -> Real -> List NatFractional cascading: simultaneously search k sorted arrays in O(k + log n) time- frechet_
distance_ ty FrechetDistance : List Point2D -> List Point2D -> RealFréchet distance between two polygonal curves- free_
space_ ty FreeSpace : Type -> (Type -> Prop)The free configuration space: obstacle-free subset of C-space- gale_
transform_ ty GaleTransform : List Point2D -> List Point2DThe Gale transform of a point configuration in general position- graham_
scan - Compute the convex hull of a set of points using Graham scan. Returns vertices in counter-clockwise order.
- hausdorff_
distance_ ty HausdorffDistance : List Point2D -> List Point2D -> RealHausdorff distance: max of directed Hausdorff distances- haussler_
packing_ lemma_ ty HausslerPackingLemma : Nat -> Nat -> NatHaussler packing lemma: upper bound on number of distinct projections- hyperplane_
arrangement_ ty HyperplaneArrangement : List (Hyperplane d) -> TypeA finite collection of hyperplanes inducing a cell decomposition- hyperplane_
ty Hyperplane : Nat -> Type— a hyperplane in ℝ^d defined by a normal vector and offset- in_
circumcircle - Test if point
pis inside or on the circumcircle of triangle (pa, pb, pc). Assumes the triangle is in CCW order. - interval_
intersection_ query_ ty IntervalIntersectionQuery : SegmentTree -> (Real × Real) -> List (Real × Real)Report all intervals overlapping a query interval- is_
convex_ polygon - Test if a polygon (given as CCW ordered vertices) is convex.
- is_
convex_ ty IsConvex : List Point2D -> Prop— polygon is convex- is_
delaunay_ ty IsDelaunay : List Point2D -> List (Nat × Nat × Nat) -> PropPredicate: the triangulation satisfies the Delaunay condition- is_
on_ convex_ hull_ ty IsOnConvexHull : Point2D -> List Point2D -> PropA point is on the convex hull of the set- jarvis_
march - Compute the convex hull using the Jarvis march (gift wrapping) algorithm. O(nh) where h is the hull size.
- k_
center_ approx_ ratio_ ty KCenterApproxRatio : NatBest known approximation ratio for k-center: 2 (Gonzalez 1985)- k_
center_ clustering_ ty KCenterClustering : List Point2D -> Nat -> List Point2Dk-center clustering: find k centers minimising the maximum cluster radius- k_
median_ clustering_ ty KMedianClustering : List Point2D -> Nat -> List Point2Dk-median clustering: find k centers minimising sum of distances- kd_
nearest - Find the nearest neighbour in a k-d tree to a query point.
- kd_
nearest_ rec - kd_
range_ query - Range query: find all points within distance
rof the query in the k-d tree. - kd_
range_ rec - kd_
tree_ query_ ty KdTreeQuery : KdTree -> Point2D -> Real -> List Point2DRange query: return all points within distance r of the query point- kd_
tree_ ty KdTree : Nat -> Type— a k-d tree for points in ℝ^k- kinetic_
certificate_ ty KineticCertificate : TypeA combinatorial predicate on moving objects that holds over a time interval- kinetic_
convex_ hull_ ty KineticConvexHull : Nat -> TypeMaintains the convex hull of n moving points in the plane- kinetic_
heap_ ty KineticHeap : Nat -> TypeA kinetic heap maintains the max of n objects with trajectories- kinetic_
tournament_ ty KineticTournament : Nat -> TypeA kinetic tournament on n moving points maintains the maximum- list_
nat_ ty - list_
point2d_ ty - list_ty
- min_
angle_ guarantee_ ty MinAngleGuarantee : List Point2D -> Real -> PropAll triangles in the refined mesh have minimum angle >= threshold- motion_
planning_ completeness_ ty MotionPlanningCompleteness : Type -> PropCompleteness of a motion planner: finds a path iff one exists- nat_ty
- nearest_
neighbour_ ty NearestNeighbour : (List Point2D) -> Point2D -> Point2DReturns the point in the set closest to the query- on_
segment - Check if point
rlies on segment (p, q) given collinearity. - orientation
- Compute the orientation of three points
- orthogonal_
range_ searching_ ty OrthogonalRangeSearching : List Point2D -> (Real × Real) -> (Real × Real) -> List Point2D2D orthogonal range searching using a range tree- pair_ty
- parallel_
binary_ search_ ty ParallelBinarySearch : List (Real × Real) -> List RealSimultaneous binary search over k sorted arrays- parametric_
search_ problem_ ty ParametricSearchProblem : TypeA decision problem parameterised by a real value lambda, monotone in lambda (used by Cole’s technique)- persistence_
diagram_ ty PersistenceDiagram : TypeA persistence diagram: multiset of (birth, death) pairs encoding homology lifetimes- pi
- point2d_
kernel_ ty Point2D : Type— a 2D point (x, y) ∈ ℝ²- point2d_
ty - point3d_
kernel_ ty Point3D : Type— a 3D point (x, y, z) ∈ ℝ³- point_
hyperplane_ dual_ ty PointHyperplaneDual : Point2D -> (Real -> Prop)Point-hyperplane duality: maps point (a,b) to the hyperplane y = ax - b- point_
in_ polygon - Test if a point is strictly inside a simple polygon using ray casting.
- point_
in_ polygon_ ty PointInPolygon : Point2D -> List Point2D -> PropRay casting: point is strictly inside the polygon- point_
location_ ty PointLocation : (List Point2D) -> Point2D -> NatReturns the index of the region containing the query point- polygon2d_
ty Polygon2D : List Point2D -> Type— polygon given as an ordered vertex list- polygon_
area - Compute the (positive) area of a simple polygon.
- polygon_
area_ ty PolygonArea : List Point2D -> RealSigned area of a simple polygon (shoelace formula)- polygon_
centroid - Compute the centroid of a simple polygon.
- polygon_
centroid_ ty PolygonCentroid : List Point2D -> Point2DCentroid (centre of mass) of a simple polygon- polygon_
perimeter - Compute the perimeter of a polygon.
- polygon_
perimeter_ ty PolygonPerimeter : List Point2D -> Real- polygon_
signed_ area - Compute the signed area of a simple polygon using the shoelace formula. Positive for CCW, negative for CW.
- probabilistic_
roadmap_ ty ProbabilisticRoadmap : Type -> Nat -> TypeA probabilistic roadmap: random samples in free C-space connected by a graph- prop
- query_
range_ tree_ 1d - Query a 1D range tree for all points with key in [lo, hi].
- range_
tree_ query_ ty RangeTreeQuery : RangeTree -> (Real × Real) -> (Real × Real) -> List Point2DOrthogonal range query: report all points in axis-aligned box [x1,x2] × [y1,y2]- range_
tree_ ty RangeTree : Nat -> TypeA range tree for d-dimensional orthogonal range searching- real_ty
- rrt_
path_ ty RRTPath : Type -> Point2D -> Point2D -> List Point2DRapidly-exploring random tree path from start to goal in free space- segment2d_
ty Segment2D : Type— a line segment in ℝ² defined by two endpoints- segment_
intersection - Compute the intersection point of two segments (if they intersect). Returns None if they are parallel or do not intersect.
- segment_
intersection_ point_ ty SegmentIntersectionPoint : Segment2D -> Segment2D -> Point2DThe intersection point of two segments (if it exists)- segment_
tree_ ty SegmentTree : TypeA segment tree storing intervals for stabbing/window queries- segments_
intersect - Test if two line segments (p1,p2) and (p3,p4) intersect. Uses orientation-based predicates.
- segments_
intersect_ ty SegmentsIntersect : Segment2D -> Segment2D -> PropPredicate: two line segments share a common point- shamos_
hoey_ algorithm_ ty ShamosHoeyAlgorithm : List Segment2D -> BoolReturns true iff any two segments intersect — O(n log n)- shape_
matching_ optimal_ ty ShapeMatchingOptimal : List Point2D -> List Point2D -> RealMinimum-cost shape matching under rigid motions- spatial_
hash_ insert_ ty SpatialHashInsert : SpatialHash -> Point2D -> SpatialHash- spatial_
hash_ ty SpatialHash : Nat -> Type— spatial hash map with grid resolution n- stabbing_
query_ ty StabbingQuery : SegmentTree -> Real -> List (Real × Real)Report all intervals containing the query point- steiner_
point_ ty SteinerPoint : List Point2D -> Point2DA Steiner point inserted to improve mesh quality- sweep_
line_ state_ ty SweepLineState : TypeThe ordered sequence of segments active at the current sweep-line position- triangle2d_
ty Triangle2D : Type— a triangle in ℝ² defined by three vertices- triangulation_
quality_ ty TriangulationQuality : List Point2D -> RealThe minimum angle over all triangles in a triangulation- triangulation_
ty Triangulation : List Point2D -> List (Nat × Nat × Nat)A triangulation maps a point set to a list of triangles (vertex index triples)- tukey_
depth_ ty TukeyDepth : List Point2D -> Point2D -> NatTukey (halfspace) depth of a point with respect to a point set- type0
- vc_
dimension_ ty VCDimension : (Point2D -> Prop) -> NatVC dimension of a set system (concept class) on ℝ²- voronoi_
cell_ ty VoronoiCell : List Point2D -> Nat -> (Point2D -> Prop)The i-th Voronoi cell: set of points closest to site i- voronoi_
diagram_ ty VoronoiDiagram : List Point2D -> List (List Point2D)Maps sites to their Voronoi cell boundary polygon vertices- zone_
theorem_ bound_ ty ZoneTheoremBound : Nat -> NatZone theorem: for a hyperplane h in an arrangement of n hyperplanes in ℝ^d, the complexity of the zone of h is O(n^{d-1})