我正在使用光线拾取,现在拥有世界矩阵中的坐标。如何将其转换为我的对象本地坐标?
可能将对象的本地坐标转换为世界坐标。
答案 0 :(得分:1)
你的问题不清楚。你说你使用光线拾取,我在你选择图像中像素的位置时读取/理解,并从点屏幕空间坐标计算世界点坐标,最后你想在对象空间坐标中得到这个点? / p>
通常,大多数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/