如何用变换矩阵变换原点

how to transform point at origin with transformation matrix

我想用变换矩阵将 vector(0,0,0) 变换到一个新点,但是如果你进行变换 [matrix * v],你每次都会在 vector(0,0,0) 处结束。我想我需要做一个额外的步骤才能最终工作。

用 3x3 矩阵转换 3D 零向量将始终得到零向量,因为 3x3 矩阵只能表示线性变换。但是翻译不是线性的。因此,您需要使用齐次坐标和 4x4 矩阵。如果你有一个 4x4 的平移矩阵,你需要添加 1 作为向量的第四维,所以它会得到 (0, 0, 0, 1) 并用你的矩阵转换它。如果矩阵只是一个平移(或者一般来说是一个仿射变换),你只需要切断第四维就可以得到最终的三维向量。