矩阵变换和纹理映射协调混淆(初学者)

时间:2012-06-04 09:09:41

标签: c++ opengl vector matrix transformation

我正在对矩阵变换和纹理映射做一些问题,我遇到了两个问题,我不知道如何得到答案。答案用红色突出显示。 (这些可以用C ++实现,但在我做之前我只是想先熟悉转换)

对于矩阵变换,它不应该有-1(矩阵的右上角)而不是0 enter image description here

编辑:仍然需要回答第二个问题 我的第二个问题是,我不确定他们是如何获得y coordinate for point D

enter image description here

2 个答案:

答案 0 :(得分:3)

回答第一个问题:

将得到的图像沿x轴压缩成一半,并在Y轴上拉长两倍。

缩放矩阵就是答案。缩放矩阵是具有元素{X-scaling, Y-scaling, 1}的对角矩阵。

现在,

| 0.5 0 0 |
|  0  2 0 |
|  0  0 1 |

是典型的缩放矩阵。它将x轴缩放0.5(即将x轴拉伸(压缩)为一半)。这在Matrix(1,1)中很明显。

在矩阵(2,2)中给出了Y方向的缩放。那边的2暗示,Y轴伸长了2倍。

注意: 在这个问题中,涉及无翻译。请注意,简单缩放使其看起来像翻译。

答案 1 :(得分:0)

找到第二个问题的答案。

B点上方的角必须具有y坐标1,否则您将看不到底面。因此,对于点D,您需要y坐标2.如果从B到角点到D,则文本图像重复两次。