2

所以我有一个 3D 图像,它通过仿射变换变成了一个空间。该变换由传统的 4x4 矩阵加上执行变换的中心坐标组成。如何反转该中心点以返回原始空间?我有坐标,但它是一个 1x3 向量(或 3x1,取决于行/列顺序)。我假设要获得适当的逆中心,我需要将向量设为 1x4,但如果是这种情况,我应该将什么放入第四个位置?明显的候选人是 0 和 1,但我不确定这是否是正确的做法。

这个想法是,如果我将图像转换到空间中,然后反转转换,则生成的图像应该是相同的(在重新采样的舍入误差/混叠效果内)。但是,目前,我只是使用相同的中心坐标,这会产生一个偏移了一定量的图像,而不是产生完全相同的图像。那么,我怎样才能改变那个中心点呢?

4

1 回答 1

1

我假设你的转变是这样的

x' = Mx + t

求解 x 应该给出

x = M_inv (x' - t) 

在 3D 坐标系中使用 4x4 矩阵通常意味着在齐次坐标中工作。您将乘法值存储在通常称为 w 的第 4 个坐标中。值 1 适用于位置,值 0 适用于向量。这是因为存储在矩阵 M 中的翻译信息应该只影响位置(这是一个非常基本的解释,抱歉)。所以,是的,否定翻译向量应该已经可以解决问题了。添加 0 作为第 4 个分量。

于 2010-05-24T17:32:05.540 回答