我在3d空间中有一个带有法线向量(0, 0, -1)
的墙,我需要通过旋转向量旋转此向量。例如,按(0, Math.PI, 0)
转换会产生(0, 0, 1)
。
我对编码矢量运算本身不感兴趣,而不是我更喜欢知道需要哪些操作,然后从广泛的OpenTK数学类中调用它们。
在搜索互联网和其他相关问题后,我接受这些概念超出了我目前的数学能力。虽然我理解理解矢量数学在3d编程中非常重要,但时间非常宝贵,此时,我的主要工作是快速开发我的程序。
每个墙的模型矩阵用:
创建Matrix4 modelMatrix = Matrix4.CreateRotationX(rotation.X) * Matrix4.CreateRotationY(rotation.Y) * Matrix4.CreateRotationZ(rotation.Z) * Matrix4.CreateTranslation(position);