Euclid 0.3.0
Prefix ReservedSee the version list below for details.
dotnet add package Euclid --version 0.3.0
NuGet\Install-Package Euclid -Version 0.3.0
<PackageReference Include="Euclid" Version="0.3.0" />
paket add Euclid --version 0.3.0
#r "nuget: Euclid, 0.3.0"
// Install Euclid as a Cake Addin #addin nuget:?package=Euclid&version=0.3.0 // Install Euclid as a Cake Tool #tool nuget:?package=Euclid&version=0.3.0
Euclid
Euclid is a 2D and 3D geometry library without dependencies. It is mostly focused on creating and manipulating primitives such as points, vectors, lines, planes, boxes, and bounding boxes, and polylines. For transformations of those there are rotations, quaternions, 4x4 and rigid ortho normal 4x3 matrices.
Written in F# and designed for use with F#. All primitive types are immutable and functions are curried where appropriate. This library is intended to be used for design, construction and manufacturing too. So it is using double precision floating point numbers for all values. (While most geometry libraries for games use single precision floats.)
This library can be used in JavaScript via Fable too.
See Euclid.Rhino for converting form and to Rhino3D geometry.
Documentation
This library assumes a right handed coordinate system with the Z-axis pointing up. Just like Rhino3D, SketchUp, Revit, AutoCAD and Blender have it. But unlike Unity or Unreal Engine.
In this library a point is a position in space, a vector is a direction in space. A 4x4 transformation matrix applied to a vector will only rotate and scale the vector but not translate it. ( = Homogeneous coordinates)
For the full API see fuget.org for now.
License
Release Notes
0.3.0
- renamed OrthoMatrix to RigidMatrix
- add DataMember Attributes for serialization
- ofXZY functions renamed to createFromMembersXYZ
- add DivideByInt static members for Array.average and Array.sum for functions
- fixed typos, improve documentation
0.2.1
- fix fable support
0.2.0
- fable support
- improved xml documentation
0.1.0
- first public release
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | 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. |
.NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- FSharp.Core (>= 4.5.2)
-
net6.0
- FSharp.Core (>= 4.5.2)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Euclid:
Package | Downloads |
---|---|
Euclid.Rhino
Utilities to use types from Euclid in Rhino3d |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.11.1 | 383 | 10/1/2024 |
0.11.0 | 115 | 9/25/2024 |
0.10.0 | 108 | 9/19/2024 |
0.9.0 | 552 | 7/6/2024 |
0.8.0 | 337 | 5/2/2024 |
0.7.0 | 114 | 4/29/2024 |
0.6.1 | 184 | 2/17/2024 |
0.6.1-a | 97 | 2/13/2024 |
0.5.0 | 283 | 1/6/2024 |
0.4.1 | 133 | 12/2/2023 |
0.4.0 | 124 | 11/28/2023 |
0.3.0 | 134 | 10/22/2023 |
0.2.1 | 272 | 2/26/2023 |
0.2.0 | 301 | 2/4/2023 |
0.1.0 | 286 | 1/21/2023 |
0.0.0 | 339 | 11/2/2022 |
- renamed OrthoMatrix to RigidMatrix
- add DataMember Attributes for serialization
- ofXZY functions renamed to createFromMembersXYZ
- add DivideByInt static members for Array.average and Array.sum for functions
- fixed typos, improve documentation