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                
#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                

Euclid

code size

Logo

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

许可证

MIT

发布说明

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 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard

NuGet 包 (1)

显示依赖于 Euclid 的前 1 个 NuGet 包

下载
Euclid.Rhino

用于在 Rhino3d 中使用 Euclid 类型的小工具

GitHub 仓库

此包未在任何流行的 GitHub 仓库中使用。

版本 下载 最后更新
0.9.0 107 7/6/2024
0.8.0 289 5/2/2024
0.7.0 92 4/29/2024
0.6.1 165 2/17/2024
0.6.1-a 69 2/13/2024
0.5.0 261 1/6/2024
0.4.1 113 12/2/2023
0.4.0 94 11/28/2023
0.3.0 114 10/22/2023
0.2.1 247 2/26/2023
0.2.0 274 2/4/2023
0.1.0 262 1/21/2023
0.0.0 317 11/2/2022

- 为平面模块中的angel函数添加后缀'90'
     - 提高π字面量的精度
     - 在isTiny函数中包含NaN检查