合并多个转换矩阵

时间:2014-03-01 23:05:35

标签: algorithm math pseudocode

我正在尝试开发基于手势的转换功能。

我对于通过自己的支点合并许多转换矩阵感到困惑。

实际上我正在尝试使用这样的函数:

matrix4x4 transform(matrix4x4 prevMatrix, vector3 pivot, vector3 deltaTranslation, float deltaRotation, float deltaScale){
     'magic is here..
}
'First call
var temp = transform(identity, (.5,.5,0), (0.1,0.2), 0.1, 105deg);
renderCanvas(temp);
'Second call
temp = transform(temp, (0, 0), (-1, 2), -.8, 120deg);
renderCanvas(temp);

当我在画布上应用矩阵变换(第一次调用)时,它起作用,因为没有先前的旋转或缩放。

但是对于第二次调用,由于旋转,翻译看起来在错误的轴上(例如,你向右滑动,但你看到画布翻译到底部)

那么,是否有任何解决方案,或者我应该更清楚?

0 个答案:

没有答案