从at和eye矢量计算右,上和视图矢量?

时间:2013-01-02 00:29:21

标签: c++ visual-c++ gdi win32gui

我正在尝试创建一个WorldToView矩阵,为此我需要计算右(r),up(u)和视图向量(v)。

我知道眼睛向量是eye(0,0,0),向量是at(0,0,-1);然后:

v= normalise(at-eye);视图向量v将为(0,0,-1)

我如何获得r和u向量?

我知道:

r=normalise(v X u);
u=normalise(r X v);

由于

1 个答案:

答案 0 :(得分:0)

目前你没有足够的信息 - 你不知道你的观众面向哪个方向,它可能是任何东西。您可能想要指定向上矢量,例如(0,1,0),然后使用公式计算r

注意,对于它的价值而言,gluLookAt,GLU函数与你想要做的相同,需要三个参数,而不是两个 - 即眼睛矢量,矢量和向量。你错过了向上的向量,因此你遇到了困难。