这种矩阵变换如何正确? (初学者)

时间:2012-05-29 11:38:11

标签: c++ opengl matrix

我被困在一个问题上,因为我不完全确定矩阵堆栈在这种情况下是如何工作的。 如果有人可以给我一步一步的过程,表明这个例子在这里发生了什么: 答案是问题。enter image description here

1 个答案:

答案 0 :(得分:2)

让我们在正确答案中引用球(数字也是绘图顺序):

4 - 2
3 1 -

我们从(0,0)开始并转换为(2,0)。我们画球1.这里没什么好看的。

我们保存当前的转换矩阵。

然后我们从(2,0)转换为向量(2,2),所以我们最终得到(4,2)。我们画球2.也不狡猾。

我们弹出矩阵。这意味着它会在最后一次推送之前丢弃所有转换。所以我们最终回到(2,0),这是我们之前推动变换矩阵的地方。

我们从(2,0)翻译矢量(-2,0),所以我们最终在(0,0),我们画球3。

然后我们从(0,0)转换为向量(0,2),所以我们最终得到(0,2),我们画出球4。