【发布时间】:2014-04-29 16:22:25
【问题描述】:
我需要将gluLookAt() 操作替换为glRotatef() 和glTranslatef() 操作。
我可以用gluLookAt(1,1,0,0,0,0,0,1,0); 做到这一点,但我只是猜到了一些数字,但我得到了相同的图片。
这背后的数学原理是什么?我怎样才能随机取一些gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upZ, upY, upZ) 并将其更改为旋转和平移并获得相同的图片?
【问题讨论】:
-
您必须找到 x-z 和 x-y 平面角度,并通过它们单独旋转矩阵。不要忘记首先通过其负位置 self 平移您的矩阵,以便它围绕自身旋转。之后你把它翻译回来。
-
@Cyber rotatef 上的 A 和 B 是什么?当我尝试使用 -eye 向量进行翻译时,我什至看不到对象