Akeldov.Math.Spatial2D
0.9.0
See the version list below for details.
dotnet add package Akeldov.Math.Spatial2D --version 0.9.0
NuGet\Install-Package Akeldov.Math.Spatial2D -Version 0.9.0
<PackageReference Include="Akeldov.Math.Spatial2D" Version="0.9.0" />
<PackageVersion Include="Akeldov.Math.Spatial2D" Version="0.9.0" />
<PackageReference Include="Akeldov.Math.Spatial2D" />
paket add Akeldov.Math.Spatial2D --version 0.9.0
#r "nuget: Akeldov.Math.Spatial2D, 0.9.0"
#:package Akeldov.Math.Spatial2D@0.9.0
#addin nuget:?package=Akeldov.Math.Spatial2D&version=0.9.0
#tool nuget:?package=Akeldov.Math.Spatial2D&version=0.9.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 deterministic Perlin-noise generation for spatial and non-spatial floating-point rasters, Gaussian blur with geometry-preserving spatial overloads, configurable PNG compression, and point-only ray intersection APIs. Custom ICurve implementations must now implement GetPointIntersections(Ray); GetRayIntersections remains available but is obsolete. Existing SaveAsPng overloads now use optimal compression by default. Fixed CompositeContour.Encloses and ContourBasedRegion.Contains/SignedDistance so points on outer and hole boundaries satisfy the documented boundary-inclusive contract. Expanded raster, PNG, curve-intersection, containment, public-API analysis, benchmark, test, and bilingual documentation coverage.