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. REVERSE-极客大挑战-geek2.apk

    嗯 一道apk的题目,题目本身并不是很难,但是我用的python却坑了我小半天...不过在纠错的过程中我也学到了不少东西 链接:http://pan.baidu.com/s/1i5LkJDr  密码: ...

  2. GitHub菜鸟日志1——20160531

    好吧,事实上很早就知道有github这个东西了,然而就有一种莫名的力量一直阻止着我向这“未知的领域”涉足(which is called lazy). 然后,前略...总之,默默的就开始了github ...

  3. Exchange 基本命令累计

    Get-ExchangeServer | fl name,edition,admindisplayversion  //查看exchange服务器版本

  4. MeshDog

    一.TransforMesh 1. CGAL (http://www.cgal.org/download/windows.html#GeneralPrerequisites) 预装软件 1.1 cma ...

  5. HDU5840 (分块+树链剖分)

    Problem This world need more Zhu 题目大意 给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1, ...

  6. 让LinqToSQL使用Web.Config中的链接字符串(修改Settings.Designer.cs)

    [global::System.Configuration.ApplicationScopedSettingAttribute()] [global::System.Diagnostics.Debug ...

  7. 微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书

    微信红包接口调试过程中一直提示“CA证书出错,请登陆微信支付商户平台下载证书”,经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开发的,这里需要三个p ...

  8. Centos 6.7 安装smokeping (最完整教程)

    本教程需要的源码包一并上传了,届时可以直接上传到linux系统里面! 需要编译的fping.echoping.smokeping源码包,链接:http://pan.baidu.com/s/1pL4HL ...

  9. Spike Notes on Lock based Concurrency Concepts

    Motivation 承并发编程笔记Outline,这篇文章专注于记录学习基于锁的并发概念的过程中出现的一些知识点,为并发高层抽象做必要的准备. 尽管存在Doug Lee开山之作Concurrent ...

  10. svm损失函数

    作者:杜客链接:https://zhuanlan.zhihu.com/p/20945670来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. SVM的损失函数定义如下: 举 ...