Android中“preconcat”矩阵意味着什么?

时间:2010-04-23 01:01:51

标签: android view canvas

在审核中:http://developer.android.com/reference/android/graphics/Canvas.html

我想知道

translate():“使用指定的翻译预先锁定当前矩阵” - 这是什么意思?

我无法在互联网上的任何地方找到“preconcat”的好定义!我能找到它的唯一地方是Android源码 - 我开始怀疑它们是否成功了? :)

我熟悉“concat”或连接,这是附加的,那么什么是pre-concat?

2 个答案:

答案 0 :(得分:31)

使用矩阵时,连接一词指的是乘法。

由于矩阵乘法不是可交换的,因此向后乘法有一个单独的词 将a预先连接到b意味着设置a = b × a。 (与a = a × b相反,它将提供不同的矩阵)

答案 1 :(得分:0)

这只是Google及其代码中不包含单词和词缀的开发的另一个示例。如果我运行authorith,我会对此加以罚款。基本而言,这意味着从右侧乘以现有矩阵,并且因为在向量变换中右边的一个首先移动,所以它是“ pre-”。例如,如果要缩放图像并移动到另一个位置,则应键入:

    mCanvas.translate(tx,ty);
    mCanvas.scale(sx,sy);
    mCanvas.drawBitmap(mBitmap,0,0,mPaint);

它与常识逻辑的顺序相反。