【翻译】广告牌技术教程:我的物体在哪里?

When an object is placed in the world using translations and rotations it becomes hard to find its world coordinates. In this section a simple technique to find the whereabouts in world coordinates of an object is presented. It is assumed that the object is rendered in the local origin. The technique tells you where the local origin is in world coordinates.

当一个物体被使用平移和旋转操作而放置到世界坐标系中的时候,就很难直观的找到他在世界坐标空间中的坐标值。在这一部分一个简单的技巧可以用来找到当前物体在世界坐标系中的坐标值。假设物体是在局部坐标空间被渲染的。这个技巧告诉你局部坐标系的原点在世界坐标空间中的值。

 

Again we have to look at the modelview matrix. The position of the local origin in camera's coordinates is know, it is the v vector of the figure bellow. But since the local origin's position is dependent on both the camera's position and orientation, one can't just add that position to the camera position.

我们需要再一次观察模型视图矩阵。局部坐标原点在在相机空间中的坐标值是已知的,它就是下图中的v向量。但是由于局部坐标系原点的位置是由相机位置和旋转分量共同决定的,因此你不能简单的将局部坐标系原点的值加上相机的位置。

What is needed is to reverse the orientation of the camera back to a coordinate system with axis aligned with the world coordinate system, then we can add the camera position to the object's position relative to the camera. This sum will provide the position of the object in world coordinates.

所需要做的就是对相机进行逆操作使它处于这样一个坐标空间中,这个坐标空间的坐标轴和世界坐标系的坐标轴平行,接着我们便可以将照相机的位置加到物体位置上面。这个和就是物体位置在世界坐标空间的值。

In order to reverse the orientation of the camera we use the inverse of M1. As mentioned before, the inverse of M1 is the transpose.

 

The object's position in world coordinates is therefore given by the expression

为了逆操作相机我们使用M1矩阵的逆矩阵。正如先前提到的,M1的逆矩阵就是他的转置矩阵。因此物体位置的坐标在世界坐标空间的值就可以用这个表达式给出。

objPosWC = camPos + M1T * V

where camPos is the camera position in world coordinates, and M1T is the transpose of M1.

这个表达式里面camPos是相机的位置在世界坐标空间中的值,M1T矩阵是M1矩阵的转置矩阵。

posted on 2013-04-13 00:55  乐观的vc  阅读(188)  评论(0编辑  收藏  举报