擅长:python、mysql、java
<p>我不明白你建立旋转矩阵的方法。对我来说似乎很复杂。通常,它是通过构造一个零矩阵,将<code>1</code>放在不需要的轴上,将公共的<code>sin</code>、<code>cos</code>、<code>-cos</code>、<code>sin</code>放在两个使用的维度中来构建的。然后将所有这些相乘。</p>
<p>你从哪里得到这个<code>np.eye(3) + np.sin(angle) * skew(axis) + (1 - np.cos(angle)) * skew(axis).dot(skew(axis))</code>构造的?</p>
<p>尝试从基本构建块构建投影矩阵。构造一个旋转矩阵是相当容易的,而且“旋转矩阵点偏斜矩阵”应该可以工作。</p>
<p>你可能需要注意旋转中心。您的图像可能位于z轴上的虚拟位置1,因此通过在x或y轴上旋转,它会移动一点。
所以你需要使用一个平移,使z变成0,然后旋转,然后向后平移。(仿射坐标系中的平移矩阵也很简单。见维基百科:<a href="https://en.wikipedia.org/wiki/Transformation_matrix" rel="nofollow">https://en.wikipedia.org/wiki/Transformation_matrix</a>)</p>