OPenGL 内部摄像机(Inside out:Camera)
void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez,
GLdouble centerx,GLdouble centery,GLdouble centerz,
GLdouble upx,GLdouble upy,GLdouble upz);
所作的许多操 作都是针对它进行的,
2.很明显,由向量减法 视线 view,视点 pos,视目标 tar
Ⅰ 由pos,tar 计算出 view
pos.x+=speed*view.x; pos.z+=speed*view.z;
tar.x+=speed*view.x; tar.z+=speed*view.z;
绕n旋转V θ度到V’, 求V’
n*V=|n||V|cosβ cosβ=|Vproj|/|V| |Vproj|=|V|cosβ
Vproj=(n*V)/|n|2 n 因为 n 为单位向量
所以 Vproj=n*V n
Vperp=V-Vproj=V-n*V n
V’=Vperp+Vaux=n*v n+cosθ(V-n*V n)+sinθ(V×n)
[ cosθ 0 -sinθ ]
[ 0 1 0 ]
[ sinθ 0 cosθ ]
[cosθ 0 -sinθ ]
[view.x view.y view.z] [0 1 0 ]
[sinθ 0 cosθ]
=[view.x*cosθ+view.z*sinθ view.y -view.x*sinθ+view.z*cosθ]
tar’=pos+view’;
D3.竖直转头
取得view: view=tar-pos;
取得 axis: 即旋转view (-π/2)
[view.x view.y view.z] [0 1 0]
[-1 0 0]
=[-view.z view.y view.x]
tar’=pos+view;
OPenGL 内部摄像机(Inside out:Camera)相关推荐
- OpenGL之摄像机
文章目录 摄像机/观察空间 摄像机位置 摄像机方向 右轴 上轴 Look At 自由移动 移动速度 鼠标输入 缩放 摄像机源码 OpenGL本身没有摄像机(Camera)的概念,但我们可以通过把场景 ...
- OpenGL中摄像机矩阵的计算原理
OpenGL中摄像机矩阵的计算原理 熟悉OpenGL|ES的朋友,可能会经常设置摄像机的view矩阵,iOS中相对较好,已经封装了方向,只需要设置摄像机位置,目标点位置以及UP向量即可.下面先介绍下摄 ...
- OpenCV安全屏障摄像机Security Barrier Camera的实例(附完整代码)
OpenCV安全屏障摄像机Security Barrier Camera的实例 OpenCV安全屏障摄像机Security Barrier Camera的实例 OpenCV安全屏障摄像机Securit ...
- Python+OpenCV:摄像机标定(Camera Calibration)
Python+OpenCV:摄像机标定(Camera Calibration) 理论 Some pinhole cameras introduce significant distortion to ...
- 【Modern OpenGL】摄像机系统 Camera
说明:跟着learnopengl的内容学习,不是纯翻译,只是自己整理记录. 强烈推荐原文,无论是内容还是排版. 原文链接 本文地址:http://blog.csdn.net/aganlengzi/ ...
- OpenGL | 放置摄像机gluLookAt函数
一.gluLookAt函数 gluLookAt用来定义观察者(相机)的状态,包括观察者在世界坐标系中所处的位置.看向世界坐标系中的方向(可以理解为眼睛所看向的方向).观察者头部的朝向(可以在一个平面上 ...
- 网络摄像机(ip camera)安装设置步骤
IP网 络摄像机 是基于互联网和局域网(LAN) 设计的.在一个局域网中,IP网络 摄 像机被允许从本地接入,通过计算机网络的相关配置,您可以不仅可以在本地使用IP 网络摄像机进行监控,而且可以通过互 ...
- camera中文版软件 ip_网络摄像机监控(IP Camera Viewer Pro)
IP Camera Viewer是一个方便可靠能够通过IP地址监控多台摄像机的工具. 功能: 你可以在几分钟之内设置一个免费的IP摄像监控系统, 保持在家里,办公室,停车场或任何地方,你都可以监控. ...
- C++ opengl 放置摄像机
放置摄像机 在场景绘制之前摆放摄像机 [把摄像机摆好了,才能看到东西] gluLookAt 前3个参数为:摄像机的位置: 中间3个参数:眼睛看到的视点: 后3个参数:从头顶发出去的方向向量: 犹如人看 ...
最新文章
- 这些编程语言程序员工资最高!Java才第四
- Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测
- boost::sort模块实现弦平面稳定测试
- n个1组成的整数能被2013整除c语言,求大神解算法,“编写程序,求n至少为多大时,n个1组成的整数能被2013 整除。”...
- vue中v-html指令的使用之Vue知识点归纳(三)
- 浅谈K短路算法(KSP)之二(YEN .J算法求解)
- andriod环境搭建
- 第一:如何解决robot framework log.html中的中文乱码问题
- 视频怎么插入慢动作?
- iOS Android 上传代码库+持续集成+单元测试
- java 环境变量 ln s_java的环境变量
- kindle电子书转换成pdf azw转pdf
- 性能测试实战脚本—服务器端性能测试的通用脚本
- java中括号的匹配_java括号匹配算法
- 分布式数据库TiDB在携程的实践
- 优锘科技:ThingStudio森工厂掀起数字孪生龙卷风暴
- 天生量化将才?理工科程序员 做量化投资优劣势分析
- KEIL平台下新建华大HC32F460单片机工程笔记
- 深圳市福田区支持文化创意产业发展若干措施
- RedHat7.4安装
热门文章
- C语言直接清空数组、字符串
- The underlying provider failed on Open
- 静态页面表格的布局问题--在表格里不能用float来布局,不然你怎么调都发现没用啊。
- javascript 老王开车去东北
- android开发 Activity包含Fragment切换背景黑色闪屏解决方案
- 以下对python程序设计风格_以下对 Python 程序设计风格描述正确的选项是( )
- 索尼电视linux系统版本,索尼X9500H智能液晶4K电视加入最新安卓9.0操作系统
- 单片机c语言define什么意思,单片机C语言中typedef和define的区别是什么?
- autodock-vina分子对接
- python中oo是什么意思_python中的OO