简介
Euclid 是一个 Swift 库,使用诸如扩展或“车削”二维路径来创建实体三维形状等技术来创建和处理三维几何形状,并由 CSG(构造固体几何)组合或从彼此中减去这些形状。
Euclid 是开源脚本语言 ShapeScript 的底层实现,以及 ShapeScript Mac 和 iOS 应用程序。您可以使用该库将 ShapeScript 中构建的任何内容以编程方式在 Swift 中复制。
如果您想支持 Euclid 的发展,请考虑购买 ShapeScript 的副本(应用程序本身是免费的,但有一个应用内购买项目以解锁一些功能)。您也可以通过 PayPal 直接向项目捐款。
安装
Euclid 是一个动态框架,您可以将它导入到 Xcode 项目中。您可以手动安装,或者使用 CocoaPods、Carthage 或 Swift 包管理器。
注意:Euclid 需要 Xcode 14+ 来构建,在 iOS 11+ 或 macOS 10.13+ 上运行。
要使用 CocoaPods 安装 Euclid,请将以下内容添加到您的 Podfile 中:
pod 'Euclid', '~> 0.6'
要使用 Carthage 安装,请将以下内容添加到您的 Cartfile 中:
github "nicklockwood/Euclid" ~> 0.6
要使用 Swift 包管理器安装,请将以下内容添加到您的 Package.swift 文件的 dependencies:
部分:
.package(url: "https://github.com/nicklockwood/Euclid.git", .upToNextMinor(from: "0.6.0")),
贡献
如果您在使用库方面有任何疑问,或者认为可能发现了一个错误,请在Github上免费打开一个问题。
如果您想为文档或代码本身做出贡献,那太好了!但在提交拉取请求之前,请阅读CONTRIBUTING.md文件。
示例
查看包含的项目,了解如何结合使用Euclid、SceneKit或RealityKit在iOS上生成和渲染非平凡的三维形状的示例。
文档
关于所有Euclid类型和函数的完整文档可以在此处找到。
致谢
Euclid框架主要是Nick Lockwood的作品。
特别感谢Evan Wallace,他的JavaScript CSG库最初为Euclid提供了灵感,并启发了Euclid的CSG操作所使用的BSP算法。
此外,还要感谢 Joseph Heck 实现 DocC 文档,Andy Geers 进行了多个错误修正和改进,以及最初建议将“Euclid”作为库名的 Patrick Goley。
(贡献者完整名单)