3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间_视锥距离-程序员宅基地

技术标签: 图形学  unity  Unity  数学  游戏开发  图形  3D数学 学习笔记  

3D数学 学习笔记(7) 视图、视锥、视场(Field of View)、裁切空间、屏幕空间

参考书籍:
《3D数学基础:图形与游戏开发》


视图

即摄像机的画面。可对应Unity的Canvas。

指定输出窗口

窗口位置在左上像素(winPosx, winPosy),整数winResx, winResy 是以像素为单位的窗口大小。

在这里插入图片描述

像素纵横比

像素高对宽的比值,通常为1。pixPhys 指像素物理尺寸。devPhys是显示设备的物理高与宽比(如手机实际显示屏高宽比)。devRes是x、y方向的像素比(如640×480等)。

在这里插入图片描述


视锥

摄像机可见的空间体积。透视投影的话是截头椎体(frustum),正交投影是长方体。

在这里插入图片描述


视场(fov ,Field of View)和 缩放(Zoom)

即视锥所截的角(水平和垂直)。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通常缩放要和输出窗口对应(否则像拉伸过):

  • zoom:相机的zoom值。
  • winPhys:窗口物理尺寸。
  • winRes:窗口以像素为单位的大小。
  • pixPhys:像素的物理尺寸。
  • devPhys:输出设备的物理尺寸。
  • devRes:输出设备以像素为单位的大小。

在这里插入图片描述


裁切空间(标准视体空间,the canonicalview volume space)

4D齐次向量除于w面对应到3D向量:

在这里插入图片描述

计算机图形学中,缩放有视锥的形状控制,d值(距离)不重要,所以可以d=1。

在这里插入图片描述

空间内的点满足:

在这里插入图片描述

近裁切面z/w = -1,远裁切面z/w = 1。zoom是缩放值,n、f分别为近远平面距离。
OpenGL中z值范围在[-w,+w]:

在这里插入图片描述

DirectX中值范围在[0,w]:

在这里插入图片描述

在正交投影下,OpenGL和DirectX的裁切矩阵:

在这里插入图片描述


屏幕空间

在这里插入图片描述

各空间变换过程

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/l773575310/article/details/78401864

智能推荐

苹果手机配对手表总是显示服务器,苹果手表配对失败,为什么iwatch跟手机总是配对...-程序员宅基地

文章浏览阅读1w次。提起苹果手表配对失败,大家都知道,有人问苹果手表重新配对手机,一直不成功,停留在这个界面怎么办,谢谢大神,另外,还有人想问苹果手表输入ID无法匹配是怎么回事,你知道这是怎么回事?其实苹果手机怎么和苹果手表配对不上,下面就一起来看看为什么iwatch跟手机总是配对失败,希望能够帮助到大家!苹果手表配对失败原因:iWatch和手机的设置不正确知,所以导致iwatch跟手机总是配对失败。解决方法如下:苹..._苹果手机和苹果手表配对不了

工控机上位机软件的开发历程(二)_spice-web-based-scada-system-程序员宅基地

文章浏览阅读1k次。工控机上位机软件的开发历程(二)仪器归一化设计原文链接:https://blog.csdn.net/lweiyue/article/details/83113699仪器归一化设计这是具体内容的第一篇,我们先来讲述仪器的归一化设计。仪器是各种功能都有的,我只举我们在环境监测这方面所用到的仪器。我们要测试水是不是有污染物质,污染到什么程度,我们要测试水体的高锰酸盐指数、氨氮、总磷、总氮等值。我们的站房有一个后备电源,我们要知道市电是否断电了,是否在用备用电源。我们的站房是有空调的,我希望知道站房的温度_spice-web-based-scada-system

react-实现字符串(string)执行HTML标签-程序员宅基地

文章浏览阅读1.2k次。react本身具有防范xss攻击功能,会自动转移字符串里HTML代码。实现HTML标签功能方法:<div dangerouslySetInnerHTML={{__html: `从后台拿到字符串类型的标签`}} />否则,应该是json,array类型,那么:render(){ return jsonList.map((从后台拿到字符串类型的标签, i..._react string html

postgresql点云las_点云采样 - osc_m53xdida的个人空间 - OSCHINA - 中文开源技术交流社区...-程序员宅基地

文章浏览阅读92次。原文链接点云采样分类点云采样的方法有很多种,常见的有均匀采样,几何采样,随机采样,格点采样等。下面介绍一些常见的采样方法。格点采样格点采样,就是把三维空间用格点离散化,然后在每个格点里采样一个点。具体方法如下:1. 创建格点:如中间图所示,计算点云的包围盒,然后把包围盒离散成小格子。格子的长宽高可以用户设定,也可以通过设定包围盒三个方向的格点数来求得。2. 每个小格子包含了若干个点,取离格子中心点..._las采样方法

MapReduce案例实操—Combiner合并、序列化、partition分区、ReduceTask_odps mr中进入 reduce 前,数据需要进行合并操作(combiner),然后按照 key -程序员宅基地

文章浏览阅读616次。一、Combiner合并原始数据截取部分数据如下:该数据为电影评分数据,分别是电影名、评分、时间、点评人ID。需求:得到最火的10部电影即得到评价次数最多的10部电影,先计数再排序再取出。自定义Combiner实现步骤:<1>自定义一个combiner继承Reducer,重写reduce方法<2>在job中设置:job.setCombinerClass(W..._odps mr中进入 reduce 前,数据需要进行合并操作(combiner),然后按照 key 排 序

学习笔记-HTML_html这个checked-程序员宅基地

文章浏览阅读846次。前端学习笔记HTML简介网页的概念:1.网页:通过浏览器阅读,网站构成的基本元素2.网站:网页的集合,以html为后缀所以又称html文件3.html(超文本标记语言):用于描述网页,通过各种(不止文本)标签创建网页,可以进行文件跳转浏览器:ie,edge,firefox,opera,chrome(*),safari浏览器内核:读取网页内容整理讯息计算网页显示方式web 标准:w3c(万维网联盟 )web标准的构成:1.结构(html)用于对网页元素进行整理和分类<躯干>_html这个checked

随便推点

回调?是什么,简单讲解一下-程序员宅基地

文章浏览阅读8.6k次,点赞8次,收藏41次。回调就是把一个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。_回调

java JDK-8u221-windows-x64百度网盘下载_jdk8u221下载-程序员宅基地

文章浏览阅读4.9k次,点赞3次,收藏2次。https://pan.baidu.com/s/10-BgJAxvf1Ncldbttvb3zg 提取码:z2wu_jdk8u221下载

爬虫逆向学习进阶路线_爬虫逆向进阶pdf下载-程序员宅基地

文章浏览阅读1.2w次,点赞46次,收藏241次。大数据时代下,爬虫技术逐渐成为一套完整的系统性工程技术,涉及的知识面广,平台多,技术越来越多样化,对抗性也日益显著。大家可以参考一下学习路线,看看自己需要对哪些知识进行补充。爬虫逆向学习路线学习路线总结系统提高加密算法特征和实现传输协议和通讯协议各种验证码识别方法个人汇总专栏爬虫逆向社区学习路线总结基础学习路线总结:主语言基础语法常用网络请求库、解析库常用抓包工具自动化工具库流行采集框架多进程、多线程、协程、分布式爬虫采集器管理Js逆向学习路线总结:浏览器构造、基础语法、作_爬虫逆向进阶pdf下载

IT各个领域推荐的书籍-程序员宅基地

文章浏览阅读119次。1、C语言提升《c和指针》《c缺陷和陷阱》《c专家编程》这三本书我在很多的文章中都提过,是一个初级C程序员必看的三本书,同时也是我们公司应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习。2、C++语言提升Effective C++:改善程序与设计的55个具体做法》《More EffectiveC++:35个..._反模式:危机中软件、架构和项目的重构

Comsol事件控制线圈加热冷却(涡流热成像)_comsol涡流检测里线圈-程序员宅基地

文章浏览阅读1.1k次,点赞19次,收藏12次。在涡流加热过程中,通常需要关注的不仅是加热过程,还有加热物体的冷却过程。这非常重要。Xiao XT【】中用试验方法说明了对于缺陷的深度的定量分析,加热与冷却过程的频域图(幅度与相位)十分重要。_comsol涡流检测里线圈

Java——《面试题——MySQL篇》_java mysql面试题-程序员宅基地

文章浏览阅读3.3k次,点赞4次,收藏28次。视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是 有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易, 相比多表查询。内联接(Inner Join):匹配2张表中相关联的记录。左外联接(Left Outer Join):除了匹配2张表中相关联的记录外,还会匹配左表中剩余的记 录,右表中未匹配到的字段用NULL表示。_java mysql面试题

推荐文章

热门文章

相关标签