Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >视锥体——初等几何解析

视锥体——初等几何解析

作者头像
Jean
发布于 2021-03-16 02:48:02
发布于 2021-03-16 02:48:02
2K0
举报
文章被收录于专栏:Web行业观察Web行业观察

透视与正交

视锥体是当前3D行业最重要的透视模型,想要理解视锥,首先要区分透视和正交的区别。

正交与透视的对立统一:当视点远离物体无穷远,视野角度无穷小,此时的透视就是正交。

透视投影是模拟物理世界的规律,将眼睛或相机抽象成一个点,此时视锥体内的物体投影到视平面上的物体满足近大远小的规律,而正交投影的所有投影射线都平行,物体大小不随距离变化而变化。

本期讨论的重点是透视投影中的视锥头部,也就是被近截面截掉的那一部分金字塔模型。这个四棱锥本身就是一个初等几何体,没有曲面,所以比较简单,花一点点时间研究一下非常有必要。

先认识一下相关的名词,看一下上图就好了。然后看一下近截面的面积公式:其中宽和高都和近截距成正比(截距=视点到截面中心的距离),和FoV的正切值成正比,这些都不言而喻,可以画个图简单证明一下,这里就不证明了。

虚幻引擎的FoV默认指的是水平FoV,即hFoV,但是可以根据以下的等比公式计算出垂直方向和斜边方向的FoV,可以看出,它们的半角正切值和它们在近截面上的投影线端的长度成正比,证明略。

比较难懂的是立体FoV,即视锥头占据的立体角,由于立体角的计算涉及到球面积的积分,属于高等几何学的范畴,所以这里只要记住它的公式就行了。如果想要证明的话,外网搜索关键词“四棱锥顶点”+“球面度”找一找。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebHub 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
透视矫正插值的秘密
传统的GPU渲染流水线(管线)是基于光栅化的一套流程,之所以要强调传统,是为了将之区别于基于光线追踪(ray trace)的流水线和基于体素化的流水线。在光栅管线中,最基本的2个着色器是顶点着色器和像素着色器,在下图中,除了2个着色器可编程,中间三个时钟节点都是固定的,只能配置不可编程。
Jean
2021/04/07
2K0
透视矫正插值的秘密
【愚公系列】2023年08月 Three.js专题-相机
相机是一种用来记录图像或视频的设备。现代相机通常由镜头、图像传感器、取景器、快门和图像处理器等部件组成。相机可以拍摄各种类型的照片,包括家庭照片、肖像照片、风景照片、动物照片和艺术照片等。现在,许多相机还具有额外的功能,例如视频录制、自动对焦和无线连接等。随着技术的发展,相机变得更加便携和高质量,已成为记录和分享生活的重要工具。
愚公搬代码
2025/05/28
820
【愚公系列】2023年08月 Three.js专题-相机
透视投影的原理和实现
摘 要 :透视投影是3D渲染的基本概念,也是3D程序设计的基础。掌握透视投影的原理对于深入理解其他3D渲染管线具有重要作用。本文详细介绍了透视投影的原理和算法实现,包括透视投影的标准模型、一般模型和屏幕坐标变换等,并通过VC实现了一个演示程序。
用户1148525
2019/06/11
5.3K0
机器视觉 —— 成像
在我们开始分析一张图像之前,我们必须知道它是如何形成的。图像是一个二维的亮度模式。这个亮度模式是如何在一个光学成像系 统中生成的?这个问题有两部分值得好好研究:
为为为什么
2022/08/09
1.6K0
机器视觉 —— 成像
终端图像处理系列 - OpenGL ES 2.0 - 3D基础(矩阵投影)
Overview 移动设备的屏幕是二维平面,要想把一个三维场景渲染在手机二维屏幕上,需要利用OpenGL中的矩阵投射,将三维空间中的点映射到二维平面上。三维矩阵的相关知识是学习OpenGL最重要的课程之一。 线性代数 学习OpenGL三维投射知识之前,我们得事先了解下一些基础的线性代数知识,如向量运算,矩阵运算。 向量运算 向量: 指一个同时具有大小和方向的几何对象,因常常以箭头符号表示以区别于其它量而得名。 向量加减 向量的加(减)法定义是分量的相加(减),即将一个向量中的每一个分量加上(减去)另一个向量
天天P图攻城狮
2018/02/02
2.6K0
终端图像处理系列 - OpenGL ES 2.0 - 3D基础(矩阵投影)
坐标系与矩阵(6)模型视图投影矩阵
模型视图投影矩阵,也就是常说的MVP,有很多的书和资料,参考资料中会列出我推荐的相关资料,会详细介绍推导过程。之所以还要写这一篇,是因为它比较重要,也为了保证‘坐标系与矩阵’系列文章的完整性。所以本篇主要是我对这块的理解,具体的公式推导尽可能不提。
Peter Lu
2021/07/20
1.1K0
坐标系与矩阵(6)模型视图投影矩阵
透视投影矩阵推导[通俗易懂]
透视投影矩阵(Perspective Projection Matrix)的作用是进行规范化透视投影变换,即 观察空间 → \rightarrow →规范化观察空间。
全栈程序员站长
2022/11/09
1.7K0
透视投影矩阵推导[通俗易懂]
【笔记】《计算机图形学》(7)——观察
这系列的笔记来自著名的图形学虎书《Fundamentals of Computer Graphics》,这里我为了保证与最新的技术接轨看的是英文第五版,而没有选择第二版的中文翻译版本。不过在记笔记时多少也会参考一下中文版本
ZifengHuang
2020/08/10
2.2K0
【笔记】《计算机图形学》(7)——观察
模板阴影理论概述
阴影以前只是一个变暗的纹理,通常是圆形的形状,它被投射到游戏中的字符或对象之下的地板上。一个人必须不知情或天真地认为,我们仍然可以在未来的3D游戏中摆脱这种粗暴的“黑客”。曾经是一个时间,阴影太贵了,无法实时渲染,但随着图形硬件的不断增加的力量,未能提供适当的阴影不再意味着平庸的实现,它接受犯罪罪未充分利用可用的图形硬件。
全栈程序员站长
2022/09/05
1.3K0
OpenGL-投影和摄像机
本文介绍了从相机内外参数的标定、立体匹配、多视几何、投影映射、体渲染等多个方面,系统地讲解了移动设备GPU上基于光线的3D渲染从输入到输出的整个过程。同时,通过实例介绍了在移动端GPU上实现这些算法的具体实现方式和优化策略,包括Vulkan、Metal、OpenGL ES、WebGL等多种平台上的实现。本文旨在帮助读者了解3D渲染技术的基本原理,以及在移动端GPU上实现这些算法的具体实现方式和优化策略,包括Vulkan、Metal、OpenGL ES、WebGL等多种平台上的实现。
MelonTeam
2018/01/08
3.4K0
OpenGL-投影和摄像机
图形学入门(一):坐标变换
将一个物体显示到屏幕上,这个事情似乎非常简单,以至于我们基本上认为它已经天经地义到直接告诉计算机我们要显示什么物体它就会自动显示出来,毕竟我们拍照的时候就是举起相机按下快门就会出现一张图片了。但事实上,相机是基于物理感光元件实现了从三维世界到二维图片的投影,在计算机的程序世界中一切都需要被计算出来,也就是说,我们只有一堆图形的描述信息,我们需要自己将这些图形在二维的平面上绘制的方式告诉操作系统,操作系统才能最终在屏幕上绘制出我们想要的图形。
zhiruili
2021/08/10
2K0
图形学入门(一):坐标变换
你的登录界面不够花里胡哨,3D 版本的来了
今天分享一篇用three.js 做的登录网站,里面还用到了粒子特效,一个字就是酷炫😎 前言: 该篇文章用到的主要技术:vue3、three.js 我们先看看成品效果: 登录gif 图 座机小图预览: login2.gif 废话不多说,直接进入正题 Three.js的基础知识 想象一下,在一个虚拟的3D世界中都需要什么?「首先,要有一个立体的空间,其次是有光源,最重要的是要有一双眼睛」。下面我们就看看在three.js中如何创建一个3D世界吧! 创建一个场景 设置光源 创建相机,设置相机位置和相
程序员小猿
2021/11/23
1.1K0
3D 可视化入门:渲染管线原理与实践
玩 3D 游戏的时候,有没有想过这些 3D 物体是怎么渲染出来的?其中的动画是怎么做的?为什么会出现穿模、阴影不对、镜子照不出主角的情况?要想解答这些问题,就要了解实时渲染。其中最基础的,就是渲染管线。
Tecvan
2021/12/09
7.2K1
3D 可视化入门:渲染管线原理与实践
透视投影变换矩阵推导_矩阵的投影
http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm,由于本人能力有限,有译的不明白的地方大家可以参考原文,谢谢^-^!
全栈程序员站长
2022/11/10
1.7K0
透视投影变换矩阵推导_矩阵的投影
2.1 几何阶段第 2 章 GPU 图形绘制管线
图形绘制管线描述 GPU 渲染流程,即“给定视点、三维物体、光源、照明模式,和纹理等元素,如何绘制一幅二维图像”。本章内容涉及 GPU 的基本流程和实时绘制技术的根本原理,在这些知识点之上才能延伸发展出基于 GPU 的各项技术,所以本章的重要性怎么说都不为过。欲登高而穷目,勿筑台于浮沙!
代码咖啡
2018/08/28
1.5K0
2.1 几何阶段第 2 章 GPU 图形绘制管线
【笔记】《计算机图形学》(11)——纹理映射
这系列的笔记来自著名的图形学虎书《Fundamentals of Computer Graphics》,这里我为了保证与最新的技术接轨看的是英文第五版,而没有选择第二版的中文翻译版本。不过在记笔记时多少也会参考一下中文版本
ZifengHuang
2020/12/08
4.7K0
3D图形学线代基础
如标题所言都是些很基础但是异常重要的数学知识,如果不能彻底掌握它们,在 3D 的世界中你将寸步难行。
NewbieYoung
2020/10/26
2.2K0
3D图形学线代基础
WebGL简易教程(五):图形变换(模型、视图、投影变换)
通过之前的教程,对WebGL中可编程渲染管线的流程有了一定的认识。但是只有前面的知识还不足以绘制真正的三维场景,可以发现之前我们绘制的点、三角形的坐标都是[-1,1]之间,Z值的坐标都是采用的默认0值,而一般的三维场景都是很复杂的三维坐标。为了在二维视图中绘制复杂的三维场景,需要进行相应的的图形变换;这一篇教程,就是详细讲解WebGL的图形变换的过程,这个过程同样也适合OpenGL/OpenGL ES,甚至其他3D图形接口。
charlee44
2019/10/08
3K0
WebGL简易教程(五):图形变换(模型、视图、投影变换)
iOS开发-OpenGL ES入门教程3
教程 OpenGL ES入门教程1-Tutorial01-GLKit OpenGL ES入门教程2-Tutorial02-shader入门 这次是三维图形变换。 OpenGL ES系列教程在这里。
落影
2018/04/27
2K0
iOS开发-OpenGL ES入门教程3
OpenGL学习笔记 (三)- 坐标系与顶点变换
在OpenGL学习笔记 (二)- 顶点与绘制指令中,已经对绘制指令与顶点规范进行了简单介绍,接下来的学习笔记将按照渲染管线的顺序继续说明。本节学习笔记将会介绍顶点数据在渲染管线中经过的第一步,也就是顶点着色器相关的操作。
KAAAsS
2022/01/14
4.1K0
OpenGL学习笔记 (三)- 坐标系与顶点变换
相关推荐
透视矫正插值的秘密
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档