我正在使用光线拾取,现在有了世界矩阵中的坐标。如何将其转换为我的对象本地坐标?
也许将对象的本地坐标转换为世界坐标。
你的问题不清楚。你说你使用光线拾取,当你选择图像中像素的位置并从点屏幕空间坐标计算世界点坐标时,我会阅读/理解它,最后你想在对象空间坐标中得到这个点吗?
通常,大多数 3D 对象都应用 4x4 矩阵变换以在空间中进行变换(缩放、旋转、移动)。当您的对象没有应用此变换时,它被称为处于绑定姿势或对象空间。当矩阵 M 应用于对象时,所得到的变换对象被称为在世界空间中。如果您有矩阵 M(您知道用于将对象从对象空间转换到世界空间的矩阵)并且您已经能够在世界空间中的对象上选择一个点(例如它的一个顶点)并且想知道该点在对象空间中的位置是什么,那么您需要做的就是将矩阵逆 M-1 应用于该点坐标(其中 M 再次是从对象到世界空间的矩阵)。
从技术上讲,要使其正常工作,您需要了解:
如果您对矩阵和矩阵变换还不熟悉或不熟悉,我强烈建议您阅读 www.scratchapixel.com,尤其是关于矩阵的课程(第 4 课)。
矩阵课:http ://scratchapixel.com/lessons/3d-basic-lessons/lesson-4-geometry/
计算矩阵逆的课程:http ://www.scratchapixel.com/lessons/3d-advanced-lessons/matrix-inverse-row-reduction/