码迷,mamicode.com
首页 > 其他好文 > 详细

Chapter 10:Positionable camera

时间:2018-05-23 02:09:11      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:注意   技术分享   ble   chap   技术   没有   思考   图片   inf   

 

相机如同电解质,是调试的痛,所以我(在开发中)总是逐步拓展它,首先,让我们来看一个可调节的视场(fov)。 这是您通过门户看到的角度。 由于我们的图像不是方形的,因此fov在水平和垂直方向都不相同。 我总是使用垂直fov。 我通常也会用度数来指定它,并在构造函数中改为弧度 - 这是个人品味的问题。我首先保持来自原点并射向z = -1平面光线。 只要我们把h作为一个比例,就可以使它成为z = -2平面,或者其他什么。 这是我们的设置:

技术分享图片

这意味着h = tan(theta/2).。我们的摄像机现在变成:

cam(90, float(nx)/float(ny))

技术分享图片

为了得到一个任意的观点,让我们先说出我们需要注意的地方。 我们称之为放置相机的位置,以及我们所看到的点。 (后期,如果你愿意,你可以定义一个方向来看看,而不是看点。)我们也需要一种方法来指定相机的方向或侧向倾斜; 围绕从轴看的外观旋转。 另一种思考方式是,即使你保持目光不断,看着不变,你仍然可以旋转头部。 我们需要的是一种为相机指定向上矢量的方法。 注意,我们已经有了一个向上向量应该在的平面,即与视图方向垂直的平面。(即第一人称视角变化?)

技术分享图片

我们实际上可以使用任何我们想要的向上矢量,并将其投影到这个平面上以获得相机的向上矢量。 我使用命名“查看”(v向上)向量的通用约定。 一些交叉产品,我们现在有一个完整的标准正交基(u,v,w)来描述我们的相机的方向。

技术分享图片

记住vup,v和w都在同一个平面上。 请注意,和以前一样,当我们的固定摄像机面对-Z时,我们的任意摄像机面向-w。 请记住,我们可以,但我们没有使用世界(0,1,0)来指定vup。 这很方便,自然会让你的相机保持水平,除非你决定尝试疯狂的相机角度。

 

Chapter 10:Positionable camera

标签:注意   技术分享   ble   chap   技术   没有   思考   图片   inf   

原文地址:https://www.cnblogs.com/TooYoungTsukasa/p/9074717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!