当前位置: 首页 > news >正文

理解相机的相关参数的设置

时间:18:38 2010-12-16

理解相机的相关参数的设置

1. 其功能是什么。

2. 怎么样掌握设置

其是将三维空间的所想要的部分显示在二维屏幕当中。

我们可以使用相机模型来思考。

1. 调整相机,使其对准某一个场景 (视点变换:平衡,旋转)

2. 在此场景当中添加三维物体,并且调整这些对象。(平移,旋转,缩放)

3. 选择显示场景当中某一部分三维物体,然后将这些三维对象画在在二维画布当中(透视变换)
    其是怎么样规则:只有场景空间当中的某一部分呢--> 一个空间的确定。
    三维到二维:
4.  将二维画布在二维屏幕当中显示( 视口变换)

其说明一个本质的实现过程。 但此过程放置在具体的环境当中,还有一些差异的。

在计算机这个环境当中。
    首先要解决物体其是怎么样在三维场景当中显示的。

计算机其只能处理数字化的东西。物体其要显示。那怎么样边呢。

引入坐标。

通过坐标将物体数字化,其为什么可以呢。

因为物体是其有一个一个的点来构成的。其具体的表示为: 根据坐标来对于这些点进行数字化。

--> 物体其使用不同的坐标,其的点的数据是不一样的。这就是为什么,在描述物体的是,其要先确定系统所使用的坐标。如果坐标不同,其要进行转换。转换其就是对于这些进行修改。

在OPENGL 当中,
其的物体是使用 世界坐标  。

相机是什么其是使用视点坐标: 
其是符合左手法则。

世界坐标与视点坐标其只是Z轴方向相反。

[ 问题]
    世界坐标与视点坐标其的原点在哪呢。
我所看到的物体其只是:相机的所在位置,相机所能看到的空间。--> 这句话很关键:
关键的原因:
    1. 当我们看一个3D场景,第一反:这是相机所看到的场景。
--> 是否可以将相机等价于我们人眼看到场景。我们在现实世界当中,拿着相机拍照的时候,人眼所看到的空间其就是相机所看到的空间,人眼所在位置,其就是相机所在位置。
    人眼所能看到的空间是固定的,但为什么看到空间当中的任意场景呢。因为我们可以旋转(转身)。可以向任意方面旋转。所以当我们在OPENGL当中观看场景之后,想看空间当中的另一个场景的时候,我们就可以将相机旋转。

    人眼看远处的东西,看的不是很清楚,我们可以走过看,走近点看,(这是平移),同样在OPENGL当中,我们想看哪某一个场景的清楚些,我们可以平衡相机。
    人眼所能看到的空间是在一个固定的范围当中,如张大眼睛看,眯起眼睛看。在同一个位置其所看到的空间场景不同的。同样在OPENGL当中,我们想看某一部分的话,我们是可以使用设置相机的可视范围。

    带着这些问题,来学习OPENGL当中当中OEPNG 变换,应该是会轻松些。
因为我们可以这样思考: 首先我想看到空间当中的哪部份场景,我们就可以去问题:在OPENGL当中,应该怎么样表达。

在具体地编程当中:OPENGL 的相机所能看到的场景空间大小,其是由透视矩阵来决定的

[ 相机]
    相机其是属于四大业务模块(初始化模块,显示模块,用户操作模块,结束模块)当中的显示模块。
所以我们要在显示模块当中操作相机。--> OPENGL 当中的哪些语句其是专业针对于相机的呢。

相机其只是一个逻辑的概念,为了方便了形象的理解。

[ 问题]
    在OPENGL 当中,其的调整只有那么几种:
平衡,旋转,缩放。

然后通过操作物体的像素来表现出来。

转载于:https://www.cnblogs.com/pengxinglove/archive/2010/12/17/1908848.html

相关文章:

  • 带参数的main函数
  • 基本文章
  • 使用sharppcap抓数据包
  • SOA
  • Mac OS 10.6.5上如何默认启动mysq服务
  • fedora linux 下安装pwntcha[验证码开源]
  • 初识 统一建模语言(UML)
  • OllyDBG 1.10汉化第二版
  • Eclipse Android配置
  • asp.net与Discuz-UCenter整合(3):UCenter与应用同步
  • css中的相对定位和绝对定位
  • cvs svnmanager
  • TMS3705 射频识别技术软硬件系统研制 - 安防,免费资源,弱电技术,安防技术,智能化,金辉,金辉安防同盟,安全防范,电子技术,监控技术,摄像机...
  • vs2010 aspx页面创建控件时出错 未将对象引用设置到对象的实例 解决方法
  • IBM超级电脑Watson人机大赛首轮领先
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MobX
  • Objective-C 中关联引用的概念
  • RxJS: 简单入门
  • Vue小说阅读器(仿追书神器)
  • 对象管理器(defineProperty)学习笔记
  • 对象引论
  • 复杂数据处理
  • 关于 Cirru Editor 存储格式
  • 基于HAProxy的高性能缓存服务器nuster
  • 基于游标的分页接口实现
  • 前端之Sass/Scss实战笔记
  • 如何选择开源的机器学习框架?
  • 软件开发学习的5大技巧,你知道吗?
  • 使用API自动生成工具优化前端工作流
  • 学习ES6 变量的解构赋值
  • 源码安装memcached和php memcache扩展
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • "无招胜有招"nbsp;史上最全的互…
  • #laravel 通过手动安装依赖PHPExcel#
  • $.ajax()
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (理论篇)httpmoudle和httphandler一览
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • .net 4.0发布后不能正常显示图片问题
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core中Emit的使用
  • .Net MVC4 上传大文件,并保存表单
  • @Autowired标签与 @Resource标签 的区别
  • [Avalon] Avalon中的Conditional Formatting.
  • [BROADCASTING]tensor的扩散机制
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [BUG]vscode插件live server无法自动打开浏览器
  • [BZOJ1008][HNOI2008]越狱
  • [C++]STL之map