几何学 (Geometria)

Swift

用于在 Swift 中处理 2 维和 3 维几何体的定义和算法的集合。

(README.md 仍在构建中。)

类型定义

N 维
基本类型 图示 几何学类型 备注
轴对齐包围盒 AABB.swift 定义为两个点向量,描述 AABB 内包含的最小和最大坐标。
射线(单位向量方向) DirectionalRay.swift 定义为起始点向量和一个 单位向量,描述射线的方向。
从概念上讲,它仅在其两个端点之一(由其方向单位向量指向)延伸到无穷远。
N 维椭球体 Ellipsoid.swift 定义为中心点向量和轴向量。
超平面 Hyperplane.swift 定义为平面上的一个点向量和一个与超平面表面正交的 单位向量。 定义了它所包含的空间的两个 半空间之间的分割。 被认为是凸的,体积空间,可以与线相交并包含点。
直线 Line.swift 定义为直线上的两个点向量对。 从概念上讲,它在两端都延伸到无穷远。
线段 LineSegment.swift 定义为直线上的起点和终点向量。 从概念上讲,它仅包含在开始 <-> 结束的限制范围内。
N 维胶囊体 NCapsule.swift 定义为一个线段,包含两个点向量,描述胶囊体的跨度,以及一个标量半径,定义了点被认为包含在胶囊体内的最大距离(到线段的距离)。
在 2D 中专门化为 Stadium,在 3D 中专门化为 Capsule。
超矩形 NRectangle.swift 定义为原点(二维中的左上角)点向量和一个 N 维大小向量。
N 维球体 NSphere.swift 定义为中心点向量和一个标量半径。
N 维立方体(超立方体) NSquare.swift 推广到任何维度。
定义为原点(二维中的左上角)点和一个标量值,描述了立方体在每个维度上的跨度。
在 2D 中形成正方形,在 3D 中形成立方体。
平面 PointNormalPlane.swift 定义为平面上的一个点向量和一个与平面表面正交的 单位向量
射线(两点) Ray.swift 定义为一对点 start 和 b,描述射线在投影到无穷远之前穿过的两个点。
在定义上类似于直线和线段,但向一个方向延伸到无穷远。
三角形 Triangle.swift 定义为三个点向量的集合。

GeometriaClipping

导出的一个额外的库依赖项 GeometriaClipping 可用于从由线和圆弧单形组成的输入几何体生成布尔几何体。

支持的操作如下:

二维
操作 图示 GeometriaClipping 类型
并集 Union2Parametric.swift
交集 Intersection2Parametric.swift
差集 Subtraction2Parametric.swift
异或或对称差 ExclusiveDisjunction2Parametric.swift