1)按键盘的“W”、“S”键,可实现视点的前后移动(直走:前进或倒退)(此时应该视点与目标点的距离保持不变,且视线方向保持不变)。
2)按键盘的“A”、“D”键,可实现视点的左右移动(左看右看)(此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变)。
3)视点左右旋转一定角度后,再按键盘的“W”“S”键仍可实现视线直走,即沿着旋转后的视线方向行走。
#include"stdafx.h"
#include<glut.h>
#include<math.h>
#define PI 3.14159
float theta = -90.0;//旋转角
float theta2 = 0;//视角
int inner = 10, outer = 80;
float s = outer + 4 * inner + 50;
float d = 1;//一步的距离
float eyex = 0, eyey = 0, eyez = s;
float atx = 0,atz = 0,aty