OpenGL.tutorial06键盘和鼠标

1、这个图是用 Excel画的 简单示意图(单元格边框,视图-->网格线)

 1.1、中间的 正立方体 处于 X/Y/Z轴的中心,边长为2

 1.2、代码为:E:\OpenGL_something\ogl-master\common\controls.cpp 中的 "void computeMatricesFromInputs()"

  (1)我的操作现象:我将Camera移动到(0,0,-5)的位置,horizontalAngle的初始值 设为0f,这样便于理解

    鼠标往右移--> horizontalAngle为 负值 且 越来越小

    鼠标往上移--> verticalAngle为 正值 且 越来越大

  (2)效果类似于,CS等的第一人称射击游戏的效果,物体是一直不动的,小键盘↑-->人物往前走-->物体视觉效果上变大,小键盘↓-->人物往后退-->物体视觉效果上变小,小键盘← --> 人物往左移动,小键盘→ --> 人物往右移动,鼠标往哪边动 就是 人物的头往哪边看(光操作鼠标时 人物位置是不动的)

  (3)我的理解:Camera的位置就是坐在电脑前的人的位置,对应变量 position;变量 direction:可以理解成 人物的目光方向,是由 鼠标操作决定的

       horizontalAngle:看代码及教程中所写应该是 水平夹角,个人理解为 绕Y轴逆时针旋转 与 Z轴正方向 的夹角角度(顺时针就是负值)

       verticalAngle:看代码及教程中所写应该是 竖直夹角,个人理解为  绕X轴顺时针旋转 与 Z轴正方向 的夹角角度

      个人理解:绕Z轴 旋转 0° 实际就是 X轴正方向;绕X轴 旋转 0° 实际就是 Y轴正方向;

2、WebGL编程指南.pdf    Pdf.P66

3、

4、

5、

猜你喜欢

转载自www.cnblogs.com/cppskill/p/10743332.html