1)按键盘的“W”、“S”键,可实现视点的前后移动(直走:前进或倒退)(此时应该视点与目标点的距离保持不变,且视线方向保持不变)。

2)按键盘的“A”、“D”键,可实现视点的左右移动(左看右看)(此时应该视点固定,目标点围绕视点旋转,视点与目标点的距离仍然保持不变)。

3)视点左右旋转一定角度后,再按键盘的“W”“S”键仍可实现视线直走,即沿着旋转后的视线方向行走。

#include"stdafx.h"
#include<glut.h>
#include<math.h>
#define PI 3.14159float 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=0;
int ww, hh;
bool flag = true;void display();
void reshape(int w, int h);
void mytime(int value);
void darwground();
void darwsphere();
void drawwall();
void init();
void mykeyboard(unsigned

键盘控制摄像机移动和转换视角相关推荐

  1. 在Unity使用键盘控制摄像机的移动以及用鼠标滚轮控制摄像机视野放大和缩小

    首先在Unity中新建一个ViewControl的脚本,并把这个脚本挂载在主摄像机上面,然后复制下列的代码! using System.Collections; using System.Collec ...

  2. Unity3D鼠标、WASD空格键盘控制摄像机及esc键退出C#脚本

    C#控制WASD键盘前后左右及空格键抬升高度脚本代码如下: using UnityEngine; using System.Collections;public class CameraControl ...

  3. Python之OpenGL笔记(17):键盘鼠标控制摄像机移动旋转

    一.目的 1.键盘控制摄像机自由移动: 2.鼠标控制摄像机旋转: 3.鼠标滚轮放大缩小视野. 二.程序运行结果 三.自由移动 view = lookAt(cameraPos, cameraPos + ...

  4. 图形学笔记(八)画一个可以由鼠标和键盘控制的立方体

    画完自己会动的立方体,下面画一个由鼠标和键盘控制的立方体. 一.代码 main.cpp #include <iostream>//GLEW #define GLEW_STATIC #inc ...

  5. 【OpenGL学习笔记⑧】——键盘控制正方体+光源【冯氏光照模型 光照原理 环境光照+漫反射光照+镜面光照】

    ✅ 重点参考了 LearnOpenGL CN 的内容,但大部分知识内容,小编已作改写,以方便读者理解. 文章目录 零. 成果预览图 一. 光照原理与投光物的配置 1.1 光照原理 1.2 投光物 二. ...

  6. ROS探索总结(七)(八)(九)——smartcar源码上传 键盘控制 操作杆控制

    ROS探索总结(七)--smartcar源码上传 看到前面写的博客还是帮助了很多ROS的学习者,我感到非常荣幸.其实我也是一名ROS的新手,ROS的相关资料少,上手难度大,我现在也在摸索着学习,还希望 ...

  7. ogre3D学习基础10 -- 键盘控制与鼠标控制(直接控制)

    要实现键盘,鼠标对场景的控制,首先要帧监听,就是在每一帧的渲染前后对它进行操作.这里的操作没有用到缓冲区,只是简单的直接获取. 1.这些步骤和前面的一样,直接上代码,操作还是在createScene函 ...

  8. [转]基于ROS平台的移动机器人-4-通过ROS利用键盘控制小车移动

    原文出处: https://blog.csdn.net/Forrest_Z/article/details/55002484 准备工作 1.下载串口通信的ROS包 (1)cd ~/catkin_ws/ ...

  9. 小车yolo机械臂(一)ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体

    ros下gazebo搭建小车(可键盘控制)安装摄像头仿真 加载yolo检测识别标记物体 目录总览 一,项目代码下载 二,ros下实现darknet_ros(YOLO V3)检测 2.1 编译整个项目 ...

最新文章

  1. javascript 的面向对象特性参考
  2. hust1346(两个线段的最近距离和最小距离)
  3. dotty编译器语法特性之一交叉类型,联合类型和文本单例类型
  4. 漂亮大气!小米武汉总部正式开园:从签约到建成使用仅用时两年
  5. Java Spring AOP
  6. 我是如何从一个xss到某个浏览器的远程命令执行
  7. 小米回应林斌退休传闻;哈工大等高校被禁止使用 MATLAB;统信软件 UOS20 SP1 系统升级| 极客头条...
  8. Android——RelativeLayout(相对布局)
  9. xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
  10. 瑞友天翼应用虚拟化系统服务器lP,瑞友天翼应用虚拟化系统 V6.0.6发版
  11. 什么是电磁兼容标准?IEC、EN、TC77、CISPR等的区别!
  12. 广州空气质量数据分析
  13. Shell 遍历数组的方法
  14. JAVA转go系列之我为什么要学习GO
  15. html 图片纵向拉伸,css如何让图片拉伸?
  16. win系统修改C盘下user/用户名
  17. 单片机:c语言实现秒表计数(按键开始,结束,重置)
  18. 原神要求特别多的作家千来神祠栖木在哪
  19. 从Masonry 源码探 Objective-C [源码学习开篇]
  20. 常识---关于档案(转)

热门文章

  1. docker制作mysql-client的镜像(基于centos)
  2. 【省内训练2018-11-23】Bishop
  3. Centos 7 安装后英文改中文
  4. Python3网络爬虫开发实战(崔庆才)笔记——ProxyPool的代码问题:AttributeError: 'int' object has no attribute 'item及相关问题的处理
  5. 如何强制卸载阿里云盾(安骑士)监控及屏蔽云盾IP检测附带教程
  6. 夯实基础,Java8新特性Stream详细教程
  7. 斯图金是如何发明电磁铁的?
  8. mathematics画图取点
  9. 2018大连理工计算机考研分数线,2018年大连理工大学软件学院考研复试分数线
  10. SSL 2331 洛谷 1717 信息学奥赛一本通 1373 鱼塘钓鱼#贪心#