Akeldov.Math.Spatial2D
1.0.0
See the version list below for details.
dotnet add package Akeldov.Math.Spatial2D --version 1.0.0
NuGet\Install-Package Akeldov.Math.Spatial2D -Version 1.0.0
<PackageReference Include="Akeldov.Math.Spatial2D" Version="1.0.0" />
<PackageVersion Include="Akeldov.Math.Spatial2D" Version="1.0.0" />
<PackageReference Include="Akeldov.Math.Spatial2D" />
paket add Akeldov.Math.Spatial2D --version 1.0.0
#r "nuget: Akeldov.Math.Spatial2D, 1.0.0"
#:package Akeldov.Math.Spatial2D@1.0.0
#addin nuget:?package=Akeldov.Math.Spatial2D&version=1.0.0
#tool nuget:?package=Akeldov.Math.Spatial2D&version=1.0.0
Akeldov.Math.Spatial2D
Akeldov.Math.Spatial2D is a .NET library for practical two-dimensional geometry, vector math, contours, regions, rasterization, spatial sampling, partitioning, and influence field utilities.
Features
The library is organized around practical 2D geometry workflows.
Core Geometry
- Point and vector types:
PointXY,VectorXY, andVectorXYInt. - Vector math helpers for distance, transformations, rounding, scaling, and serialization.
- Linear and circular curve primitives, including parameterized lines, segments, arcs, and paths.
- Quadratic, cubic, and arbitrary-degree Bézier curves.
- Projection, distance, intersection, angle, contour, and centroid helpers.
Boundaries and Areas
- Closed contours made from bounded parameterized curves, including circular and rectangular contours.
- Filled regions with holes and nested contours.
- Axis-aligned, oriented, and normalized rectangle primitives.
- Contour smoothing and corner filleting helpers.
- Signed point-distance contracts for contours and regions.
Rasterization and Imaging
- Generic raster abstractions and axis-aligned raster geometry with bounds- and pixel-density-based construction.
- Deterministic Perlin-noise generation and Gaussian blur for floating-point rasters.
- Mutable non-spatial
Raster<T>and world-spaceSpatialRaster<T>data. - Distance, signed-distance, and stroke rasterizers for curves, contours, regions, and collections.
- 8-bit and 16-bit grayscale and RGBA color types.
- Color helpers for normalized values, blending, and temperature heat maps.
- Generic geometry scenes with composable shape and TrueType text layers.
- 8-bit BMP and 8-/16-bit PNG export helpers with configurable PNG compression.
Spatial Sampling and Partitioning
- Poisson disk point sampling with constant or spatially varying minimal distance.
- Weighted Voronoi partitioning for positioned items.
Influence Fields
- Influence fields for sampling Boolean, integer, and floating-point values from point or curve sources.
- Source culling and interpolation strategies for local field behavior.
- Heat map rasterization for floating-point influence fields.
Documentation
Documentation is available at:
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Akeldov.Math.Spatial2D:
| Package | Downloads |
|---|---|
|
Akeldov.Math.Hexes
Hex-grid geometry, axial coordinates, topology, pathfinding, rasterization, chromatization, polyhex contours, and weighted Voronoi utilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Added pairwise intersection extension APIs for lines, rays, segments, parameterized segment chains, arcs, circles, and quadratic and cubic Bezier curves, using exact polynomial root isolation where applicable. Added a shared generic cell-center rasterization core and generic distance and parameterized-curve rasterizers that replace the color-specific rasterizer classes. Replaced influence-source cullers with reusable IInfluenceSourceIndex implementations, including DelaunayInfluenceSourceIndex and HalfPlaneInfluenceSourceIndex. Breaking changes include removing BezierCurve in favor of QuadraticBezier and CubicBezier, removing legacy ray-intersection members from curve and contour abstractions in favor of concrete extension APIs, splitting rightward-crossing and contour-path capabilities into dedicated contracts, removing geometryEpsilon from signed-distance members, and removing the replaced culler and color-specific rasterizer APIs. Rectangular regions and contours now accept non-negative dimensions: one zero dimension represents a line segment, and the default value represents the origin point. Eliminated transient per-query allocations in Delaunay influence-source selection and per-cell arc-intersection allocations in contour signed-distance rasterization, restoring or improving the 0.9.0 benchmark baseline. Expanded curve-intersection, rasterization, influence-field, public-API, test, benchmark, and bilingual documentation coverage.