-2

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

对于矩阵变换,它不应该-1(矩阵的右上角)用于平移而不是0 在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

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) 中很明显。

跨 Y 方向的缩放在 Matrix(2,2) 中给出。那边的2意思是,Y轴被拉长了2倍。

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

于 2012-06-04T09:21:13.483 回答
0

找到了第二个问题的答案。

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

于 2012-06-06T10:28:41.227 回答