Euclid 是一个 Swift 库,用于创建和操作 3D 几何体,它使用诸如拉伸或“车削”2D 路径来创建实体 3D 形状,以及 CSG(构造实体几何)将这些形状相互组合或相减等技术。
Euclid 是开源 ShapeScript 脚本语言和 ShapeScript Mac 和 iOS 应用的底层实现。 您可以在 ShapeScript 中构建的任何内容都可以使用此库以编程方式在 Swift 中复制。
如果您想支持 Euclid 的开发,请考虑购买 ShapeScript 的副本(该应用程序本身是免费的,但有一个应用内购买可以解锁某些功能)。 您也可以通过 PayPal 直接捐赠给该项目
Euclid 被打包为一个动态框架,您可以将其导入到您的 Xcode 项目中。您可以手动安装,也可以使用 CocoaPods、Carthage 或 Swift Package Manager 进行安装。
注意: Euclid 需要 Xcode 14+ 才能构建,并在 iOS 11+ 或 macOS 10.13+ 上运行。
要使用 CocoaPods 安装 Euclid,请将以下内容添加到您的 Podfile
pod 'Euclid', '~> 0.7.8'
要使用 Carthage 安装,请将以下内容添加到您的 Cartfile
github "nicklockwood/Euclid" ~> 0.7.8
要使用 Swift Package Manager 安装,请将以下内容添加到您的 Package.swift 文件中的 dependencies:
部分
.package(url: "https://github.com/nicklockwood/Euclid.git", .upToNextMinor(from: "0.7.8")),
如果您对如何使用该库有疑问,或者认为您可能发现了错误,请随时在 Github 中提交 issue。
如果您希望为文档或代码本身贡献改进,那就太好了! 但在提交拉取请求之前,请阅读 CONTRIBUTING.md 文件。
有关 Euclid 如何与 SceneKit 或 RealityKit 结合使用以在 iOS 上生成和渲染重要的 3D 形状的示例,请参见随附的项目。
可以在此处找到所有 Euclid 类型和函数的完整文档。
Euclid 框架主要由 Nick Lockwood 完成。
特别感谢 Evan Wallace,他的 JavaScript CSG 库为 Euclid 提供了最初的灵感,以及用于 Euclid CSG 操作的 BSP 算法。
还要感谢 Joseph Heck 实现 DocC 文档,Andy Geers 修复了几个错误并进行了改进,以及 Patrick Goley,他首先建议将“Euclid”作为库名。
(贡献者完整列表)