0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

所谓的光线的'颜色'又到底指的是什么呢?

Dbwd_Imgtec 来源:未知 作者:李倩 2018-07-17 13:05 次阅读

我们只看到的最后一节的一个计算机图像科学中的关键问题是为每个像素决定它们的正确颜色,然后唯一方式是平均所有撞击像素的有色光。但是我们如何找到这些光线呢,它们又是什么颜色呢?确实,所谓的光线的'颜色'又到底指的是什么呢?

"光线的颜色"并不难定义。我们可以把光线想象成一个直线路径,一个由光粒子(光子)所穿过空间。在物理世界,光子携带能量,当光子进入眼睛的时候,它所携带的能量会被视网膜上的接收器转化接收。我们所接收到光子的颜色接近它所携带的能量。不同的颜色因而通过不同的光子们所携带的能量进入我们的视网膜。

一种讨论光子能量的方式是把它当做震动能量来看。即使光子不会在任何物理环境下"震动",震动为描述光子能量提供了一个有用的数学和直观模型。在震动光子模型中,不同的震动速度与不同的能量相关,因此与不同的颜色联系起来了。因为这个缘故,我们经常将特定的颜色称为具有特定的频率。另一种描述震动速度的方法与波长的概念密切相关。举个例子,我们可以谈论频率并说我们的眼睛只对360-830太赫兹的有反应。(简称:THz 1THz=1012每秒),或者。我们可以谈论波长并描述成相同的范围,360-830纳米。数学公式中,通常会用f来表示光子的频率。并用λ来表示它的波长。

通常来说,每一个单位频率都有与其相关联的能量。且因此让我们可以看到与其关联的颜色。但是颜色是可以合并在眼睛的底片中的;举个例子,如果一个红色光子和一个绿色光子同时到达眼睛,我们将会感知到两个颜色的混合色-黄色。

考虑在图像中有一个特定像素,三维场景中的哪一个光子和这个像素联系;

光子必须要从光源出发。毕竟,你把底片放到完全黑暗的房间里,它也没法感光。没有光带着信息能量打到底片上。打开台灯,灯泡的作用就是向各个方向发射光子,让光子和物体碰撞。感受一下光子如何最终为图片做贡献的,让我们跟踪一小部分特定的光子。

光反弹满整个房间,我们不会考虑一些细节的事物,毕竟那些细节讨论可以塞满整本书。

让我们开始光线追踪,简单来说,从灯泡触发的光子中A,B,C,D,E这几种光子分别进行了反射,能够到达图形平面,或者说眼睛的只有B,C,D这三种。这就是光线追踪。我们跟踪了光子反弹整个房间的的运动路径,更具体地说,我们完成了前光线追踪。这就是,我们跟着光子们从他们的起点直到场景中,跟着他们的路径方向前进,就像光子们本身需要运行的轨迹那样。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 光线
    +关注

    关注

    0

    文章

    67

    浏览量

    10520
  • 光线追踪
    +关注

    关注

    0

    文章

    182

    浏览量

    21456

原文标题:光线追踪(2)追踪光线

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何通过 'TP '和'TON'做一个延时报警的功能块-w

    SFB 3 "TP" 生成一个脉冲 SFB 3 "TP" 生成了长度为 PT的脉冲。定时器只在 STARTUP 和RUN模式下运行。 输入IN 的信号上升沿启动脉冲。在时间 PT内输出 Q 将保持置位状态,无论输入信 号是否有变化(换言之,即使 IN输入在时间 PT用完前从 0 变回 1) 。ET输出提供输 出Q 处于置位状态的时间。ET输出的最大值是 PT输入的值。输出 ET在输入 IN变 为0 时复位,但复位不会在时间 PT用完前进行。 操作系统会在冷启动期间重置 SFB 3 "TP" 的实例。如果希望在暖启动后初始化此
    的头像 发表于 01-03 09:19 6461次阅读
    如何通过 &<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;TP &<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;和&<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;TON&<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;做一个延时报警的功能块-w

    单片机常用函数整理(一)

    ; str[i] != &amp;apos;\0&amp;apos;; i++) 5 { 6 TXREG = str[i]; 7 TXEN =
    发表于 11-16 19:21 0次下载
    单片机常用函数整理(一)

    51单片机接收ASCII码并实现1602显示

    []={&amp;apos;0&amp;apos;,&amp;apos;A&
    发表于 11-20 20:51 23次下载
    51单片机接收ASCII码并实现1602显示

    问题总结5.31

    编程遇到的问题记录 warning C318: can&amp;apos;t open file &amp;apos;commom.h&amp
    发表于 11-21 17:06 1次下载
    问题总结5.31

    C&amp;51单片机开发笔记

    include &amp;apos;&amp;apos;reg52.h" 单片机特殊功能寄存器定义文件typedef 数据类型申明例如 typedef unsigned int u16
    发表于 11-23 16:36 0次下载
    C&<b class='flag-5'>amp</b>;51单片机开发笔记

    【Keil】使用Keil5时出现的错误(持续更新)

    目录1、常见编译错误2、常见逻辑错误3、常见仿真错误1、常见编译错误error C141: `syntax error near &amp;apos;extern&amp;apos
    发表于 11-23 17:21 6次下载
    【Keil】使用Keil5时出现的错误(持续更新)

    51单片机在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。

    ;TimeInit.h"#define Fosc (11059200L)unsigned char i=0£»unsigned char cnt=0; //char Tone[]={&amp;apos;D&amp;
    发表于 11-23 17:36 8次下载
    51单片机在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。

    正弦波产生 接上篇,用mtlab和excel产生正弦波并做处理

    ((4096/2-1)*sin(0:pi*2/399:2*pi)+2048) %正弦信号figure(1)plot(t,s1);xlabel(&amp;apos;时间/s&amp;apo
    发表于 11-30 16:06 0次下载
    正弦波产生 接上篇,用mtlab和excel产生正弦波并做处理

    单片机1602液晶显示

    table[]={&amp;apos;0&amp;apos;,&amp;apos;1&
    发表于 12-04 10:21 7次下载
    单片机1602液晶显示

    pip安装报错:No such file or directory &amp;apos;conda-forge&amp;apos; 没有那个文件或目录 &amp;apos;conda-forge&amp;apos;

    原文链接 使用pip安装出现报错: No such file or directory 'conda-forge' 没有那个文件或目录 'conda-forge' 可以从conda-forge清单中安装的指定Python扩展: pip install fire -c conda-forge 如果出现以下问题: ERROR: Could not open requirements file: [Errno 2] No such file or directory: 'conda-forge' 搜一下版本列表: conda search fire -c conda-forge 出现版本信息: Loading channels: done # Name Version Build Channel fire 0.1.1 py27_0 conda-forgefire 0.1.1 py27_1 conda-forgefire 0.1.1 py35_0 conda-forgefire 0.1.1 py35_1 conda-forgefire 0.1.1 py36_
    的头像 发表于 01-12 17:30 2567次阅读

    Python报错:ImportError cannot import name &amp;apos;imresize&amp;apos;解决方法

    Python出现错误: ImportError: cannot import name 'imresize' 解决方案 首先安装 pillow: pip install pillow 然后安装 scipy 早期版本。 高级版 scipy 本不再包含函数 imresize ,官网给出的解释及解决办法如下: imresize is deprecated! imresize is deprecated in SciPy 1.0.0, and will be removed in 1.3.0. Use Pillow instead: numpy.array(Image.fromarray(arr).resize()). 安装早期版本: pip3 install scipy==1.1.0 --user 审核编辑 hhy
    的头像 发表于 01-13 09:56 1726次阅读

    如何区分Java中的&amp;amp;和&amp;amp;&amp;amp;

    首先给i赋值为0,如果i大于10,并且i++等于1,则输出“错误”和i的值。否则输出“正确”和i的值。分别用&amp;和&amp;&amp;运行,观察运行结果的不同。
    的头像 发表于 02-24 10:46 1475次阅读
    如何区分Java中的&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;和&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;

    源码分析从 import axios from &amp;apos;axios&amp;apos; 的执行过程-1

    这两篇文章我们看一下 axios 的相关知识。从 import axios from &apos;axios&apos; 再到 axios 的内部源码,带大家看一下经典库的运行流程。
    的头像 发表于 03-01 10:01 1177次阅读
    源码分析从 import axios from &<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;axios&<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>; 的执行过程-1

    宁畅推出“无忧焕液计划” 推进液冷从&amp;apos;奢侈&amp;apos;迈向&amp;apos;普惠&amp;apos;

    近年来,在政策引导、市场需求、技术升级等多种因素影响下,数据中心正在迎来发展新机遇。如何部署节能技术并兼顾算效、能耗、成本,成为考验数据中心建设与运营者的关键。   在此背景下,宁畅于6月28日召开“无忧焕液 智惠升级”媒体沟通会,与行业专家共探数据中心转型之策。会上,宁畅推出“无忧焕液计划”,旨在让液冷从“奢侈”走向“普惠”。    宁畅总裁秦晓宁在会上表示:“当前AI服务器需求暴涨,但80-90%的数据中心依然采用风冷
    的头像 发表于 06-29 14:53 646次阅读

    深维科技-北京大学合作团队在FPGA&amp;apos;24布线加速竞赛中夺得佳绩!

    美国西部时间2024年3月4日,我司与北大合作团队在FPGA&apos;24布线加速竞赛中获得优异的成绩。
    的头像 发表于 03-07 11:43 1105次阅读
    深维科技-北京大学合作团队在FPGA&<b class='flag-5'>amp</b>;<b class='flag-5'>apos</b>;24布线加速竞赛中夺得佳绩!