| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 3D Viewing: the Pinhole Camera Model(翻译) -> 正文阅读 |
|
[人工智能]3D Viewing: the Pinhole Camera Model(翻译) |
目录 What Will You Learn in this Lesson? Camera Obscura: How is an Image Formed? Keywords: camera, pinhole camera, perspective projection, circle of confusion, film back, resolution gate, film gate, focal length, depth of field, field of view, image plane, zoom, focal distance, angle of view, aspect ratio, anamorphic, format, aperture, image size, resolution. What Will You Learn in this Lesson?在上一课中,我们了解了生成图像过程中涉及的一些关键概念,但是我们并没有专门讨论相机。 3D 渲染不仅仅是通过透视投影产生逼真的图像。它还涉及能够提供类似于现实世界相机的图像。为什么?因为当 CG 图像与实景镜头相结合时,渲染器提供的图像需要与制作该镜头的摄像机提供的图像相匹配。在本课中,我们将开发一个相机模型,允许我们模拟真实相机产生的结果(我们将使用真实世界的参数来设置相机)。为此,我们将首先开始回顾胶片相机和摄影机的工作原理。 进一步来说。我们将在本课中展示如何实现与 Maya 和大多数(如果不是全部)3D 应用程序(例如 Houdini、3DS Max、Blender 等)中使用的相机模型类似的相机模型。我们将展示您可以在相机上找到的每个控件对最终图像的影响,以及如何在 CG 中模拟这些控件。本课将回答您对 CG 相机可能有的所有问题,例如胶片光圈参数的作用以及焦距参数与视角参数的关系。 虽然用真实世界的相机生成图像的过程中涉及的光学定律很简单,但它们很难在 CG 中重现,不是因为它们模拟起来很复杂,而是因为它们本质上并且可能非常昂贵的模拟。希望虽然您不需要非常复杂的相机来生成图像。事实上,情况恰恰相反。您可以使用一种非常简单的成像设备(称为针孔相机)拍照,它只是一个盒子,一侧有一个小孔,另一侧有胶卷。由针孔相机生成的图像比使用更复杂的相机生成的图像更容易再现(且成本更低),因此,针孔相机实际上是大多数(如果不是全部)3D 应用程序和视频游戏使用的模型。让我们开始回顾这些相机在现实世界中是如何工作的,并从那里建立一个数学模型。
Camera Obscura: How is an Image Formed?我们在计算机图形学中使用的大多数算法都会模拟现实世界中事物的运作方式。 对于创建计算机图形图像的过程至关重要的虚拟相机尤其如此。 在真实相机中创建图像实际上很容易用计算机重现。 它主要依赖于模拟光在空间中传播的方式并与包括相机镜头在内的物体相互作用。 光与物质的相互作用过程非常复杂,但光学定律相对简单,可以很容易地在计算机程序中进行模拟。 摄影原理有两个主要部分:
? 在计算机图形学中,我们不需要物理支持来存储图像,因此不需要模拟传统胶片摄影中使用的光化学过程(除非像 Maxwell 渲染器一样,您想提供逼真的相机模型,但这不是使基本模型工作所必需的)。 camera obscura?(拉丁语中的意思是暗室)的工作原理完全相同。它是一个不透光的盒子或房间,内部为黑色(以防止光线反射),一端中央有一个小孔(图 2)。穿过孔的光线在盒子的另一侧形成了外景的倒影。这个简单的设备导致了照相机的发展。您可以将自己的房间完美地转换为暗箱。 ?要感知墙壁上的投影图像,您的眼睛首先需要适应房间的黑暗,并且要在相机上捕捉效果,需要较长的曝光时间(从几秒到半分钟)。 要将暗箱变成针孔相机,您只需在针孔对面的面上放一张胶卷。 如果您等待足够长的时间(并保持相机完全静止),光线会改变胶片上的化学物质,并且随着时间的推移会形成潜像。 数码相机的原理是相同的,但胶片被一个将光转化为电荷的传感器所取代。 How Does Real Camera Work?在真实相机中,当光线落在对光线敏感的表面上时会创建图像(请注意,这实际上也适用于眼睛)。对于胶片相机,这是胶片的表面,对于数码相机,这是传感器(或 CCD)的表面。其中一些概念已在光线追踪简介课程中进行了解释,但我们将在此处简要地再次解释它们。 在现实世界中,光来自各种光源(最重要的是太阳)。当光线照射到物体上时,它可以被吸收或反射回场景中。这种现象在专门介绍光-物质相互作用的课程中详细解释,您可以在计算机图形的数学和物理部分找到。当您拍照时,一些反射光(以光子包的形式)沿相机方向传播并穿过针孔,在胶片或数码相机传感器上形成清晰的图像。我们在图 3 中说明了这个过程。
如果您将一次性相机的后门拆下并用半透明塑料片代替,您应该能够看到通常投射到胶片上的倒置图像(如下图所示) ?Pinhole Cameras我们在现实世界中可以找到的最简单的相机类型是针孔相机。它是一个简单的防光盒,正面有一个很小的孔,也称为光圈,在盒内面向这个针孔的一侧放置了一些感光胶片纸。当你想拍照时,你只需打开光圈让胶卷曝光(为了防止光线进入盒子,你在针孔上放了一块不透明的胶带,你取下拍照,然后再放回去) . 总而言之:撞击物体的光线在场景中以随机方向反射回来,但只有这些光线中的一个(或者更确切地说是沿着同一方向传播的一束光线)进入相机并在一个点上撞击胶片。场景中的每个点都对应于电影上的一个点。
光圈的大小很重要。为了获得相当清晰的图像,物体表面上的每个点(或小区域)都需要表示为胶片上的一个点(另一个小区域)。如前所述,穿过孔洞的并不是一条射线,而是一系列方向锥内包含的一小部分射线。该锥体的角度(或更准确地说是它的角直径)取决于孔的大小,如图 6 所示。 ? 图 7:针孔越小,图像越清晰。当光圈太大时,图像会变得模糊。 图 8:当您拍摄明亮的小物体(例如暗背景上的光线充足)时,模糊圈会更加明显。
?为了更好地理解图像形成过程,我们创建了两个简短的动画,显示来自两个磁盘的光线穿过相机的针孔。在第一个动画(图 9)中,针孔很小,圆盘的图像很清晰,因为物体上的每个点都对应于胶片上的一个点。 ? 第二个动画(图 10)显示了当针孔太大时会发生什么。在这种特殊情况下,对象上的每个点都对应于胶片上的多个点。结果是磁盘的模糊图像。 图 10:当孔径或针孔太大时,几何图形中的一个点会出现在胶片平面上的多个位置,从而导致图像模糊。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 4:34:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |