使用此指令gluLookAt:
gluLookAt( p1, p2, p3, l1, l2, l3, u1, u2, u3 );
如何将相机向左移动一个单位,保持观察同一点的方向?
显然我不能只做p1-1,因为它在全球空间中移动1,但我需要在相机空间中移动相机,只需要上面说明的信息。
在搜索中发现我可以找到正确的向量并执行此操作:
right = u * dir (normalized)
p = p - right
l = l - right
但我无法理解为什么,或者即使这样有效......
答案 0 :(得分:1)
你必须减少p1 和 l1。
p 指定眼点的位置, l 指定参考点的位置。
答案 1 :(得分:0)
如果要修改相机的位置,则应使用目标的坐标进行相同的更改。
答案 2 :(得分:0)
您的问题是否与围绕y轴顺时针旋转一个单位的问题相同?