source: http://cgangs.com/article/2557?source=weibo

就我们的目的来说,海洋环境仅由四部分组成:水表、空气、阳光和水表以下部分。在本节中,我们在数学和图示的基础上,通过环境,从光源到相机追踪了光线的 流动。一般来说,此处的光能传递方程与任何其他光能传递问题一样都是耦合。然而,在合理范围内,这种耦合可以缩短,简化的热能传递问题就有了相对快速的解 决方案。

相机看到的光线依赖于光能的流动,从源头(即太阳和天空)流动到水表并进入相机。除了直射阳光的镜面反射和来自水表的天空光,一些入射光碎片通过水表发 射。最终,一部分传入光被水容量散射回空气中。在表面反射或折射的一些光线再次撞击表面,产生更多的反射和折射事件。在某些外观条件下,多次反射和折射可 以对图像产生显著影响。所以,对于我们而言,我们一次忽略的不只是表面的一个反射或折射。

在表面上方环境中的任何点,包括在相机上,来自任何方向的总光强度(辐射率),都有三个贡献:

LABOV E = rLS + rLA + tU LU

所用术语定义如下:

(1)r为菲涅耳反射率,即从海洋表面上一点到相机的反射。

(2)tU是传输系数,来自海洋体积的光线LU,在表面折射后,进入相机。

(3)LS是直接来自太阳的光线总量,通过大气,到海洋表面上一点,而这一点就是从海洋表面反射到相机的点。

(4)LA是(漫反射)大气天空光。

(5)LU是通过表面发射到空气中的水表以下的光线。

方程故意用速记法写,隐藏了对空间位置的依赖,及光线运行的方向。

而方程似乎有相对简单的结构,原则上,术语LS , LA, 和LU相互依赖,错综复杂,反射率和透射率也是如此。大量的研究资料详细调查了这些依赖关系,但我们此时不会崇尚这些定量方法。但是,我们可以进一步阐述耦合。

然而继续用同样的简化符号来写。来自太阳的直射光线LS为:

LS = LT OA exp{−τ

其中LT OA是大气顶部直射阳光的强度,而τ是阳光方向和地球上点的大气的"光学厚度"。漫反射大气天空光LA和上升流光线LU都可以写为以下两个方程的总和:

这些方程揭示了问题的潜在复杂性。

LA 和 LU在都依赖阳光直射的同时,也相互依赖。例如,渗入到海洋中的光线总量来自直射阳光和大气阳光。一些进入海洋的光线被微粒和分子散射到海洋 中,并返回大气。一些上升流的光线反过来又被散射到大气中,成为照射在表面的天空光的一部分,而且持续不断。这是一个典型的光能传递问题。它不是专门为这 种情况设定的,与其他光能传递问题截然相反,除了这样一个事实,即上升流光线很难计算,因为它来自体积多重散射。

为了文章的目的,我们解决光能传递问题的方法很简单:使天空光仅仅依赖于来自太阳的光线,因为上升流贡献代表了对阳光的“第三方”依赖;完全用一个实验公式取代LU方程式,基于对海洋的科学观测,这种观测只依赖于阳光直射和一些其他指示水的类型和透明度的参数。

水表以下,光能传递方程有图解形式:

分别代表了:

(1)t是菲涅尔透射率,在表面上每个点和角度通过水面的传递。

(2)LD是渗透到水中的太阳直射光线。

(3)LI是渗透到水中的大气非直射光线。

(4)LSS是来自太阳和大气的单次散射光,在到达任何点之前,一旦进入水体就散射开来。

(5)LM是多次散射光。是单次散射光线经历更多的体积散射事件。

正如上述水的情况,这些方程式彼此都以相对复杂的方式相互关联。例如,单次散射光线依赖于直射光线和非直射光线:

LSS = P (tLI ) + P (tLD )

量P是它论证的线性函数运算符,其中包含有关单次散射事件的信息,以及当它通过散射点到达相机时,散射光线的衰减信息。同样,多次散射光线也依赖于单次散射:

LM = G(tLI ) + G(tLD ) .

函数图解的量P和G是相关的,因为多次散射就是一系列的单次散射。从形式上看,这两种依赖于运算符,形式如下:

图1  空气和水界面的多次反射和传递表达式

图2 光线方向的追踪

此时,图1通过空气和水界面的多次反射和传递的图示法可能就没什么用了,因为卷积状运算符⊗有复杂的含义(并非此处定义),而且依据P的G的表达式已经创建了一个更加清晰的示意图对P取幂。所以,现在我们不管示意图,而是继续应用一些更具体的量。

在这里提出的正式原理图的讨论,确实有数学和物理上精确对应的事物。对辐射传输领域的研究长久以来已被大量研究人员应用于水的光学中。引用的参考文献是获取更多信息的优秀读物。

如前所述,在某种情况下,可能有一种额外的光能传递情境会对海洋渲染很重要,但我们不会考虑。这种情况在图2有示意。按照箭头所示,追踪行进的方向光线, 我们看到,有时进入水面(从上方或下方)的光线可以不止一次的穿过水面,进行反射和/或透射。大量产生这种行为的条件是:浪高必须相当高,观看海浪的方 向、或光源的方向必须接近水面。海浪越高,越不需要接近光源或相机。这种现象已经通过实验并在计算机上模拟审查通过。

[zz] 海洋环境的光能传递的更多相关文章

  1. 2017-5-22 ASP六大 内置对象

    ASP内置对象:提供内建对象,这些对象使用户更容易收集通过浏览器请 求发送的信息.响应浏览器以及存储用户信息(如用户首选项). 1.Request  --- 获取请求对象 获取通过地址栏传值过来的对象 ...

  2. Lightscape

    Lightscape是一种先进的光照模拟和可视化设计系统,用于对三维模型进行精确的光照模拟和灵活方便的可视化设计. Lightscape是一个光照渲染软件,它特有的光能传递计算方式和材质属性所产生的独 ...

  3. 【Unity】3.3 用3ds Max 2015制作模型并将其导入到Unity

    分类:Unity.C#.VS2015 创建日期:2016-04-05 一.常用三维软件简介 由于游戏引擎本身的建模功能相对较弱,无论是专业性还是自由度都无法同专业的三维软件相比,所以大多数游戏中的模型 ...

  4. 3DSMAX中英文对比大全(从A-Z分类)

    A Absolute Mode Transform Type-in绝对坐标方式变换输入 Absolute/Relative Snap Toggle Mode绝对/相对捕捉开关模式 ACIS Optio ...

  5. 3ds Max从入门到精通

    1. 软件的下载与安装 这里用的是3ds Max2009简体中文版 32位 在 Win7上运行记得打上sp2补丁,不然会有bug. 2. 3ds Max的历史 3ds Max可以用在动画和游戏,点云数 ...

  6. Unity 手机屏幕适配

    ////如有侵权 请联系我进行删除 email:YZFHKM@163.com 1.游戏屏幕适配 屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知 ...

  7. jsp页面间传递参数 中文乱码问题(zz)

      jsp页面间传递参数 中文乱码问题 1.传递参数 var url = "*****Test.jsp?param1="+encodeURI(encodeURI(str));//对 ...

  8. 大叔也说Xamarin~Android篇~Activity之间传递数组

    回到目录 我们在开发应用程序时,不可能只使用一个Layout或者一个Activity,比如你个管理系统,要求用户先登陆然后再使用,这时你至少要有两个activity吧,先登陆一个,然后成功后需要跳到别 ...

  9. Vue基础知识之组件及组件之间的数据传递(五)

    vue中的组件是自定的标签,可以扩展的原生html元素,封装可复用的代码 note: 1.在标签命中不要使用大写,标签名字必须用短横线隔开 2.模板中只能有一个根元素,不能使用并列标签. 定义组件 全 ...

随机推荐

  1. 【Python】使用正则表达式实现计算器练习

    已知有以下这样一个不太友好的公式: 1 - 2 * ( (60-30 +(-9-2-5-2*3-5/3-40*4/2-3/5+6*3) * (-9-2-5-2*5/3 + 7 /3*99/4*2998 ...

  2. Mac下用brew安装nginx

    1. nginx nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TC ...

  3. C#实现自动发送QQ消息

    1.得打开需要发送的聊天窗口,最小化也可,聊天时不能是中文输入法2.然后AIO名就是窗口左上角的那个名称,括号和QQ号不要,那个名称可能是好友备注,群名称,讨论组名称等.3.发送消息要设置成按Ente ...

  4. jquery省市联动,根据公司需求而写

    //author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...

  5. ssh整合--struts

    一 struts(jar+web.xml+struts.xml+Action) 1import min_jars-------struts-2.3.20.3-all(struts2-blank.war ...

  6. 使用qmake构建程序(有关.pro和.vcproj编译选项对应关系)

    houjinxin 为了方便统一构建,准备使用qmake构建所有的vc工程,无论是否使用了Qt库,可是在网上找了几天,有几个选项根本就不知道怎么在pro里面配置,才能生成预期的vcproj文件... ...

  7. js 文本框只能输入数字

    <input type="text" value="" style="ime-mode:Disabled"  onkeyup=&quo ...

  8. Day21_IO第三天

    1.IO体系总图 2.字符流体系图 记忆路线:输入输出流前面加File和Buffered,这就记住6个了,还剩两个转换流名字比较特殊,需要着重记一下(转换流:字节和字符的组合,所以起名字叫InputS ...

  9. 转 git安装配置

    Win7上Git安装及配置过程 一.安装说明 1.Git在windows平台上安装说明. Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 ...

  10. redis-cluster 迁移过程错误记录

    因为集群内的 单点redis消耗 内存达到了14个G,所以需要增加新的节点,并将数据迁移过去,使用 redis-trib reshard ip:port A : 2105slot       14.5 ...