1
18
我写了一个web程序,可以用来处理转换矩阵。它允许预设类型和自定义类型。
Play with it online 或 grab the source . 它应该很容易玩数字,并立即看到它如何影响房子绘图。看看在线的代码,确定它在做什么,你应该能够理解发生了什么。 如果你有困难,请意识到3_3矩阵只是被房子形状中的每个顶点(x&y坐标)相乘。矩阵与顶点相乘(我们现在将其称为向量),变换矩阵看起来是这样的…
左边是一个
identity matrix
(一个不影响向量的等幂矩阵)和1,2,0的向量(假设这映射到上面提到的程序图中的位置x1和y2,忽略最后一个
Matrix multiplication 可以想象成这样…
所以,在我们的例子中,那将是…
算出最后一个向量…
因为我们说我们的身份矩阵不应该修改这些值,我们可以在上面看到,这是因为结果向量与原始向量匹配。
要进一步解释,请考虑何时需要转换向量。假设我们想把房子翻译成
我们再做一次数学运算…
我们可以看到第一个数字(在我们的坐标系中的x)已经沿着x轴平移了
我们创造第三个价值的原因
如果你仍然有麻烦,请上网查看视频( this one ,它可以帮助以更直观的方式解释它。 记住:几乎每个人都能开车,而且几乎每个人都能学会这一点,尽管任何自我评价的数学理解力很差。坚持:坚持是关键。祝你好运。 |
2
8
正如Duffymo所指出的,矩阵变换只不过是(预先)将向量(如三维点)乘以矩阵。然而,这是纯粹的数学,有些人很难想象。 理解转换矩阵的最好方法(至少对我来说)是 示例代码 得到它 跑步 和 玩弄数字 . 尝试查看是否可以将对象放置在更远的位置,或旋转45度。尝试将转换放入 不同的顺序 看看结果如何。 都在工作?很好。 一旦你有了这种感觉,如果你有足够的勇气解决数学问题,你可以采取以下步骤: 首先,了解矩阵乘法是如何工作的。一些链接:
一旦你习惯了手工乘法一个矩阵,你就会明白为什么转换是这样写的。当你使用它们时,对矩阵的理解最终会到来。
第二,我总是建议花一个下午来实现你自己的
如果你已经走到了这一步,尝试实现你自己的视角转换吧!这是我们从未体会到的最神奇的事情。这里有一个有用的解释: 一旦你完成了一个最繁重的任务,但却没有得到赏识的实现一个矩阵对象,你就会为自己感到骄傲。祝你好运! |
3
6
一个变换只不过是一个矩阵乘以一个向量来得到变换后的向量,所以如果你不理解矩阵的乘法和加法,你就不会走得很远。 从矩阵和线性代数开始。外面有很多书,但是要意识到根据我上面的陈述,你不需要读整本书。你不需要特征值,高斯消去,向量空间,或其他任何先进和困难的东西。 你只需要知道如何扩展你所知道的关于乘法和加法的知识。 获取转换矩阵中的条目完全是另一回事。你需要一本关于数学和计算机图形学的好书。你在线性代数课本上找不到。 |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
Wadu Hek · 查找列表中唯一的重复项 2 年前 |
Crawford Patten · 如何获得整数列表的四分位数 2 年前 |
MoonGoose · 如何在python中围绕特殊字符创建空间? 2 年前 |
taha khamis · 在一个数字中组合元素的省道 2 年前 |
Soup · 比O(n)更快地找到阶乘n模m 2 年前 |
BigO · 单词积分游戏不断增加数字[关闭] 2 年前 |