Euclid 0.9.0
前缀已保留dotnet add package Euclid --version 0.9.0
NuGet\Install-Package Euclid -Version 0.9.0
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Euclid" Version="0.9.0" />
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用包。
paket add Euclid --version 0.9.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
#r "nuget: Euclid, 0.9.0"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将其复制到交互式工具或脚本的源代码中以引用包。
// Install Euclid as a Cake Addin #addin nuget:?package=Euclid&version=0.9.0 // Install Euclid as a Cake Tool #tool nuget:?package=Euclid&version=0.9.0
NuGet 团队不提供对此客户端的支持。请联系其 维护者 以获得支持。
Euclid
Euclid 是一个无依赖关系的 2D 和 3D 几何库。它主要专注于创建和操作点、向量、线、平面、盒子和边界框以及折线等原始元素。对这些元素进行转换时,包含旋转、四元数、4x4 和刚体正交正交 4x3 矩阵。
用 F# 编写,并设计用于与 F# 一起使用。所有原始类型都是不可变的,并且函数在适当的地方是 curried。此库旨在用于设计和建造。因此,它使用双精度浮点数来表示所有值。(而大多数游戏用的几何库使用单精度浮点数。)
此库也可以通过 Fable 在 JavaScript 中使用。
请参见 Euclid.Rhino 将形状转换为 Rhino3D 几何形状。
文档
此库假定使用右手坐标系,Z轴向上。与Rhino3D、SketchUp、Revit、AutoCAD和Blender一样。但与Unity或Unreal Engine不同。
在此库中,一个点是在空间中的一个位置,一个向量是在空间中的一个方向。对向量应用4x4转换矩阵只会旋转和缩放向量,而不会平移它。(=齐次坐标)
有关完整API信息,请参阅 fuget.org。
许可证
发布说明
0.9.0
- 在平面模块中的角度函数后添加后缀'90'。
- 改进Pi字面量的精度。
- 在isTiny函数中包含NaN检查。
0.8.0
- 修复行分割。
- 重命名Rect.create函数。
0.7.0
- 重构偏移量。
- 添加拓扑排序。
0.6.1
- 从错误消息中移除反射以获得更优雅的Fable输出。
- 将Rect.Rotate重命名为Rect.RotateOrientation。
- 添加Rect.grid。
- 修复Rect.subdivide。
0.5.0
- 允许使用零容差执行相等检查。
- 改进docstring。
- 添加更多角度计算函数。
- 将distanceFromPoint重命名为distanceToPt。
- 添加rotateByQuarterCircle。
- 为Lines添加ExtendRel函数。
- 使用***作为点积和矩阵乘法的运算符。
- 为Lines和Rects添加带间隙的分割。
0.4.1
- 修复rect.Edge23中的错误。
- 添加BBox.createFromIList。
0.4.0
- 添加Line.withLengthFromMid。
- 重命名isAngleLessThan函数。
- 为向量添加球形插值(slerp)。
- 将Boxes和Rects中的Length重命名为Width。
- 将Rects中的Width重命名为Height2D。
- 将Boxes中的Width重命名为Depth。
- 在Rects和Boxes中添加EdgeMethods。
0.3.0
- 将OrthoMatrix重命名为RigidMatrix。
- 为序列化添加DataMember属性。
- 将ofXZY函数重命名为createFromMembersXYZ。
- 为Array.average和Array.sum函数添加DivideByInt静态成员。
- 修复拼写错误,改进文档。
0.2.1
- 修复fable支持。
0.2.0
- fable支持
- 改进xml文档。
0.1.0
- 首次公开发布
产品 | 版本 兼容和计算目标框架版本。 |
---|---|
.NET | net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst 已计算。 net6.0-macos 已计算。 net6.0-tvos 已计算。 net6.0-windows 已计算。 net7.0 已计算。 net7.0-android 已计算。 net7.0-ios 已计算。 net7.0-maccatalyst 已计算。 net7.0-macos 已计算。 net7.0-tvos 已计算。 net7.0-windows 已计算。 net8.0 已计算。 net8.0-android 已计算。 net8.0-browser 已计算。 net8.0-ios 已计算。 net8.0-maccatalyst 已计算。 net8.0-macos 已计算。 net8.0-tvos 已计算。 net8.0-windows 已计算。 |
.NET 框架 | net472 兼容。 net48 已计算。 net481 已计算。 |
-
.NETFramework 4.7.2
- FSharp.Core (>= 5.0.2)
-
net6.0
- FSharp.Core (>= 5.0.2)
NuGet 包 (1)
显示依赖于 Euclid 的前 1 个 NuGet 包
包 | 下载 |
---|---|
Euclid.Rhino 用于在 Rhino3d 中使用 Euclid 类型的小工具 |
GitHub 仓库
此包未在任何流行的 GitHub 仓库中使用。
- 为平面模块中的angel函数添加后缀'90'
- 提高π字面量的精度
- 在isTiny函数中包含NaN检查