栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通用简单3D矩阵旋转问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通用简单3D矩阵旋转问题

您似乎对转换顺序有疑问。与数值乘法不同,矩阵乘法不是可交换的。3D应用程序对转换顺序非常敏感。

用英语讲:

如果

x
y
是数字,则
x * y
=
y * x

但是,如果

x
y
矩阵 ,则
x * y
y * x

考虑到这一点,让我们看看您在做什么。

test.mul(rotX, rotY);

为了可视化此乘法发生的情况,想象一下您的脑海中出现了一条直线。我们称这个为

LineUp
。现在,低头看着键盘,想象一下
LineUp
与您一起倾斜。现在将头旋转90度
LineUp
。那就是你的旋转矩阵正在发生的事情。疯了吧?

现在让我们像这样反转乘法:

test.mul(rotY, rotX);

因此,坐直并向前看,然后转头/身体/椅子。现在往下看。

LineUp
首先在真实轴上旋转,然后应用上/下变换。好玩吗

考虑矩阵变换的一种好方法就像必须按顺序排列的指令集。

  1. 向右转。(
    rotY
  2. 抬头 (
    rotX
  3. 移至计算机(
    translate
  4. …等等

更改一个操作的顺序会以滑稽和令人发指的方式更改所有后续指令。

您要构建的是一台相机,因此我强烈建议您阅读如何构建相机。

理解矩阵变换的一项重要工作是建立一个太阳系,其中包括绕月运行的卫星和旋转的行星。这将是令人大开眼界并且非常有用的内容。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440887.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号