工具介绍
用于 2D/3D/4D 向量、矩阵、四元数和几何代数的 C++ 数学库。
Terathon 算数库 这是一个 C++ 算数库,包含用于向量、矩阵、四元数和投影几何代数元素的类。具体的类如下:
- Vector2D – 2D 向量 (x、 y) 扩展为四维向量 (x、 y、 0、 0)。
- Vector3D – 3D 向量 (x、 y、 z) 扩展为四维向量 (x、 y、 z、 0)。
- Vector4D – 4D 向量 (x、 y、 z、 w。)
- Point2D – 2D 点 (x、 y) 扩展为四维点 (x、 y、 0、 1)。
- Point3D – 3D 点 (x、 y、 z) 扩展为四维点 (x、 y、 z、 1)。
- Bivector3D – 3D 双向量 x e23 + y e31 + z e12。
- Matrix2D – 2×2 矩阵。
- Matrix3D – 3×3 矩阵。
- Matrix4D – 4×4 矩阵。
- Transform2D – 3×3 矩阵,第四行始终为 (0、 0、 1)。
- Transform3D – 4×4 矩阵,第四行始终为 (0、 0、 0、 1)。
- Quaternion – 常规四元数 xi + yj + zk + w。
- DualNum – 双数 s + tε。
2D 刚体几何代数 * FlatPoint2D – 2D 平面点 x e1 + y e2 + z e3。 * Line2D – 2D 直线 x e23 + y e31 + z e12。 * Motor2D – 2D 运动运算符 Qx e1 + Qy e2 + Qz e3 + Qw。 * Flector2D - 2D 反射运算符 Fx e23 + Fy e31 + Fz e12 + Fw 1。
3D刚体几何代数
- FlatPoint3D – 3D 平面点 x e1 + y e2 + z e3 + w e4。
- Line3D – 3D 线 lvx e41 + lvy e42 + lvz e43 + lmx e23 + lmy e31 + lmz e12。
- Plane3D – 3D 平面 x e234 + y e314 + z e124 + w e321。
- Motor3D – 3D 运动运算符 Qvx e41 + Qvy e42 + Qvz e43 + Qvw + Qmx e23 + Qmy e31 + Qmz e12 + Qmw 1.
- Flector3D - 3D [反射运算符](https://rigidg